I was able to get this working using a primary key in each of the tables I'm writing to. There can be no duplication because of the primary key so when kix tries to write to the table and it's a duplicate I get an error code -2147352567.
Here is the code now...
Code:
;***Logging script***
;
;---Open Database---
$objConn = DBConnOpen("DRIVER={Microsoft Access Driver (*.mdb)}; UID=@USERID; PWD=; DBQ=K:\db1.mdb")
;---Log SDrive Script---
$retcode = DBExecuteSQL($objConn,"INSERT INTO sdrive(Username,ComputerName,PrimaryGroup,SDrive) VALUES('@USERID','@WKSTA','@PRIMARYGROUP','$SDrive')")
If @ERROR = "-2147352567"
$retcode = DBExecuteSQL($objConn,"UPDATE sdrive SET Username = '@USERID', ComputerName = '@WKSTA', PrimaryGroup = '@PRIMARYGROUP', SDrive = '$SDrive' WHERE Username = '@USERID'")
EndIf
;---Log InvenBar Script---
$retcode = DBExecuteSQL($objConn,"INSERT INTO invenbar(ComputerName,UserName,PrimaryGroup,OS,OSVersion,Office,OfficeVersion,IPAddress,Speed,Memory,CDROM1,CDROM2) VALUES('@WKSTA','@USERID','$PG','$W','$WSP','$O','$OV','$IP','@mhz','$RAM','$CDROM1','$CDROM2')")
If @ERROR = "-2147352567"
$retcode = DBExecuteSQL($objConn,"UPDATE invenbar SET ComputerName = '@WKSTA', UserName = '@USERID', PrimaryGroup = '$PG', OS = '$W', OSVersion = '$WSP', Office = '$O', OfficeVersion = '$OV', IPAddress = '$IP', Speed = '@mhz', Memory = '$RAM', CDROM1 = '$CDROM1', CDROM2 = '$CDROM2' WHERE ComputerName = '@WKSTA'")
EndIf
;---Log InvenName Script---
$retcode = DBExecuteSQL($objConn,"INSERT INTO invenname(UserName,PrimaryGroup,ComputerName,OS,OSVersion,Office,OfficeVersion,IPAddress,Speed,Memory,CDROM1,CDROM2) VALUES('@USERID','$PG','@WKSTA','$W','$WSP','$O','$OV','$IP','@mhz','$RAM','$CDROM1','$CDROM2')")
If @ERROR = "-2147352567"
$retcode = DBExecuteSQL($objConn,"UPDATE invenbar SET UserName = '@USERID', PrimaryGroup = '$PG', ComputerName = '@WKSTA', OS = '$W', OSVersion = '$WSP', Office = '$O', OfficeVersion = '$OV', IPAddress = '$IP', Speed = '@mhz', Memory = '$RAM', CDROM1 = '$CDROM1', CDROM2 = '$CDROM2' WHERE UserName = '@USERID'")
EndIf
;---Close Database---
$retcode = DBConnClose($objConn)
EXIT
If anyone has a better way though I'm all ears. I'm not sure if that error code is ever received for another reason or not so I may run into issues later on.