【发布时间】:2014-10-30 15:22:13
【问题描述】:
我刚开始使用这个数据库,我遇到了一个小问题。 所以这背后的主要思想是使用 VBA 从数据库中获取我以后可以使用的所需信息。 我正在使用 ADO 记录集并连接 sting 以连接到服务器。除了一个问题之外,一切都很好:当我使用 SQL 请求创建 RecordSet 时,它只返回一个字段,而我知道我应该有更多。目前,我认为 RecordSet 只是获取第一个结果并将其存储在其中,但会丢失应该存在的任何其他内容。你能帮帮我吗?
这是我的代码:
'Declare variables'
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Dim fldEach As ADODB.Field
Dim OrderNumber As Long
OrderNumber = 172783
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=Local;" & _
"Initial Catalog=SQL_LIVE;"
objMyConn.Open
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "SELECT fldImage FROM tblCustomisations WHERE fldOrderID=" & OrderNumber
objMyCmd.CommandType = adCmdText
'Open Recordset'
Set objMyRecordset.Source = objMyCmd
objMyRecordset.Open
objMyRecordset.MoveFirst
For Each fldEach In objMyRecordset.Fields
Debug.Print fldEach.Value
Next
目前 Debug 只返回一个结果,而它应该返回两个结果,因为有两行具有相同的 OrderID。
【问题讨论】: