'variables local to frmLookup
Dim db As Database
Dim qd As QueryDef
Dim ds As Dynaset

Sub cmdClose_Click ()
  frmLookup.Visible = False
End Sub

Sub cmdNext_Click ()
  ds.MoveNext
  If Not ds.EOF Then
    DisplayRecord
    Debug.Print "Another record added"
  Else
    Debug.Print "No more records"
    frmLookup.cmdNext.Enabled = False
    ds.MovePrevious
  End If
  frmLookup.cmdPrev.Enabled = True
End Sub

Sub cmdPrev_Click ()
  'see page 383 in language reference for usage
  'of recordset.MovePrevious
  ds.MovePrevious
  'see page 48 of language reference for usage
  'of recordset.BOF property (Beginning Of File)
  If Not ds.BOF Then
    DisplayRecord
    Debug.Print "Another record added"
  Else
    Debug.Print "At first record"
    frmLookup.cmdPrev.Enabled = False
    ds.MoveNext
  End If
  frmLookup.cmdNext.Enabled = True
End Sub

Sub DisplayRecord ()
  frmLookup.txtFirstName.Text = ds("FirstName")
  frmLookup.txtLastName.Text = ds("LastName")
  
  If ds("Address1") <> "" Then
    frmLookup.txtAddress1.Text = ds("Address1")
  Else
    frmLookup.txtAddress1.Text = ""
  End If
  
  If ds("Address2") <> "" Then
    frmLookup.txtAddress2.Text = ds("Address2")
  Else
    frmLookup.txtAddress2.Text = ""
  End If

  If ds("City") <> "" Then
    frmLookup.txtCity.Text = ds("City")
  Else
    frmLookup.txtCity.Text = ""
  End If
  
  If ds("State") <> "" Then
    frmLookup.txtState.Text = ds("State")
  Else
    frmLookup.txtState.Text = ""
  End If
  
  If ds("Zip") <> "" Then
    frmLookup.txtZip.Text = ds("Zip")
  Else
    frmLookup.txtZip.Text = ""
  End If
  
  If ds("Phone1") <> "" Then
    frmLookup.txtPhone1.Text = ds("Phone1")
  Else
    frmLookup.txtPhone1.Text = ""
  End If
  
  If ds("Phone2") <> "" Then
    frmLookup.txtPhone2.Text = ds("Phone2")
  Else
    frmLookup.txtPhone2.Text = ""
  End If
  
End Sub

Sub Form_Load ()
  Debug.Print "Opening database"
  Set db = OpenDatabase("C:\ROLO\ROLO20.MDB")
  Debug.Print "Opening QueryDef"
  Set qd = db.OpenQueryDef("qryLookup")

  qd![Forms!frmLookupCriteria!LastName] = frmLookupCriteria.txtLastName.Text
  qd![Forms!frmLookupCriteria!FirstName] = frmLookupCriteria.txtFirstName.Text
  
  Debug.Print "Now setting ds"
  Set ds = qd.CreateDynaset()

  ' Since we got the dynaset, it's okay to close the QueryDef now
  qd.Close
  DisplayRecord
  Screen.MousePointer = 0 ' Default
  Debug.Print "First record displayed"
End Sub

