Тема: Работа с базами Access(выбор информации)

Народ помогите!!!
Подключаюсь к базе (mdb)и пытаюсь заполнить combobox данными, полученными из базы sql запросом и наткнулся на такой нюанс. При попытке выбрать инфу из числовых полей таблицы вылезает следующая ошибка
Run-time error '-2147467250(80004005)
"Method 'Open' of object '_Recordset' failed",
Информация из текстовых полей добавляется в контролы без проблем
Как решить эту проблему ?

Re: Работа с базами Access(выбор информации)

Cstr() ?

Re: Работа с базами Access(выбор информации)

в таком варианте не помогло sad

Private Sub UserForm_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String, cmd As String, qwe As String
Dim asd As Integer
cmd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\InOut\Etal.mdb;"
sql = "select Contaktor.Current from Contaktor"
Set cn = New ADODB.Connection
With cn
    .ConnectionString = cmd
    .Open
    Set rs = New ADODB.Recordset
With rs
    .Open sql, cmd, adOpenDynamic, adLockReadOnly
    Do While Not .EOF
            asd = rs!Current
            qwe = CStr(asd)
            ComboBox1.AddItem qwe
           .MoveNext
    Loop
            .Close
            End With
            Set rs = Nothing
    .Close
    End With
Set cn = Nothing
End Sub

Re: Работа с базами Access(выбор информации)

Попробуй так:

With rs
     .ActiveConnection = cn
    .Open sql, , adOpenDynamic, adLockReadOnly

Re: Работа с базами Access(выбор информации)

> Dmi3i4
Тут подход нужон мякше :)

Private Sub UserForm_Initialize()
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
sql = "SELECT Current FROM Contactor"
Set con = New ADODB.Connection
With con
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open "D:\InOut\Etal.mdb"
End With
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseServer
rs.Open Source:=sql, ActiveConnection:=con, CursorType:=adOpenForwardOnly, LockType:=adLockOptimistic, Options:=adCmdText
Dim myVar()
Dim i
myVar = rs.GetRows
For i = 0 To UBound(myVar, 2)
ComboBox1.AddItem myVar(0, i)
Next
UserForm2.Show
rs.Close
con.Close
End Sub

P.S. Проверено на базе размером 50Mb
AutoCAD 2005, Office 2003
~'J'~

Re: Работа с базами Access(выбор информации)

> LeonidSN
Прекрасно, тоже работает
~'J'~

Re: Работа с базами Access(выбор информации)

> LeonidSN

> Fatty
Попробовал Ваши варианты, но все та же ошибка
Run-time error '-2147467250(80004005)
"Method 'Open' of object '_Recordset' failed"
Замечу что мой код благополучно работает если поля текстовые, проблемы вылезают при попытке выбрать данные из числовых полей.
Может быть что то не подключил в refernce ?

Re: Работа с базами Access(выбор информации)

> Dmi3i4
Обычные библиотеки +
Microsof Office
Microsoft Access
Microsoft ADO Ext. 2.8 For DLL and Security
Microsoft Activex Data Objects 2.8 Type Library
Microsof Scripting RunTime
Надеюсь поможет,
~'J'~

Re: Работа с базами Access(выбор информации)

> Fatty
не помогло :(
код отказывается работать с числовыми полями

Re: Работа с базами Access(выбор информации)

В SQL-запросе в конце поставьте ";" - может, спасет. Вопрос в том, в каком месте ошибка.

Re: Работа с базами Access(выбор информации)

Проблема оказалась в названии поля таблицы БД Current - которое, судя по всему оказалось зарезервированным, что и приводило к ошибке. Изменил название поля и всё заработало.
Всем СПАСИБО за помощь!!!

Re: Работа с базами Access(выбор информации)

А у меня пишет ошибку Не выполнена проверка подлинности? что это может быть