Visual Basic/ADO and QODBC

High bandwidth users, please see our flash video tutorial or Windows Media movie tutorial on Visual Basic in addition to the tutorial below.

Setup QODBC to work with ADO

QODBC can be accessed from ADO.  ADO can be used in VB, Access, VBScripts, ASP,  C++, VB.NET, C# and any other language that supports COM components.

Connection String

The most difficult part of using ADO with QODBC is the connection string. The simplest form includes a reference to a DSN. A system DSN called “QuickBooks Data” is automatically created when QODBC is installed. “QuickBooks Data” will be used in all examples but can be substituted with any different DSN name you create.

Normally ADO pools connections. QODBC does not support connection pooling. It is recommended to tell ADO to not do connection pooling on any QODBC connection. This is done with OLE DB Services=-2.

Other options available on the connection string:

  • DFQ = Path to company file or . (dot) to indicate currently open company file.
  • OpenMode  = F (Follow Company), M (Multi-user), S (Single-user).
  • DeveloperCode = This is for users of the OEM version only. It is required to connect to the OEM licensing model. The Code is given to you when you purchase an OEM licensing pack.
  • ColumnNameLen = This is a number that specifies the maximum length a column name can be. Using this is required in some development environments. Its use will make the returned column names not match the normal defined schema.

Example of simple DSN:
sConnectString = “DSN=Quickbooks Data;OLE DB Services=-2;”

Example of a DSNless connection string:
sConnectString = “Driver={QODBC Driver for QuickBooks};DFQ=C:\Program Files\QODBC Driver for QuickBooks\sample04.qbw;OpenMode=M;OLE DB Services=-2;”

Example using current ADO syntax:
sConnectString = “Provider=MSDASQL.1;Persist Security Info=False;Data Source=QuickBooks Data;OLE DB Services=-2;”

Query Data VBS Example

‘*****************************************
Const adOpenStatic = 3
Const adLockOptimistic = 3

Dim oConnection
Dim oRecordset
Dim sMsg
Dim sConnectString
Dim sSQL

sConnectString = “DSN=Quickbooks Data;OLE DB Services=-2;”
sSQL = “SELECT Name FROM Employee”
Set oConnection = CreateObject(“ADODB.Connection”)
Set oRecordset = CreateObject(“ADODB.Recordset”)

oConnection.Open sConnectString
oRecordset.Open sSQL, oConnection, adOpenStatic, adLockOptimistic
sMsg = “**********************” & Chr(10)
Do While (not oRecordset.EOF)
sMsg = sMsg & oRecordSet.Fields(“Name”) & Chr(10)
oRecordset.MoveNext
Loop
sMsg = sMsg & “**********************” & Chr(10)
MsgBox sMsg

oRecordset.Close
Set oRecordset = Nothing
oConnection.Close
Set oConnection = Nothing
‘*****************************************

Visual Basic 6 Example

Requires project reference to Microsoft ActiveX Data Objects 2.x Library

‘*****************************************
Dim oConnection     As ADODB.Connection
Dim oRecordset      As ADODB.Recordset
Dim sMsg            As String
Dim sConnectString  As String
Dim sSQL            As String

sConnectString = “DSN=Quickbooks Data;OLE DB Services=-2;”
sSQL = “SELECT Name FROM Employee”
Set oConnection = New ADODB.Connection
Set oRecordset = New ADODB.Recordset

oConnection.Open sConnectString
oRecordset.Open sSQL, oConnection, adOpenStatic, adLockOptimistic
sMsg = “**********************” & Chr(10)
Do While (Not oRecordset.EOF)
sMsg = sMsg & oRecordset.Fields(“Name”) & Chr(10)
oRecordset.MoveNext
Loop
sMsg = sMsg & “**********************” & Chr(10)
MsgBox sMsg

oRecordset.Close
Set oRecordset = Nothing
oConnection.Close
Set oConnection = Nothing
‘*****************************************

 


So isn’t it time you unleashed the full power of QODBC?

Like our FREE QODBC Basic Edition, you can also try our OBLIGATION FREE 30 Day QODBC Pro Edition Evaluation to see and write to QuickBooks Transaction Tables from a Web Server! Here are just some of the exciting features of using QODBC Pro Edition:-

  • Access the Transaction Core of QuickBooks Accounting Data such as Invoices, Bills, Purchase Orders, Checks, Credit Memos, Estimates, Payments, Sales, Employee Time Tracking. Over 80 tables in all!*
  • Generate Powerful QuickBooks Reports in your own applications such as Details on AR & AP, Aging Reports, Balance Sheet, Collections, Transaction Detail, 1099 Detail, Customer Balance Detail, Estimates, Expenses, General Ledger, Income Detail, Tax Detail, Inventory Detail, Item Profitability, Inventory Status & Valuation, Job Profitability, Open Invoices, Profit and Loss, Open PO’s Sales by Customer, Sales Tax, Time by Job Trial Balance, Vendor Balance Detail & Summary. Over 75 reports total!*
  • Get 30 days of telephone installation support.
  • Get Discounts on future upgrades to QODBC and our other exciting products.
  • Generate your own income by creating Access applications using the QODBC Pro Edition!

Download and Activate QODBC Pro Edition