salut à tous,

voila ce que je voudrai faire j'ai 2 tables je veux comparer plusieurs champs entre eux c'est a dire que je prend un champs de la table1 et je le compare à,par exemple ,5 champs de la table2,puis je prend un autre champ de la table1 que je compare a nouveau au 5 champs de la table2,jusque la ca peut aller mon principal probléme c'est que je voudrai que quand 2 valeurs concordent prendre le n° de l'enregistrement de la 2éme table pour l'inserer dans un champs de la 1ere

voila les champs ma table1,je veux comparer les réf de cette table:

Immo Désignation réf 01 réf 02 réf 03 réf 04 réf 05 réf 06 réf 07 réf 08 réf 09 réf 10 n°inv1 n°inv2 n°inv3 n°inv4 n°inv5 n°inv6 n°inv7 n°inv8 n°inv9 n°inv10

avec les réf de cette 2ème table:

n°fnr n°inv réf 01 réf 02 réf 03 réf 04 réf 05 réf 06 réf 07 réf 08 réf 09 réf 10
puis inserer le n°inv dans l'un des champs n°inv de la 1ère table

si par exemple la référence 4 de l'enregistrement 1 correspond à la ref 2 de l'enregistrement 3 de la 2éme table alors je copie le n°inv de de l'enregistrement 3 dans le n°inv1 de la table 1

voila ce que j'ai fais pour la selection :



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim t1 As DAO.TableDef, t2 As DAO.TableDef 
Dim bd As DAO.Database, rq As DAO.QueryDef 
Dim strSQL As String, strWhere As String, sql1 As String 
Dim i As Integer 
Dim j As Integer 
Set bd = CurrentDb 
Set t1 = bd.TableDefs("Table1") 
Set t2 = bd.TableDefs("Table2") 
 
' Génération du SQL 
strSQL = " Select " 
For i = 0 To t2.Fields.Count - 1 
strSQL = strSQL & " b." & t2.Fields(i).Name & "," 
Next i 
 
strSQL = Left(strSQL, Len(strSQL) - 1) 
strSQL = strSQL & " from table1 a ,Table2 b Where " 
 
For j = 2 To t1.Fields.Count - 1 
For i = 2 To t2.Fields.Count - 11 
strWhere = strWhere & "a." & t1.Fields(j).Name & "=b." & t2.Fields(i).Name & " or " 
Next i 
Next j 
strWhere = Left(strWhere, Len(strWhere) - 3) 
strSQL = strSQL & strWhere 
 
' Fin du SQL 
Set rq = bd.CreateQueryDef("tmp", strSQL) ' création de la requête 
DoCmd.OpenQuery "tmp" ' ouverture de la requête 
' Récupération des variables-objet 
Set rq = Nothing 
Set t1 = Nothing 
Set t2 = Nothing 
Set bd = Nothing

je sais pa si je suis claire,merci d'avance pour l'aide que vous pourrez m'apporter