Пытаюсь открыть DAO Recordset
- Код: Выделить всё
Set rsDBF = DBFBase.OpenRecordset(strFileName, dbOpenTable)
Где strFileName = "D1231222_2.DBF"
Jet упортно пытается открывать D1231222.DBF, убирая префикс _2.
Подскажите, неужели нельзя этого избежать?
Set rsDBF = DBFBase.OpenRecordset(strFileName, dbOpenTable)
shady писал(а):Поэкспериментировав с именем файла выяснилось что длинна имени файла не может быть более 8ми символов. Надо понимать мою проблему решать придется копированием и переименованием фалов...
Andrey Fedorov писал(а):Не пробовал с длинными именами, но если дело лишь в этом, то всегда можно подсунуть нечто вроде GetShortPathName.
Andrey Fedorov писал(а):А есть еще OLEDB провайдер от FoxPro - он вроде работает покорректней...
shady писал(а):Andrey Fedorov писал(а):А есть еще OLEDB провайдер от FoxPro - он вроде работает покорректней...
Неа. Он с CP866 знаться вообще не желает.
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.Open "Data Source=" & sPath & ";Extended Properties=dBASE IV"
' OEM
cn.Execute "CREATE TABLE tbOEM_23_456 (t TEXT(50))"
cn.Execute "INSERT INTO tbOEM_23_456 (t) VALUES ('Проверочка 1 OEM')"
r.Open "SELECT * FROM tbOEM_23_456", cn, adOpenStatic, adLockReadOnly
Debug.Print r(0)
r.Close
cn.Close
Сейчас этот форум просматривают: Majestic-12 [Bot], Yandex-бот и гости: 84