I have created a form that is used for report printing. I have some fields that require entered information that won't be saved in the database. Can I do this?

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

I found the "Exact Form" option which would be perfect, but when I downloaded the template I got a message to insert a Smart Card (which I don't have). I cancelled that message and the Visual Basic window opens with the message "Compile error: The code in this project must be updated for use on 64-bit systems. Please review and update Declare statements and then mark them with the PtrSafe attribute."

The compiler highlights this section:

Private Declare Function CoCreateGuid Lib _
 "OLE32.DLL" (pGuid As GUID) As Long
Private Declare Function StringFromGUID2 Lib _
 "OLE32.DLL" (pGuid As GUID, _
 ByVal PointerToString As Long, _
 ByVal MaxLength As Long) As Long

I fixed that problem and am now getting a "Compile error: Type mismatch" for the keyword "StrPtr". After some internet searching and searching the project, I found that the function where this error occurs was not formatted properly. I changed the formatting to "strFormattedGUID = StringFromGUID2(udtGUID, Val(StrPtr(strFormattedGUID)), GUID_LENGTH + 1)" from "StringFromGUID2 udtGUID, StrPtr(strFormattedGUID), GUID_LENGTH + 1". I am in the process of testing this fix. Has the "Exact Form" been changed/updated?

Photo of Bill


  • 0 Points

Posted 4 years ago

  • 0
  • 1
Photo of QB_Support_Brian


  • 40 Points
Hi Bill,

Can you go open a support case by going to Help > Manage Support Cases > + New Support Case so one of our customer care specialists can take a look at your exact form setup with you? I think that will be the easiest way to solve this.


Photo of Douglas Vega

Douglas Vega

  • 0 Points
You need to use a conversion function in VB so it can be used with 64bits. I editted the normal Exact Forms and it's working for me. I use Word 2013 64bits.

I hope it helps.