У меня есть база данных доступа 2010, которая была базой данных доступа 2007 года. Он использует вторую базу данных на сетевом сервере.Ms Access 2010 Recordset не привязывается к combobox на некоторых машинах
Я развиваюсь в Windows 7 32bit.
Ниже приведен код, я унаследовал ...
Проблема, которую я имею, что в то время как набор данных связывается с комбобоксе (Combo96) просто отлично для меня в «режиме развития» и в «режиме запуска» и он также работает нормально еще с Windows 7 32-битной машиной и еще одним Windows 7 64-битным машином. Он отказывается работать на одном оконном 32-битном компьютере.
Я предполагаю, что это проблема со ссылками? Все, что я знаю о целевой (неудачной) машине, это то, что это Windows 7, у нее есть среда выполнения Access 2010, она может иметь доступ к 2007 году или доступ к среде выполнения 2007, у меня нет способа узнать.
Я добавил код внизу, который берет набор данных и копирует его в поле со списком. Это работает отлично на всех машинах, но занимает значительно больше времени.
Любые идеи, почему набор данных не привязывается к combo96 на некоторых машинах?
On Error GoTo err_hand
Dim SearchStr As String
Dim oRec As ADODB.Recordset
Combo96.RowSource = ""
txtSearch.SetFocus
SearchStr = Trim(txtSearch.text)
Set oRec = New ADODB.Recordset ' [Client Number],
strQuery = "SELECT replace(replace([Company],"","",""""),"":"","""") as [Companys] FROM tblClient where company <> '' ORDER BY [Company] "
oRec.Open strQuery, Load_ribbon.get_Connection, adOpenKeyset, adLockOptimistic
Me.Combo96.RowSourceType = "Table/Query"
Set Me.Combo96.Recordset = oRec
oRec.Close
err_endit:
Set oRec = noting
Exit Sub
err_hand:
Call sendReport.SendErrorDetail("CMP-0701-" & Erl, "Can't Read [Clients] Data SRC-" & SearchStr & "-" & Err.Description & "-" & Err.Number)
' Here comes some Cheese!!!!
On Error GoTo Skippy
' Bounding probably failed Try manual
If Not (oRec Is Nothing) Then
If oRec.RecordCount > 0 Then
If oRec.RecordCount > 1000 Then
MsgBox ("Too amany records found please be more specific")
Else
Me.Combo96.RowSourceType = "Value List"
oRec.MoveFirst
Do While Not RS.EOF
Me.Combo96.AddItem RS![Company]
oRec.MoveNext
Loop
End If
End If
End If
Resume err_endit
Skippy:
MsgBox ("Run-Time Error CMP-0702-" & Erl & " Can't Read [Clients] Data")
Call sendReport.SendErrorDetail("CMP-0702-" & Erl, "Can't Read [Clients] Data SRC-" & SearchStr & "-" & Err.Description & "-" & Err.Number)
Resume err_endit
Что происходит, когда вы пытаетесь запоздать связать соединение и набор записей? т.е. 'Set oRec = CreateObject (" ADODB.Recordset ")' 'Установить LoadRibbonsConnection = CreateObject (" ADODB.Connection ")'. Вот несколько [документации] (http://support.microsoft.com/kb/2517589), которые могут быть применимы, если это проблема с версией. –
. Я обнаружил, что проблема возникает, когда установлена время выполнения Access 2007. любая идея, где конфликт может быть, и если я могу исправить это, кроме как отключить время доступа Access 2007 ??? – GDutton
Не уверен, установлен ли он как на 2007 год, так и на 2010 год? Разве это все еще ломается, когда вы поздно связываете (код CreateObject выше) соединение и набор записей? Какая ошибка отправляется вам по электронной почте, когда она ломается? –