**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我正在尝试用access数据库中的数据填充组合框。
Sub diesupdate()
Dim conn As ADODB.Connection
Dim myRecordset As ADODB.Recordset
Dim strConn As String
Dim strSQL As String
Dim strRst As String
strSQL = "SELECT * FROM dies"
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;"
strConn = strConn & "Data Source =..\Database.accdb"
Set conn = New ADODB.Connection
conn.ConnectionString = strConn
conn.Open
Set myRecordset = New ADODB.Recordset
With myRecordset
.ActiveConnection = conn
.CursorLocation = adUseClient
.LockType = adLockBatchOptimistic
.CursorType = adOpenStatic
.Open strSQL, , , , adCmdText
End With
Set conn = Nothing
Sheet1.diesbox.Clear
i = 0
While Not myRecordset.EOF
Sheet1.diesbox.AddItem
Sheet1.diesbox.List(i, 0) = myRecordset.Fields(1).Value
Sheet1.diesbox.List(i, 1) = myRecordset.Fields(3).Value
myRecordset.MoveNext
i = i + 1
Wend
当我从myRecordset.Fields(1)到myRecordset.Fields(2)获取值时,它们返回正确的值。除了这些字段之外,我尝试获取的任何字段的结果都仅返回0。请帮助
1条答案
按热度按时间fhg3lkii1#
说我笨吧。我刚刚意识到我没有在添加其他字段的数据后保存数据库。代码正在获取只填充了三个字段的数据库。上面的代码工作正常。