• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 177
  • Last Modified:

Querying 2 different databases.

I have 2 MS-Access databases, one that is 180 megs and grows weekly, includes all data for the entire South Area. The other one I want to bring in the records from the 1st DB that meet a certain requirement such as MU = 650 - 675.. This would greatly reduce the overall size of the table and allow quicker reporting. The question is how do I write the code to query one database and insert that data into the other database with VB?
0
tkrpata
Asked:
tkrpata
1 Solution
 
ShauliCommented:
INSERT INTO target [IN externaldatabase] [(field1[, field2[, ...]])]
SELECT [source.]field1[, field2[, ...]
FROM tableexpression

S
0
 
leonstrykerCommented:
Create 2 connections.  Select a recordset from the first using your criteria disconnect the recordset, then connect it to the table in the second database.

Leon
0
 
jmwheelerCommented:
Add a reference to your project (Project -> References) 'Microsoft ActiveX Data Objects 2.? Library'.  Then you can connect do db's using ADO
Private db1 As New ADODB.Connection
Private db2 As New ADODB.Connection
Private rs1 as New ADODB.Recordset
Private rs2 as New ADODB.Recordset
Private db1Path As String
Private db2Path As String
Private sql as string

db1Path = (enter path of db1 in " ")
db2Path = (enter path of db2 in " ")
db1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db1Path & ";"
db2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & db2Path & ";"

sql = "SELECT * FROM tablename WHERE MU>=650 AND MU<=675"              'replace tablename with the name of the table the records are in
rs1.open sql, db1

Do While Not rs1.EOF
    sql = "INSERT INTO tablename (field1name, field2name) VALUES (" & _                        'replace tablename with the name of the table the records are in
                  rs1![Field1] & "," & rs![Field2] & ")"                                                              'if you are inserting data into a number field this is fine, if you inserting
    rs2.Open sql, db2                                                                                                      'data into a text field use '     ex.  " ' " & rs![Field1] & " ',' "       etc.
    rs1.MoveNext
Loop

0
 
moduloCommented:
PAQed - no points refunded (of 250)

modulo
Community Support Moderator
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now