Формат даты с базой данных Quickpart в Word - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь изменить формат даты в функции базы данных quickpart.

Формат указан на американском языке (мм / д / гггг), но я хочу изменить формат на французском (дд.мм.гггг).

Это мой код:

БАЗА ДАННЫХ \ d "C: \ Users \ taagede1 \ Dropbox \ Samaritains \ Soldes et indemnités \ 2018 \ Total soldes.xlsx" \ c "Поставщик = Microsoft.ACE.OLEDB.12.0; ID пользователя = Администратор; Источник данных = C: \ Users \ taagede1 \ Dropbox \ Samaritains \ Soldes et indemnités \ 2018 \ Total soldes.xlsx; Режим = Чтение; Расширенные свойства = \ "HDR= YES; IMEX = 1; \ "; Jet OLEDB: системная база данных = \" \ "; Jet OLEDB: путь в реестре = \" \ "; Jet OLEDB: тип ядра = 37; Jet OLEDB: режим блокировки базы данных = 0; JetOLEDB: глобальные частичные операции = 2; Jet OLEDB: глобальные массовые транзакции = 1; Jet OLEDB: новый пароль базы данных = \ "\"; Jet OLEDB: создать системную базу данных = False; Jet OLEDB: зашифровать базу данных = False; Jet OLEDB:Не копировать локаль на Компакт = Ложь; Jet OLEDB: Сжатие без восстановления реплик = Ложь; Jet OLEDB: SFP = Ложь; Jet OLEDB: Поддержка сложных данных = Ложь; Jet OLEDB: Обход UserInfo Validation = False; Jet OLEDB: ограниченное кэширование в БД = False; Jet OLEDB: обход проверки проверки ChoiceField = False "\ s" SELECT Quoi, Date, Heure Début, Heure Fin, Total ОТ Engagements$ ГДЕ((NomPrenom = 'AubortLoic') И (Payé НЕДЕЙСТВИТЕЛЕН)) ЗАКАЗАТЬ НА Date "\ l" 26 "\ b" 191 "\ h

Это результат:

enter image description here

Я пытался добавить это:

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

Но у меня очень неприятный результат (все глючит)

1 Ответ

0 голосов
/ 10 декабря 2018

Драйвер OLEDB для Excel (и 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].

...