Hello
you may try the macro to join the .dbf bases
Sub piloterDBase_jointureBases()
'activate Microsoft ActiveX Data Objects x.x Library
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Chemin As String, Cible As String
'the dbf bases are supposed in the same directory
'C:\Documents and Settings\michel\dossier\Base1.dbf
'C:\Documents and Settings\michel\dossier\Base2.dbf
Chemin = "C:\Documents and Settings\michel\dossier"
Set Cn = New ADODB.Connection
Cn.Open _
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & _
Chemin & ";"
'Base1= first file name(.dbf) has the following fields
CLIENT_ID,CLIENT_NAME
'Base2=Next file name(.dbf) has following fields
CLIENT_ID,BILL_DATE,BILL_AMOUNT
Cible = "SELECT Base1.CLIENT_NAME , Base2.BILL_DATE , Base2.BILL_AMOUNT
" & _
" FROM Base1 INNER JOIN Base2 ON Base1.CLIENT_ID=Base2.CLIENT_ID"
Set Rs = New ADODB.Recordset
With Rs
..ActiveConnection = Cn
..Open Cible, , adOpenStatic, adLockOptimistic, adCmdText
End With
If Rs.EOF Then
MsgBox "no records"
Rs.Close
Cn.Close
Exit Sub
End If
Range("A1").CopyFromRecordset Rs
Rs.Close
Cn.Close
End Sub
Regards ,
michel
--
michelxld
------------------------------------------------------------------------
michelxld's Profile:
http://www.excelforum.com/member.php...o&userid=17367
View this thread:
http://www.excelforum.com/showthread...hreadid=470454