0

据我了解,如果我想从记录集中提取数据,这段代码就足够了:strFirstName = rstEmployees!FirstName其中 rstEmployees 是记录集,FirstName 是列名。但是,我想知道如何更抽象地执行此操作,并使用字符串变量名称而不是 FirstName,以便我可以更改此变量并获得不同的结果。

4

2 回答 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 回答