Страницы: 1
RSS
Преобразовать текст в дату Microsoft Query - Excel
 
Всем, здравствуйте. Делаю Excel  запрос из Microsoft Query из Excel Files. В источнике "Даты.xls" даты записаны в виде текста. Скажите как в запросе, в инструкции SQL, преобразовать текст в дату.
Код
SELECT `TDSheet$`.`Дата ПЛ` AS 'Дата'
FROM `F:\Даты.xls`.`TDSheet$` `TDSheet$`
Пробовал TO DATE, CAST и CONVERT. Пишет "Неопределенная функция 'TO DATE' в выражении."
Записал макрорекордером
Код
Sub Запрос()
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "ODBC;DSN=Excel Files;DBQ=F:\Даты.xls;DefaultDir=F:;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandText = Array( _
        "SELECT `TDSheet$`.`Дата ПЛ` AS 'Дата'" & Chr(13) & "" & Chr(10) & "FROM `F:\Даты.xls`.`TDSheet$` `TDSheet$`" _
        )
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Таблица_Запрос_из_Excel_Files"
        .Refresh BackgroundQuery:=False
    End With
End Sub
Может можно сделать через VBA? Кросс
Изменено: agregator - 08.02.2018 11:54:59
Excel всемогущий.
 
Доброе время суток.
Если локаль российская, то достаточно
Код
CDate(`TDSheet$`.`Дата ПЛ`) AS 'Дата'

Успехов.
 
Просто СDate
SELECT Cdate(`TDSheet$`.`Дата ПЛ`) AS 'Дата'
FROM `C:\temp\Даты.xls`.`TDSheet$` `TDSheet$`
Изменено: БМВ - 08.02.2018 12:16:05
По вопросам из тем форума, личку не читаю.
 
Андрей VG и БМВ, большое спасибо за ваши знания, Cdate() то что надо. Ещё сработала функция datevalue(). Фукция для перевода текста в число CInt().
Excel всемогущий.
Страницы: 1
Наверх