Mark Boyd
MarkBoyd at McBeeAssociates.com
Wed May 14 07:21:06 CDT 2003
David -
I would use queries to delete the records.
Try 'DELETE * FROM ttmpLoadAllocateImp WHERE (((Field5) Is Null)) OR
(((Field5)="Last Date"))'.
Mark Boyd
Sr. Systems Analyst
McBee Associates, Inc
-----Original Message-----
From: David Emerson [mailto:davide at dalyn.co.nz]
Sent: Tuesday, May 13, 2003 8:33 PM
To: dba-SQLServer at databaseadvisors.com
Subject: [dba-SQLServer]Deleting records SQL2000 AXP ADP
I have some code which imports a spreadsheet into a table and then
deletes
some of the records which are summaries of the main records. The
records
are identified by having a null in the sixth field (or text "Last
Date"). There is not a fixed number of record lines to delete. The
code
is as follows -
DoCmd.RunSQL "DELETE FROM ttmpLoadAllocateImp"
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97,
"ttmpLoadAllocateImp", Me!txtNGCAllocFile
strSQL = "SELECT ttmpLoadAllocateImp.* FROM ttmpLoadAllocateImp"
Set rstData = basRunDataObject(strSQL, adCmdText)
'Delete summary fields
Do Until rstData.EOF
If Nz(rstData.Fields(5), "Null") = "Null" Or
Nz(rstData.Fields(5),
"Null") = "Last Date" Then
rstData.Delete <-----PROBLEM LINE
End If
rstData.MoveNext
Loop
rstData.Close
Set rstData = Nothing
When this is run I get an error -2147467259. "Key column information is
insufficient or incorrect. Too many rows were affected by update".
Can't
find anything in Books On Line.
My first questions is - Is this the correct way to delete lines in SQL?
Second Question - What dooes the error mean?
Third question - How can I fix it?
Regards
David Emerson
DALYN Software Ltd
25b Cunliffe St, Johnsonville
Wellington, New Zealand
Ph/Fax (877) 456-1205
_______________________________________________
dba-SQLServer mailing list
dba-SQLServer at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/dba-sqlserver
http://www.databaseadvisors.com