We recently purchased the read/write version of Qodbc. We need to update the Charge table. We tried to use MSaccess (see previous post) and it didn't work. We were unable to access the charge table.
I have tried to adapt the Employee table sample code to select data from the Charge table base on TxnId or TxnNumber. I can run the Employee table code without a hitch. The Charge table code below does not work. A little help ?
Thank You.
This works as expected:
sub cmdEmployeeTable_click()
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Dim oConnection
Dim oRecordset
Dim sMsg
Set oConnection = CreateObject("ADODB.Connection")
Set oRecordset = CreateObject("ADODB.Recordset")
oConnection.Open "DSN=Quickbooks Data;"
oRecordset.CursorLocation = adUseClient
oRecordset.Open "SELECT * FROM Employee" , oConnection, adOpenStatic, adLockOptimistic
sMsg = "************************" & vbCrLf
sMsg = sMsg & "QODBC Driver Test Result:" & vbCrLf
sMsg = sMsg & "QuickBooks Employee List:" & vbCrLf
Do While (not oRecordset.EOF)
sMsg = sMsg & " " & oRecordSet.Fields("Name") & vbCrLf
oRecordset.MoveNext
Loop
sMsg = sMsg & "************************" & vbCrLf
MsgBox sMsg
oRecordset.Close
oConnection.Close
end sub
This produces an empty oRecordset:
sub cmdChargeTable_click()
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Dim oConnection
Dim oRecordset
Dim sMsg
set oConnection = CreateObject("ADODB.Connection")
set oRecordset = CreateObject("ADODB.Recordset")
oConnection.Open "DSN=Quickbooks Data;OpenMode=S;OLE DB Services=-2;"
oRecordset.CursorLocation = adUseClient
oRecordset.Open "SELECT * FROM Charge" , oConnection, adOpenStatic, adLockOptimistic
oRecordset.Open "SELECT TxnID,TxnNumber,""Desc"" FROM Charge WHERE TxnNumber>90501" , oConnection, adOpenStatic, adLockOptimistic
sMsg = "************************" & vbCrLf
sMsg = sMsg & "QODBC Result:" & vbCrLf
sMsg = sMsg & "SELECT * FROM Charge" & vbCrLf
Do While (not oRecordset.EOF)
sMsg = sMsg & " " & oRecordSet.Fields("TxnID") & vbCrLf
oRecordset.MoveNext
Loop
sMsg = sMsg & "************************" & vbCrLf
MsgBox sMsg
oRecordset.Close
oConnection.Close
end sub