ACC2000: Form's Controls Empty after Recordset.Requery

ID: Q223222


The information in this article applies to:

Moderate: Requires basic macro, coding, and interoperability skills.

This article applies to a Microsoft Access database (.mdb) and a Microsoft Access project (.adp).


SYMPTOMS

If you use the Requery method of the Recordset object to requery a form, you no longer see all the records in the form. If you are using a Microsoft Access database, you find that the first record is the only record appearing in the form. If you are using a Microsoft Access Project, "Name?" appears in all the fields and you can no longer see any records in that form. In either case, the form does not show all records, but the records themselves are unharmed.


RESOLUTION

Do not use the Requery method of the Recordset object to requery a form; instead, reset the RecordSource property.

For example, if your code reads


Form1.Recordset.Requery 
change it to:

' Clear the RecordSource property
Form1.RecordSource = ""
Form1.RecordSource = "<FieldName>" 
where <FieldName> is the name of the record source.


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Steps to Reproduce Behavior

CAUTION: Following the steps in this example will modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and perform these steps on a copy of the database.

  1. Open the sample Access database file, Northwind.mdb, or the sample Access Project file, NorthwindCS.adp.


  2. Open the Categories form.


  3. Add a command button to the form with the following properties:


  4. 
       Command button
       --------------------------
       Name: RequeryRec
       Caption: Requery Recordset 
  5. Set the OnClick property of the new RequeryRec button to the following event procedure:


  6. 
    Private Sub RequeryRec_Click()
       Me..RecordSource = ""
       Me.RecordSource = "Categories"
    End Sub 
  7. View the form in form view and click the RequeryRec button two times.

    If you are in the Access database file, Northwind.mdb, note that the first record appears normal. However, you cannot navigate to any other records. The Navigation bar displays the record count as "Record 1 of 1.".

    If you are in the Access Project file, NorthwindCS.adp, note that "?Name" appears in all the fields. The Navigation bar displays the record count as "Record 1 of 1.".



REFERENCES

For more information about the Requery method, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type "Requery method" in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

Additional query words: pra Name?


Keywords          : kbdta 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: July 6, 1999