Search code examples
c#vbadaorecordset

DAO difference between C# and VBA RecordSets


In VBA I might have something like this:

    Dim recordSet As DAO.recordSet  
    result = recordSet("Column Name")

Im trying to do the same thing in C#, However

    result = recordSet("Column Name");

wouldnt work because C# uses square brackets for collections. But this doesnt seem to work either:

    result = recordSet["Column Name"];

Any ideas on the C# equivalent of the above VBA code?

EDIT: Here is the full VBA code Im trying to convert to put it into context

Public Function GetColumnValues( _
                                 database As database, _
                                 column As String, _
                                 table As String _
                               ) As String()

Dim sqlQuery As String
Dim recordSet As DAO.recordSet
Dim recordCount As Integer
Dim results() As String

sqlQuery = "SELECT [" + table + "].[" + column + "]" & _
           "FROM [" + table + "];"


Set recordSet = database.OpenRecordset(sqlQuery)
recordSet.MoveLast             
recordSet.MoveFirst
recordCount = recordSet.recordCount

ReDim results(recordCount) As String

For i = 1 To recordCount
    results(i) = recordSet(column)
    recordSet.MoveNext
Next i

recordSet.Close

GetColumnValues = results

End Function

Solution

  • result = recordSet.Fields["Column Name"].Value;