Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Строка подключения ODBC. Драйвер не поддерживает данной функции / 5 сообщений из 5, страница 1 из 1
11.12.2009, 06:51
    #36360284
tolikt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка подключения ODBC. Драйвер не поддерживает данной функции
Есть код VBA, который добавляет записи в dbf-файлы рабочей базы. Код давнишний, на Windows 98 – Excel 97 работает. При переносе на другой компьютер с Windows 98 – Excel 97 тоже работает. Но на Windows XP – Excel 2003 работать не хочет.

Сам код. На всякий случай весь, хотя ошибка вылезает в самом начале
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Dim cnn As ADODB.Connection
Dim strCnnString As String
Dim rst As ADODB.Recordset
Dim sqlString As String
Dim Data As Variant
Dim DirPath As String

DirPath = "D:\MyBase"

Set cnn = New ADODB.Connection
' Строка подключения ODBC.
Set cnn = New ADODB.Connection
strCnnString = "Driver={Microsoft Visual FoxPro Driver};DriverID=277;UID=;PWD=;" & _
"SourceDB=" & DirPath & ";SourceType=DBF;Exclusive=Yes;" & _
"BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;" 'Machine
cnn.Open strCnnString ' НА ЭТОЙ СТРОКЕ ВЫЛЕТАЕТ ОШИБКА

' Используем метод Execute для создания набора записей.
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient

sqlString = "INSERT INTO mydbf (……)" ' Тут sql-строка для вставки данных

Set rst = cnn.Execute(sqlString)
' If rst.EOF Then
' Else
' Data = rst.GetRows
' End If
' rst.Close
' Set rst = Nothing
cnn.Close
Set cnn = Nothing
Если строку подключения использовать в виде
strCnnString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & DirPath & ";"
то ошибки не появляется, но… там возникает проблема с кодировкой символов, которую решать уж больно муторно….

В прилагаемом файле: Рис.1 – сама ошибка
далее: то, на что хватает моих знаний: рисунок состояния References и Option->General из Tools в VBA-редакторе.

Где и что надо подкрутить, чтоб заработало?
...
Рейтинг: 0 / 0
11.12.2009, 07:52
    #36360315
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка подключения ODBC. Драйвер не поддерживает данной функции
может есть возможность выложить файлик dbf хотя бы с одной записью
и с тем самым текстовым полем зависящим от кодировки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim sFolder As String:          sFolder = App.Path
    Dim sTable_ As String:          sTable_ = "base_fox"    ' base_fox.dbf
    
    Dim cnn As ADODB.Connection:    Set cnn = New ADODB.Connection

    cnn.Provider = "VFPOLEDB.1"
    cnn.Properties("Data Source") = sFolder   ' или   sFolder & "\" & bas_fox.dbc
    cnn.Open
    cnn.Execute "INSERT INTO  " & sTable & " VALUES ('текст','другой текст')"
    cnn.Close
...
Рейтинг: 0 / 0
11.12.2009, 11:10
    #36360724
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка подключения ODBC. Драйвер не поддерживает данной функции
tolikt, во-первых, Фокспро-драйвер и DBase-драйвер это совершенно разные драйвера для доступа к dbf-таблицам Фокспро или DBase. Вы определитесь, с какими таблицами вы работаете.
Во-вторых ,получаемое вами сообщение может говорить о том, что на этом компьютере драйвер, который вы используете в строке подключения, отсутствует.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
08.11.2011, 23:04
    #37517143
tolikt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка подключения ODBC. Драйвер не поддерживает данной функции
Приходится иметь дело с Microsoft Visual FoxPro Driver.
А что сделать, чтоб он работал? Отдельно как-то устанавливать или просто что-то подключить в Excel?
...
Рейтинг: 0 / 0
09.11.2011, 01:26
    #37517281
Casper =
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Строка подключения ODBC. Драйвер не поддерживает данной функции
tolikt,
Ностальгия ? или "дыры" во времени ?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Строка подключения ODBC. Драйвер не поддерживает данной функции / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]