据我了解,如果我想从记录集中提取数据,这段代码就足够了:strFirstName = rstEmployees!FirstName其中 rstEmployees 是记录集,FirstName 是列名。但是,我想知道如何更抽象地执行此操作,并使用字符串变量名称而不是 FirstName,以便我可以更改此变量并获得不同的结果。
2 回答
1
使用Fields集合并传递您的变量:
= rstEmployees.Fields(strFirstName).Value
于 2020-09-01T08:01:00.177 回答
0
如果我正确理解了这个问题,您可以使用带有字段名或数组索引的Fields属性作为键。https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/fields-collection-ado?view=sql-server-ver15Recordset
示例代码:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
'A sample recordset.
With rs.Fields
.Append "id", adInteger
.Append "first_name", adVarChar, 50
.Append "last_name", adVarChar, 50
End With
rs.Open
rs.AddNew Array("id", "first_name", "last_name"), Array(1, "John", "Doe")
'Accessing the fields.
Debug.Print "Literal: " & rs!first_name
Debug.Print "String: " & rs.Fields("first_name").Value
Debug.Print "Abbr. code: " & rs("first_name")
rs.Close
于 2020-09-01T06:04:04.753 回答