aureliendes
Messages postés5Date d'inscriptionvendredi 15 décembre 2000StatutMembreDernière intervention 5 avril 2009
-
5 avril 2009 à 15:06
aureliendes
Messages postés5Date d'inscriptionvendredi 15 décembre 2000StatutMembreDernière intervention 5 avril 2009
-
5 avril 2009 à 19:32
Bonjour,
j'ai un ptit souci, je souhaiterau mettre à jour une requête sql suite à une modification de champs dans un formulaire et exporter ces données dans une feuille excel et un formulaire. Lorsque je clique sur le bouton valider, le programme me renvoit le message d'erreur suivant : erreur de synthaxe (opérateur absent) dans l'expression '[Details_interventions].[num_equipe] = 1 and [Details_interventions].[date_debut_int] après le #16/03/2009#'
Voir ci dessous le code evénement du bouton valider :
strSELECT = "[Details_interventions].[num_equipe], [Details_interventions].[date_debut_int], [Constituee].[num_employe] " strFROM "(Equipe INNER JOIN [Details_interventions] ON Equipe.[num_equipe] [Details_interventions].[num_equipe]) INNER JOIN (Employe INNER JOIN Constituee ON Employe.num_employe = Constituee.[num_employe]) ON Equipe.[num_equipe] = Constituee.[num_equipe] "
If cbo_equipe.Enabled = True Then
strWHERE = " and [Details_interventions].[num_equipe] " & "=" & cbo_equipe 'Affectation à la colonne num_equipe de la requete intervention à cbo_equipe
End If
If cbo_date.Enabled = True Then
strWHERE = strWHERE & " and [Details_interventions].[date_debut_int] " & cbo_date & "#" & Format(txt_date, "dd/mm/yyyy") & "#"
'# est nécessaire pour une interprétation au format date
'Concaténation de l'équipe et de la date
End If
strSQL = "SELECT " & strSELECT
strSQL = strSQL & "FROM " & strFROM
strSQL = strSQL & "WHERE " & Mid$(strWHERE, 6) & ";" 'Mid$(chaine,caractere de debut,nbr de caractère)
CurrentDb.QueryDefs("qry_details_interventions").SQL = strSQL 'Mise a jour de la requete qry_details_interventions
DoCmd.OpenForm "frm_qry_details_interventions", acNormal 'ouverture du formulaire résultat d'interventions
DoCmd.OutputTo acQuery, "qry_details_interventions", "MicrosoftExcel(*xls)", "C:\resultats interventions.xls", True, ""
End Sub
Je ne sais pas à quoi correspond cbo_date, mais je crois comprendre qu'il te sert à sélectionner l'opérateur. Si c'est ça, ma première réponse était fausse.
Il ne faut pas le = que je t'avais rajouter tout à l'heure. Par contre je crois qu'il faut encadrer la date d'apostrophes :
& " ' #" & Format(txt_date, "dd/mm/yyyy") & "#'"
---- Sevyc64 (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 avril 2009 à 17:54
Alors dans ta requette à la place de la valeur du cbo_date il faut que tu mette respectivement <, >, ou =.
Tu ne peux pas mettre directement la valeur du cbo si celle-ci est "avant", "après" ou "le". il faut prevoir une conversion.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
aureliendes
Messages postés5Date d'inscriptionvendredi 15 décembre 2000StatutMembreDernière intervention 5 avril 2009 5 avril 2009 à 17:02
Bonjour,
sa na pas l'air d'être ça j'ai toujours la même erreur. Quand je debug c cette ligne qui apparait en jaune :
CurrentDb.QueryDefs("qry_details_interventions").SQL = strSQL 'Mise a jour de la requete qry_details_interventions
Je l'ai miseen commentaire c'était ok.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
aureliendes
Messages postés5Date d'inscriptionvendredi 15 décembre 2000StatutMembreDernière intervention 5 avril 2009 5 avril 2009 à 18:10
Ok merci bien c'était bien ça l'erreur et dire que cela fait 5 heures que je suis dessus.
Par contre maintenant je retrouve le premier enregistrement de la table details_interventions mais quand je simule pour trouver le 2ème, 3ème,... enregistrement la requête se met à jour (critères modifiés) mais dans mon formulaire et dans l'export Excel il n'y a rien.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 avril 2009 à 18:16
Vérifie ta requette, tu as peut-etre encore une erreur dedans.
Peut-etre au niveau des jointures, tu n'as mis que des INNER JOIN. Donc si une de tes jointures renvoie un champ vide, le résultat sera exclu de ta requette.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #