bonjour,
j'ai besoin d'actualisé dans une requête le nom des champs sur lesquels j'effectue ma requête,
pour mes besoins j'ai une table avec un numéro (clé primaire) et plusieurs champs coti2014, coti2013.......
j'ai donc crée en VBA la mise à jour de ma requête en changeant le nom des champs suivant l'année en cours
mais cela ne fonctionne pas je dois avoir une erreur dans la syntaxe
une première solution était de remodeler ma table cotisation, mais cela ne me convient pas pour la suite
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 Sub miseàjourrequte() Dim anneeN As Variant Dim anneeN1 As Variant Dim anneeN2 As Variant Dim monchampN As Variant Dim monchampN1 As Variant Dim monchampN2 As Variant anneeN = Year(Now) anneeN1 = Year(Now) - 1 anneeN2 = Year(Now) - 2 monchampN = "TB_SuviCotisationAdherent.CotiAdh" & anneeN monchampN1 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN1 monchampN2 = "TB_SuviCotisationAdherent.CotiAdh" & anneeN2 Dim strSQL As String strSQL = "SELECT TB_membres.TB_membresNumeroAdh, TB_membres.TB_membresNom, TB_membres.TB_membresPrenom, TB_adhesion.TBadhesionCotisationPayante, [monchampN], monchampN1, monchampN2 , FROM ((TB_membres LEFT JOIN TB_deces ON TB_membres.[TB_membresNumeroAdh] = TB_deces.[TB_decesNumeroAdh]) LEFT JOIN TB_SuviCotisationAdherent ON TB_membres.[TB_membresNumeroAdh] = TB_SuviCotisationAdherent.[NumeroAdh]) LEFT JOIN TB_adhesion ON TB_membres.[TB_membresNumeroAdh] = TB_adhesion.[TBadhesionNumeroAdh] WHERE (((monchampN) = False) And ((monchampN1) = True) And ((monchampN2 ) = True) ) ORDER BY TB_adhesion.TBadhesionIDSection;" CurrentDb.QueryDefs("rqt_nonàjourN").SQL = strSQL End Sub
je voudrais donc arriver à modifier automatiquement ma requete
merci d'avance
Partager