【发布时间】:2014-07-12 20:32:18
【问题描述】:
我有一个 access 2010 数据库,它是一个 access 2007 数据库。它使用网络服务器上的第二个数据库。
我在 windows 7 32bit 上开发。
下面是我继承的代码...
我遇到的问题是,虽然数据集绑定到组合框 (Combo96) 对我来说在“开发模式”和“运行模式”下都很好,而且在另一台 Windows 7 32 位机器和另一台 Windows 7 上也可以正常工作64位机器。它拒绝在一台 Windows 32 位机器上工作。
我猜它的引用有问题?我所知道的目标(失败)机器是windows 7,它有access 2010运行时,它可能有access 2007或access 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")Set LoadRibbonsConnection = CreateObject("ADODB.Connection")。如果这是版本问题,这里有一些 documentation 可能适用 -
我发现问题是在安装 Access 2007 运行时出现的。知道冲突可能在哪里,除了卸载 Access 2007 运行时是否可以修复它???
-
不确定,是否同时安装了 2007 和 2010?当您延迟绑定(上面的 CreateObject 代码)连接和记录集时,它仍然会中断吗?中断时它会通过电子邮件向您发送什么错误?
-
它似乎并不关心后期绑定。
-
我发现如果我在“打开方式”中选择“其他”访问运行时,那么它就可以工作......我想这只是一些访问脆弱......
标签: vba ms-access-2007 ms-access-2010 ado dao