OK thanks for the heads up on using SQL INSERT and UPDATE instead of ADO Recordsets and also using the Prepared property. That made my program run about 7 times faster.
Can someone tell me why I need INSERT INTO test([field1], field2 .... instead of INSERT INTO test(field1, field2 .... in other words what is the "[]" doing? I never saw that in any examples yet the SQL builder/browser thingie puts it in if I build the statement using it. AND putting it into my program fixed a nasty bug about SQL syntax. But... what is it doing? What does it mean? Also on a seperate note, here is a snippet of what I am doing and would appreciate any comments. Please realize this is only a snippet, not the whole program. Do I need that first open in order to set up cnn1? b = "Will" Set cnn1 = CurrentProject.Connection Set adocmd = New adodb.Command Set adocmd.ActiveConnection = cnn1 adocmd.Prepared = True openmsg$ = "Select * from test" Set rstTest = New adodb.Recordset rstTest.CursorType = adOpenKeyset rstTest.LockType = adLockBatchOptimistic rstTest.open openmsg$,cnn1 execmsg = "SELECT * from test where Field1 = '" & b "'" adocmd.CommandText = execmsg Set rstTest = adocmd.Execute() If rstTest.BOF = True then cntnew = cntnew + 1 *dostuff for new records Else cntold = cntold + 1 *dostuff for old records End -- u2-users mailing list [EMAIL PROTECTED] http://www.oliver.com/mailman/listinfo/u2-users