Bonsoir tt le monde,
Alors voilà la situation :
j'ai une variable global guid
j'ai une table :
BASE_MAT avec entre autres les champs suivants :
Numm_immo | site
TABLE_PRIN avec entre autres les champs suivants :
uid | Numm_immo_pc | Numm_immo_ecran | Numm_immo_impr | site
Je veux que pour chaques Numm_immo de Base_mat éxistant dans table_prin ( les enregistrement retenus dans table_prin etant ceux dont uid = guid)
on met à jour le site par celui correspondant dans site de la table_prin (base_mat.site=table_prin.site ou (base_mat.num_immo=table_prin.num_immo_pc ou base_mat.num_immo=table_prin.num_immo_impr ou base_mat.num_immo=table_prin.num_immo_ecran)
Exemple :
guid = 000001
le contenu de table_prin est : (en gras ce qui doit etre retenue)
uid | Numm_immo_pc | Numm_immo_ecran | Numm_immo_impr | site
000001 | M00001 | P00001 | I00001 | site1
000002 | M00002 | P00002 | I00002 | site2
000003 | M00003 | P00003 | I00003 | site3
000004 | M00004 | P00004 | I00004 | site4
000001 | M00005 | P00005 | I00005 | site5
dans la table base_mat
Num_immo | site
M00001 | site3
P00001 | site3
I00001 | site3
.....
.....
.....
.....
M00005 | site2
P00005 | site2
I00005 | site2
je veux donc que cela devienne :
base_mat
Num_immo | site
M00001 | site1
P00001 | site1
I00001 | site1
.....
.....
.....
.....
M00005 | site5
P00005 | site5
I00005 | site5
Pour cela, j'ai pour le moment cette requete :
le probleme c'est que sitesel à une seule valeur ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sSQL = "UPDATE base_mat SET base_mat.site = ?" & sitesel & "? WHERE (((base_mat.Num_immo) In (select objet from (select table_prin.num_immo_ecran as objet from table_prin where (table_prin.N°) =" & guid & "))))" _ & "or (((base_mat.Num_immo) In (select objet from (select table_prin.num_immo_impr as objet from table_prin where (table_prin.N°) =" & guid & "))))" _ & "or (((base_mat.Num_immo) In (select objet from (select table_prin.num_immo_pc as objet from table_prin where (table_prin.N°) =" & guid & "))));"
Bref je ne vois pas comment m'y prendre, d'avance merci de votre aide
Partager