I am updating a Foxpro database using ADODB in VB6. It not only updates the current record but it also updates other records. Has anyone seen this?
This is my connection info. The wo.id is unique but I don't think it's a primary key.
dbAC.Open fnGetACOpenString()
fnGetACOpenString = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;Sou
rceDB=c:\m
ypath;Excl
usive=No"
'Then I update the record
'AC Work Order
Set rsACWorkOrder = New ADODB.Recordset
rsACWorkOrder.LockType = adLockOptimistic
rsACWorkOrder.CursorType = adOpenDynamic
rsACWorkOrder.CursorLocati
on = adUseServer
rsACWorkOrder.Source = "SELECT status, scheddate, schedtime, compdate, comptime, resonotes, amount1, amount2, amount4, billable, jobid, computetax, id FROM wo WHERE wo.id = '" & rsWDSDispatchData.Fields("
sDispatchI
D") & "'"
Set rsACWorkOrder.ActiveConnec
tion = dbAC
rsACWorkOrder.Open
opACWorkOrder = True
Then I use this code to update the database...
'UPDATE THE WORK ORDER
If Not rsACWorkOrder.BOF Then
rsACWorkOrder.Find "id = '" & rsWDSDispatchData.Fields("
sDispatchI
D") & "'"
rsACWorkOrder.Fields("sche
ddate") = Format(rsWDSDispatchData.F
ields("dtC
ompleted")
, AC_DATE_FORMAT)
rsACWorkOrder.Fields("sche
dtime") = fnNullToString(rsWDSDispat
chData.Fie
lds("sActu
alStart"))
rsACWorkOrder.Fields("comp
date") = Format(rsWDSDispatchData.F
ields("dtC
ompleted")
, AC_DATE_FORMAT)
rsACWorkOrder.Fields("comp
time") = fnNullToString(rsWDSDispat
chData.Fie
lds("sActu
alFinish")
)
rsACWorkOrder.Fields("reso
notes") = IIf(fnNullToString(rsACWor
kOrder.Fie
lds("reson
otes")) = "", "", fnNullToString(rsACWorkOrd
er.Fields(
"resonotes
")) & Chr(13) & Chr(13)) & IIf(fnNullToString(rsWDSDi
spatchData
.Fields("s
ResNotes")
) = "", "", fnNullToString(rsWDSDispat
chData.Fie
lds("sResN
otes")) & Chr(13) & Chr(13)) & "Invoice Total = $" & rsWDSDispatchData.Fields("
nTotal")
rsACWorkOrder.Fields("stat
us") = "Invoice !!"
rsACWorkOrder.Fields("bill
able") = -1
rsACWorkOrder.Update
End If
Start Free Trial