> >Add a ListBox and make its visible property to False. > > >'Add this code to the form declaration > >Option Explicit >Dim intColIdx As Integer > 'This will contain the index for the current cell in the dbgrid >Dim blnListShow As Boolean 'is the list showing or not > > >Private Sub DBGrid1_ButtonClick(ByVal ColIndex As Integer) >Dim intTop As Integer >intColIdx = ColIndex >If blnListShow = False Then 'if the list is not showing then... >blnListShow = True >List1.Left = DBGrid1.Columns(ColIndex).Left + 360 >intTop = DBGrid1.Top + (DBGrid1.RowHeight * (DBGrid1.Row +2)) > List1.Top = intTop > List1.Width = DBGrid1.Columns(ColIndex).Width + 15 > List1.Visible = True > List1.SetFocus >Else 'if the list is show, hide it > blnListShow = False > List1.Visible = False >End If >End Sub > > > Private Sub Form_Load() > blnListShow = False 'initialize > End Sub > > Private Sub List1_Click() >DBGrid1.Columns(intColIdx).Text = List1.Text > 'set the value of the dbgrid > List1.Visible = False 'hide the list > End Sub > > Private Sub List1_LostFocus() > blnListShow = False > List1.Visible = False > End Sub >Thanks very much for this. This code does help me a great deal, but does not quite do what is required (I don't think). While the code will show a combo box when the cell is clicked on in the grid, the cell value will show the actual record field contents rather than the full text that this corresponds to. I am sure that there will be a way for me to do this too, so I'll keep trying.