Microsoft KB Archive/210612

= ACC2000: Parameter Query Returns No Records with Replication ID Field =

Article ID: 210612

Article Last Modified on 11/21/2002

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q210612



This article applies only to a Microsoft Access database (.mdb).

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

For a Microsoft Access 2002 version of this article, see 291958.



SYMPTOMS
When you supply a GUID value as a criteria in a query field that is based on an AutoNumber field that is set to a Replication ID, no fields are returned. You might see this if you reference a form field that contains the Replication ID in the Criteria row of the query.



CAUSE
The Datasheet view of a table/query that contains a field of data type AutoNumber (with its FieldSize property set to ReplicationID) is returning/displaying the ReplicationID as type String, instead of a GUID (Byte array).



RESOLUTION
You can return the correct records by converting the GUID being supplied as a criteria to a string. The following demonstrates how to use the Parameters dialog box to force a form field reference to be converted to a string in the query criteria.  Complete the steps in the "Steps to Reproduce Problem" section in the "More Information" section. Open the Query1 query in Design view. On the Query menu, click Parameters, and in the Parameter box, type the following:

[Forms]![Form1]![Field1]

 In the Data Type box, enter Text, and then click OK. With the Form1 form open and displaying the first record, run the Query1 query.</ol>

<div class="status_section">

STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

<div class="moreinformation_section">

MORE INFORMATION
The reference to a parameter (for example, a form's control) is returning the actual Byte array (GUID) value of the Replication ID instead of the structured text format of the GUID.

Steps to Reproduce Problem
<ol> Open the sample database Northwind.mdb.</li> Create the following new table:

</li> Close and save the table as Table1. Click No when prompted to create a primary key.</li> Use the Autoform: Columnar Wizard to create a new form based on the Table1 table.</li> Type some text in Field2 so that a new Replication ID is generated for this first record.</li> On the Records menu, click Save Record (stay on this new record; do not move to a new, blank record).</li> Save the form as Form1, but do not close the form.</li> Create a new query based on the Table1 table, setting it up as follows:

</li> Save the query as Query1, and then run the query. Note that no records are returned, even though the form's current record contains a Replication ID that exists in the table.</li></ol>

<div class="references_section">