Okay,

so here's my problem.
I have a MS Hierarchical Flex Gird Control [fgdCompany] which is used to display records that are taken from a database. Everything works great but not the Delete button. What the delete button is supposed to do is when a record is selected in fgdCompany, it is supposed to delete that current record. But the problem is, it always deletes the first record in the fgdCompany. Not the record that is selected in fgdCompany. What I am doing wrong? Please help me debug this error!!!!

Code used by me for the Delete button is given below :

Code:
 Dim rsCompany As New ADODB.Recordset
  Dim cn As New ADODB.Connection
  Dim strSQL As String
  
  cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                        "Data Source=" & App.Path & "\Sample.mdb;" & _
                        "Persist Security Info:False"
                                            
  cn.Open
  strSQL = "SELECT [Company].* FROM [Company]"
  rsCompany.Open strSQL, cn, adOpenStatic, adLockPessimistic
  
  If rsCompany.RecordCount > 0 Then
    msg = MsgBox("Delete Record?", vbYesNo)
    If msg = vbYes Then
      rsCompany.Delete
      rsCompany.MovePrevious
      If rsCompany.EOF Then
        rsCompany.MovePrevious
      ElseIf rsCompany.BOF Then
        rsCompany.MoveNext
      End If
      If rsCompany.EOF And rsCompany.BOF Then
        txtName = ""
        txtAddress = ""
        txtTelephoneNo = ""
        txtVehiclesReg = ""
        Exit Sub
      End If
    End If
    If rsCompany.Fields("Company Name") <> "" Then
      txtName = ""
    End If
    If rsCompany.Fields("Address") <> "" Then
      txtAddress = ""
    End If
    If rsCompany.Fields("Telephone Numbers") <> "" Then
      txtTelephoneNo = ""
    End If
    If rsCompany.Fields("Vehicles Registered") <> "" Then
      txtVehiclesReg = ""
    End If
  ElseIf rsCompany.RecordCount = 0 Then
    txtName = ""
    txtAddress = ""
    txtTelephoneNo = ""
    txtVehiclesReg = ""
    MsgBox "No records to be deleted."
  End If
  
  Set fgdCompany.DataSource = rsCompany
  
  If rsCompany.RecordCount <> 0 Then
    rsCompany.Update
  End If