Microsoft KB Archive/198648

= ACC2000: "Type Mismatch" Error When Comparing Bookmarks =

Article ID: 198648

Article Last Modified on 6/29/2004

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q198648



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



SYMPTOMS
When you compare a recordset's bookmark with a Variant or String variable, you may receive the following error message:

Run-time error '13:'

Type Mismatch

This error message can also occur when you compare a recordset's bookmark to the RecordsetClone of, for example, a form's record source.



RESOLUTION
Use the StrComp function to compare a Variant or String variable to a bookmark, or to compare a bookmark against a bookmark. The third argument for the StrComp function must be set to a value of 0 (zero).

For example, the following code tests to see if a form is displaying its last record by first cloning the record source of the form, moving to the last record within the cloned recordset, and then testing to see if the last record within the cloned recordset matches the record currently displayed on the form:

NOTE: The sample code in this article uses Microsoft Data Access Objects. For this code to run properly, you must reference the Microsoft DAO 3.6 Object Library. To do so, click References on the Tools menu in the Visual Basic Editor, and make sure that the Microsoft DAO 3.6 Object Library check box is selected.

Dim RS As DAO.Recordset Set RS = Me.RecordsetClone RS.MoveLast If StrComp(Me.Bookmark, RS.Bookmark, 0) = 0 Then MsgBox "Form is displaying the last record." End If



Steps to Reproduce Behavior
 Open the sample database Northwind.mdb, and open the Customers form in Design view.  Set the Customers form's OnCurrent property to the following event procedure: Dim RS As Recordset Set RS = Me.RecordsetClone RS.MoveLast If Me.Bookmark = RS.Bookmark Then MsgBox "Form is displaying the last record." End If                    Click Form on the View menu. Note that Microsoft Access displays the following error message:

Run-time error '13:'

Type mismatch

  Click the Debug button. Note that Microsoft Access highlights the line of code where the type mismatch occurs. The line of code is: If Me.Bookmark = RS.Bookmark Then 

