2

我尝试在 quickpart 数据库函数中更改日期格式。

格式为美式(mm/d/yyyy),但我想更改为法语格式(dd.MM.yyyy)。

这是我的代码:

数据库 \d "C:\Users\taagede1\Dropbox\Samaritans\Soldes et indemnités\2018\Total soldes.xlsx" \c "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\ Users\taagede1\Dropbox\Samaritans\Soldes et indemnités\2018\Total soldes.xlsx;Mode=Read;Extended Properties=\"HDR=YES;IMEX=1;\";Jet OLEDB:System database=\"\"; Jet OLEDB:Registry Path=\"\";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:新数据库密码=\"\";Jet OLEDB:创建系统数据库=False;Jet OLEDB:加密数据库=False;Jet OLEDB:不要在 Compact=False 上复制区域设置;Jet OLEDB:Compact without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:支持复杂数据=False;Jet OLEDB:绕过 UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" \s "SELECTQuoi, Date, Heure Début, Heure Fin, TotalFROM Engagements$WHERE (( NomPrenom= 'AubortLoic') AND ( PayéIS NULL )) ORDER BY Date" \l "26" \b "191" \h

这是结果:

在此处输入图像描述

我试图添加这个:

{ DATABASE [\@ "dd.MM.yyyy"] \* MERGEFORMAT }

但我有一个非常丑陋的结果(全是越野车)

4

1 回答 1

1

Excel 的 OLEDB 驱动程序(和 Access - 它是同一个)支持有限数量的函数,这些函数可以通过Select查询在数据上使用,其中包括Format. 它与同名的 VBA 函数类似,但并不完全相同。

在我的测试中,以下Select短语有效(从Database字段代码中提取以获得更好的可见性):

 \s "SELECT Quoi, Format([Date], 'dd.MM.yyyy') AS FrDate, Heure
  Début, Heure Fin, Total FROM Engagements$ WHERE ((NomPrenom = 'AubortLoic') AND (Payé IS NULL )) ORDER BY Date

请注意,日期格式是单引号,而不是双引号。您可以使用任何别名(列标题),除了另一个字段名称。所以它不可能是Date数据源中的字段名称。可能是Le Date,但在这种情况下,由于空格,它必须放在方括号中:[Le Date].

于 2018-12-09T22:47:43.073 回答