A site for solving at least some of your technical problems...
A site for solving at least some of your technical problems...
When you want to modify a set of rows in a table but need to do some computation as you go, you probably want to use a cursor. That's my first idea. Whenever possible I do an UPDATE, but in one case that was just way too heavy (i.e. one SELECT plus one UPDATE per row!) Of course, in the end, the result is the same, but it is much less tedious to use a cursor.
How to use a cursor is very well explained in the documentation once you know the functions that you need to use to make it work. I only knew that the Recordset could be used that way.
The fact is that you need to build a SELECT command, open your record set, then on each row do an Edit, do your updates and finally do Update. That's this simple. But as an advanced database user, such as PostgreSQL, that's not the way I was thinking it would work...
There is a snippet of code that does the job:
' A simple SQL statement sql = "SELECT * FROM Customer" ' Create the Recordset Set rcd = CurrentDb.OpenRecorset(sql) Do While Not rcd.EOF If rcd("Age") > 30 Then ' Prepare for update rcd.Edit ' Now we can update rcd("Salary") = rcd("Salary") * 2 ' The row is ready to be saved rcd.Update End If ' Go to the next record rcd.MoveNext Loop
Recent Posts on The Linux Page: