Макросом получаются данные из файлов dbf. Нужно в запросе преобразовать дату и число в текст.
То, что советуется в интернетах - использовать операторы format (а также convert, cast и др.) - не помогает. Выскакивает ошибка [Microsoft][ODBC Visual FoxPro Driver]File 'format.prg' does not exist.
Драйвер подключения поменять не получается, т.к. прочие драйвера выдают ошибку Внешняя таблица не имеет предполагаемый формат.
Пока выкручиваюсь тем, что данные запроса загоняются в массив и там уже преобразуются. Но это усложняет код VBA и не всегда получается сделать быстро.
Как в самом запросе преобразовать дату или число в текст?
То, что советуется в интернетах - использовать операторы format (а также convert, cast и др.) - не помогает. Выскакивает ошибка [Microsoft][ODBC Visual FoxPro Driver]File 'format.prg' does not exist.
Драйвер подключения поменять не получается, т.к. прочие драйвера выдают ошибку Внешняя таблица не имеет предполагаемый формат.
Пока выкручиваюсь тем, что данные запроса загоняются в массив и там уже преобразуются. Но это усложняет код VBA и не всегда получается сделать быстро.
Как в самом запросе преобразовать дату или число в текст?
Код |
---|
Set cnn = New ADODB.Connection strCnnString = "Driver={Microsoft Visual FoxPro Driver};DriverID=277;UID=;PWD=;" & _ "SourceDB=D:\Mybase;SourceType=DBF;Exclusive=No;" & _ "BackgroundFetch=Yes;Collate=Machine;Null=no;Deleted=Yes;" cnn.Open strCnnString Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient sqlString = "SELECT date, doc, cena FROM mydbf" ' здесь надо бы сразу получить date и cena как строку (текст) Set rst = cnn.Execute(sqlString) |