I have a small table (column 1 is "ID" autonumber and column 2 is "City" for example) that I want to be able to make modifications on such as updating, deleting, or adding cities in a one step. I created a form that displays all the records with the current values as the values of each field (so 16 record table has 16 text boxes with "city" value in it). I have one "add" field that is blank and only filled in when you want to add a value, otherwise you could edit the other text boxes or delete the text to delete them. Once submitted the info is POSTED to an update.asp page. I open the database connection and set rs to contain the results of "Select * from citytable".<BR><BR>I then run through each record using "Do WHile-Move Next" method. If the value in rs does not match the posted value for that record, I was doing an update each time using another recordset:<BR><BR>If new_value&#060;&#062; old_value AND new_value&#060;&#062;"" then updatetemp=conntemp.execute("Update citytable Set city=" & new_value &" where ID=" & rs("ID"))<BR><BR>if new_value="" then<BR>deletetemp=conntemp.execute("Delete citytable where ID=" & rs("ID"))<BR><BR>After going through complete table and rs.eof I check for new record:<BR><BR>if add_value&#060;&#062;"" then <BR>inserttemp=conntemp("INSERT (City) values (" & add_value & ")"<BR><BR>Should I execute these each time or can I use a combined string for updates and deletes?<BR>Do I need to close these new recordsets after issuing the SQL statement or will it reassign each time? Is is bad coding to have have multiple recordsets of same table all active and just close all of them at end of code?<BR><BR>