[Access] Fusionner deux bases de donnees

Fusionner deux bases de donnees [Access] - Logiciels - Windows & Software

Marsh Posté le 05-07-2006 à 10:26:15    

Hello  
 
Ptite galere de stagiaire, je dois fusionner des bases de donnees access qui ont la meme structure
Je suis debutant access et on m'a file ca parce qu'en ce moment c'est un peu temps mort.  
 
J'ai utilise une requete union sql sur les tables mais ca ne marche pas
les bases sont comme ca
Table1
code clients (numero auto, ptain les cons) plein d'autres trucs
Table2
un historique lie au code clients
 
Le probleme c'est que comme les vendeurs ont utilise la base separement, il y a des numeros identiques et que je perds le lien avec la seconde table avec mes requetes
que faudrait il faire?
 
Merci merci :hello:

Reply

Marsh Posté le 05-07-2006 à 10:26:15   

Reply

Marsh Posté le 05-07-2006 à 11:17:40    


une macro pour importer d'une base à l'autre tes tables...

Reply

Marsh Posté le 05-07-2006 à 11:37:04    

J'ai trouve ca comme code vba sur internet, je vais voir si ca marche
 

Code :
  1. Sub Insertion(oRst1 As DAO.Recordset, orst2 As DAO.Recordset)
  2. On Error GoTo err
  3.   Dim Fld As DAO.Field
  4.     orst2.AddNew
  5.     For Each Fld In oRst1.Fields
  6.       If (Fld.Attributes And dbAutoIncrField) = 0 Then
  7.         orst2.Fields(Fld.Name).Value = Fld.Value
  8.       End If
  9.     Next Fld
  10.     orst2.Update
  11. err:
  12. End Sub
  13. Sub copier()
  14. Dim NomTable1 As String, NomTable2 As String
  15. Dim oRst1 As DAO.Recordset, orst2 As DAO.Recordset
  16. Dim odb As DAO.Database
  17. Dim Message As String
  18. Set odb = currentdb
  19. NomTable1 = "TblClient"
  20. NomTable2 = "TblClientSansDoublons"
  21. Set oRst1 = odb.OpenRecordset(NomTable1)
  22. Set orst2 = odb.OpenRecordset(NomTable2)
  23. While Not oRst1.EOF
  24.   Insertion oRst1, orst2
  25.   oRst1.MoveNext
  26. Wend
  27. If Not orst2.EOF Then orst2.MoveLast
  28. Message = "Opération terminée" & vbCrLf & vbCrLf & _
  29.           "La table source comportait : " & oRst1.RecordCount & " enregistrement(s)," & vbCrLf & _
  30.           "la table de destination en comporte " & orst2.RecordCount
  31. MsgBox Message, vbInformation, "MAJ terminée"
  32. End Sub

Reply

Marsh Posté le 05-07-2006 à 13:25:17    

nope rien a voir en fait
 
bon je vais devoir apprendre le dao apparemment :'(

Reply

Marsh Posté le 05-07-2006 à 14:12:13    

Il faut inserer ligne par ligne...  
 
Tu prend le premier client, tu l'insert dans la table de destination sans id (tu auras un nouvel id vu qu'il est en auto increment), tu recupert cet id generer et tu insert l'histo des commande qui correspond... Puis tu passe au suivant...

Reply

Marsh Posté le 05-07-2006 à 14:35:26    

Je crois que je vais faire comme ca
 
meme si elle est un peu grosse je pense que c'est encore le mieux...

Reply

Marsh Posté le 05-07-2006 à 16:02:59    

merci merci d'ailleurs!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed