How to Copy a Record from One Table to Another in VB

ID: Q110588

3.00 WINDOWS kbprg

The information in this article applies to:

SUMMARY

A physical table in a database has records (rows) and fields (columns). A single record contains a single row of field values.

To copy a record in one table to another table, you need to copy all the fields in the source record to the corresponding fields in the destination record. You can do this by using the Value property of the Fields collection, or by using an SQL statement.

MORE INFORMATION

How to Copy a Record Using SQL

You can use the SQL Insert Into statement to copy specified records from one table into another:

   INSERT INTO ToTableName SELECT * FROM FromTableName

You can also add a WHERE clause at the end to add any selected records:

   INSERT INTO ToTableName SELECT FromTableName.* FROM FromTableName
     WHERE Key = 'Key'

How to Use SQL Statements in Visual Basic

Here's an example showing how to use the SQL statements in Visual Basic code:

  Dim db As database, ds As dynaset
  Set db = OpenDatabase("C:\VB3\FOXTEST", False, False, "foxpro 2.5;")
  db.Execute "INSERT INTO ToTableName SELECT FromTableName.*
     FROM FromTableName"

How to Copy a Record Using the Fields Collection and Value Property

The following loop copies all the fields in the current record in table 1 to the corresponding fields in the current record in table 2:

   Dim MyDB As Database, Tbl1 As Table, Tbl2 As Table
   Set MyDB = OpenDatabase("BIBLIO.MDB")     ' Open Database.
   Set Tbl1 = MyDB.OpenTable("Publishers")     ' Open Table.
   Set Tbl2 = ...

   For i = 0 to Tbl1.Fields.Count - 1
      Tbl2(Tbl1.Fields(i).Name).Value = Tbl1.Fields(i).Value
   Next

The above loop assumes that the fields in table 2 are identical to those in table 1.

Additional reference words: 3.00 KBCategory: kbprg KBSubcategory: APrgDataOther

Keywords          :  
Version           : 3.00
Platform          : WINDOWS

Last Reviewed: February 20, 1996