Microsoft KB Archive/114509

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 16:08, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


ACC2: How to Retrieve Currency Data in Btrieve Files

Article ID: 114509

Article Last Modified on 11/6/2000



APPLIES TO

  • Microsoft Access 2.0 Standard Edition



This article was previously published under Q114509

SUMMARY

Advanced: Requires expert coding, interoperability, and multiuser skills.

This article describes how to retrieve currency data stored in a Btrieve database file that was created using Microsoft Visual Basic or Microsoft Access without using the Microsoft Jet database engine.

An example of a Btrieve file that was created by Microsoft Visual Basic or Microsoft Access without using the Microsoft Jet database engine might be a file that was created using Microsoft Profit (an application developed with Microsoft Visual Basic) and Btrieve to write directly to a Btrieve database file without using the Microsoft Jet database engine.

Note that this information applies to any Btrieve file created using Microsoft Visual Basic or Microsoft Access where Btrieve's WBTRCALL.DLL file is called directly.

MORE INFORMATION

If Microsoft Visual Basic or Microsoft Access currency data is written to a Btrieve file without using the Microsoft Jet database engine, the data is automatically written in the Microsoft Visual Basic/Microsoft Access data format. If that Btrieve file is then attached or imported in Microsoft Access, and the field is defined in the FIELD.DDF file as Btrieve data type 6 (money), Microsoft Access will not display the correct results.

Microsoft Access expects the data to be in the Btrieve money format (Btrieve data type 6), and attempts to translate the data from that format to the Microsoft Visual Basic/Microsoft Access currency format. However, the data is already in the Microsoft Visual Basic/Microsoft Access currency format, so the translation procedure yields incorrect results.

To solve this problem, define the field in the FIELD.DDF file as an 8-byte integer (Btrieve data type 1), with a length of 8. The Microsoft Jet database engine will then be able to read the data and pass it through without any translation.

NOTE: Not all .DDF file builders allow you to specify an 8-byte integer. It may be necessary to use a different .DDF file builder, or to edit the FIELD.DDF file with a hexadecimal editor after it is created.

Btrieve is manufactured by Pervasive Software, a vendor independent of Microsoft; we make no warranty, implied or otherwise, regarding this product's performance or reliability.

Keywords: kbhowto kb3rdparty KB114509