Bonjour à tous
je développe une application pour réaliser des diagnostiques d'accessibilité pour les handicapés
je veux comparer les données d'un champs (constats) de deux tables.
j'ai une table qui sert seulement à récupérer des données et une autre ou j'enregistre.
le but de cette comparaison est d'afficher un message à l'utilisateur
pour lui afficher les constats qu'il n'a pas encore enregistré quand il click sur un bouton "Bilan des constats".
voici le code de mes requêtes
[/CODE]
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 [SQL] 'la requête récupère les constats enregistrés pour le point de contrôle affiché sql = "SELECT Tab_Constat_Escalier.Constat_Escalier" sql = sql & " FROM Tab_Constat_Escalier" sql = sql & " WHERE Tab_Constat_Escalier.Num_Auto_Contrôle_Escalier=" & Me.Txt_Num_Auto_Contrôle_Escalier 'compte les constats enregistrés pour ce point de contrôle CptConstatRéalisé = DCount("[Constat_Escalier]", "Tab_Constat_Escalier", _ "[Tab_Constat_Escalier].[Num_Auto_Contrôle_Escalier] =[Txt_Num_Auto_Contrôle_Escalier]") 'ouverture du recordset rst.Open sql, cnn, adOpenDynamic, adLockPessimistic 'la requête récupère les constats pas encore enregistrés pour le point de contrôle sql1 = "SELECT Tab_Données_Constats_Escalier.Constats" sql1 = sql1 & " FROM Tab_Données_Constats_Escalier" sql1 = sql1 & " INNER JOIN Tab_Données_Pt_Ctrl_Escalier" sql1 = sql1 & " ON Tab_Données_Pt_Ctrl_Escalier.Code_Auto_Ctrl_Escalier = Tab_Données_Constats_Escalier.Code_Auto_Ctrl_Escalier" sql1 = sql1 & " WHERE Tab_Données_Pt_Ctrl_Escalier.[Point_de_contrôle]= '" & Me.Txt_Pt_Contrôle & "'" sql1 = sql1 & " NOT IN (SELECT Tab_Constat_Escalier.Constat_Escalier FROM Tab_Constat_Escalier" sql1 = sql1 & " WHERE Tab_Constat_Escalier.Num_Auto_Contrôle_Escalier = " & Me.Txt_Num_Auto_Contrôle_Escalier & ")" rst1.Open sql1, cnn, adOpenDynamic, adLockPessimistic 'la requête compte les constats pas encore enregistrés pour le point de contrôle sql2 = "SELECT count(Tab_Données_Constats_Escalier.Constats) as nb" sql2 = sql2 & " FROM Tab_Données_Constats_Escalier" sql2 = sql2 & " INNER JOIN Tab_Données_Pt_Ctrl_Escalier" sql2 = sql2 & " ON Tab_Données_Pt_Ctrl_Escalier.Code_Auto_Ctrl_Escalier = Tab_Données_Constats_Escalier.Code_Auto_Ctrl_Escalier" sql2 = sql2 & " WHERE Tab_Données_Pt_Ctrl_Escalier.[Point_de_contrôle]= '" & Me.Txt_Pt_Contrôle & "'" 'sql2 = sql2 & " NOT IN (SELECT Tab_Constat_Escalier.Constat_Escalier FROM Tab_Constat_Escalier" 'sql2 = sql2 & " WHERE Tab_Constat_Escalier.Num_Auto_Contrôle_Escalier = " & Me.Txt_Num_Auto_Contrôle_Escalier & ")"
mon NOT IN ne fonctionne pas alors que j'utilise déjà ce type de requête mais sans INNER JOIN et ça marche.
c'est certainement un problème d'écriture, mais la je ne vois pas
Merci d'avance pour votre aide
HappyAccess
Partager