vo2jet Vo2Jet is a Class Library for Visual Objects that gives VO developers an efficient and easy to use interface to the Microsoft Jet Engine, the database engine behind Microsoft Access, Microsoft Visual Basic and Microsoft Visual C. The Jet Engine is used by many commercial products on the market.
  Buy Now  FAQ
   Download  Docs

Vo2Jet - FAQ

  1. Can Vo2Jet work with password protected database?
  2. Is Vo2Jet compatible with Classmate?
  3. Is Vo2Jet compatible with ReportPro?
  4. How do I connect to Outlook/Exchange data using Vo2Jet?

Can Vo2Jet work with password protected database?

The answer is YES. There are two ways you can protect a database:

  • using a database password (in Access you'll see a dialog that asks for just a password)
  • using a 'workgroup information file'. That way you can set security levels for various users. In Access you'll be asked for a Username/password combination, and you'll have rights depending on the security level of that combination.

Both ways of password protection are supported with Vo2Jet.

Is Vo2Jet compatible with Classmate?

Yes, Vo2Jet 2.5 comes with a special Classmate version of the library, and also includes a sample that shows how to use the cDaoserver classes in combination with the Classmate browser class.

Is Vo2Jet compatible with ReportPro?

The answer to this question is yes and no. ReportPro works with the standard VO GUI classes, and there is no problem using ReportPro and Vo2Jet in the same application. Unfortunately there is no way (at this moment) to use Vo2jet servers in the ReportPro design or runtime environment. So if you want to do reporting on MsJet tables, you'll have to use the MsJet ODBC drivers. An alternative could be to export the data you need in your report to a DBF file.

How do I connect to Outlook/Exchange data using Vo2Jet?

You must link the Outlook/Exchange folder to a MDB file, before you can open them. Below is a piece of code that shows this. We are assuming:

  • There is an Outlook/Exchange profile called 'Microsoft Outlook'
  • There is a folder called 'Personal Folders' in this profile
  • The folder we are interested in is a subfolder of 'Personal Folders', called 'Inbox'
FUNCTION
Start()
LOCAL dbeng AS DaoDBEngine
LOCAL oDB AS DaoDatabase
LOCAL oTable AS Daotable
LOCAL oTD AS DaoTableDef
LOCAL cConn AS STRING
LOCAL oSrv AS DaoServer
dbEng := DaoDbEngine{}
// open the database
oDB := dbEng:OpenDatabase("C:\Vo2Jet\Northwind.mdb",FALSE,NIL,NIL)
// delete tabledef if it is already there
// from a previous test
IF AScan(oDb:TableDefs:ASArray(),;
   {|oTd|Upper(oTd:Name) == Upper("OutLookTest")}) > 0
   oDb:TableDefs:Delete("OutlookTest")
ENDIF
// create tabledef to hold outlook connection
oTD := oDB:CreateTableDef("OutlookTest",NIL,NIL,NIL)
// Set connect string:
// Set the profile to your profile name
// Set the Mapilevel to the parent folder of the folder you want
// to read, in this cASe the "Personal folders" folder
// Set the DatabASe name to the name of the MDB file that
// holds the linked table
cConn := "Exchange 4.0;MAPILEVEL=Personal Folders|;TableType=0;DatabASe=" + ;
oDB:Name + ";PROFILE=Microsoft Outlook;PWD=;"
// ASsign connect string to Tabledef
oTd:connect := cConn
// sourcetable is the Inbox folder below Personal Folders
oTD:SourceTableName := "Inbox"
oDB:TableDefs:Append(oTD)
// Open Server and read outlook messages
oSrv := DaoServer{"Select * from OutLookTest"}
// display messages
? PadR("Date",19),"From", "To", "Subject"
DO WHILE ! oSrv:EoF
   ? oSrv:FIELDGET("Creation Time"), oSrv:FIELDGET(#From), ;
   oSrv:FIELDGET("To"), oSrv:FIELDGET(#Subject)
   oSrv:Skip(1)
ENDDO
oSrv:Close()
wait