Knowledge Base |

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

Article ID: 110588

Article Last Modified on 10/29/2003

APPLIES TO

- Microsoft Visual Basic 3.0 Professional Edition
- Microsoft Visual Basic 3.0 Professional Edition

This article was previously published under Q110588

## 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 query words: 3.00

Keywords: KB110588