Cantor, here is a function that I have in one of my applications. You can follow the syntax to get the field names. Just reference the field name by the recordset identifier, such as, RSMT!fieldname. Notice you need the dot notation for constants and method within the recordset. Like RSMT.EOF where field names use ! <br>Hope you find this of value. <br>Jerry<br><br><br>Function GetMeasureColumnName1() As String<br><br> Dim mKey As Integer, RSMT As New Recordset, cnn As ADODB.Connection<br> Dim sql1 As String, sql2 As String, sql3 As String, sql4 As String<br> Dim SqlString As String, CNT As Integer, recCnt As Integer<br> Set cnn = CurrentProject.Connection<br><br> sql1 = "SELECT MeasureName.measureName, MeasureIncrementName.sequenceNumber, "<br> sql1 = sql1 + "MeasureIncrementName.incrementKey "<br> sql1 = sql1 + "FROM MeasureName RIGHT JOIN MeasureIncrementName ON "<br> sql1 = sql1 + "MeasureName.measureNameKey = MeasureIncrementName.measureNameKey "<br> sql1 = sql1 + "WHERE (((MeasureIncrementName.measureKey)= "<br> sql2 = " ) AND ((MeasureIncrementName.incrementKey)= "<br> sql3 = " AND MeasureIncrementName.sequenceNumber = 1));"<br> <br> SqlString = sql1 & glbMeasureTypeKey & sql2 & glbIncrementKey & sql3<br> ''Debug.Print " GetMeasureColumnName1 SQL = "; SqlString<br> <br> RSMT.Open SqlString, cnn, adOpenKeyset, adLockReadOnly<br> <br> If (RSMT.BOF And RSMT.EOF) Then<br> GetMeasureColumnName1 = "No Column 1 record found "<br> RSMT.Close<br> Exit Function<br> End If<br> <br> RSMT.MoveFirst<br> ' Get the Column name<br> GetMeasureColumnName1 = RSMT!measureName<br> <br> RSMT.Close<br><br>End Function<br>