I want to extract data from a specific column in a grid control. When the user selects a record in the grid, I want to take the data from the first column of that record and use it in a recordset that opens another form. Should there be a property-like selected item?
The data grid acts like other spreadsheet applications. It recognizes which cell is active by the corresponding column and row set in the col and row properties. When you select a cell or row you are, in effect, changing the row and col properties.
In order to access the text of the column, you need to explicitly designate which column contains your data, and then use the Text property of the data grid. The text property corresponds to the text contained in the cell defined by row and col.
So the following code will display the text of the first row:
DataGrid1.Row = 0 ' Rows start at zeroMsgBox DataGrid1.Text
The next trick you have to perform is choosing the correct event to trigger your action. From your question I thought perhaps you’d just want the user to click on a row to fire the event. To do this, I would suggest using the RowColChange event like the following:
Private Sub DataGrid1_RowColChange(LastRow As _Variant, ByVal LastCol As Integer) If Not IsEmpty(LastRow) Then DataGrid1.Col = 0 MsgBox DataGrid1.Text End IfEnd Sub