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
Merci de votre aide
A voir également:
Erreur de syntaxe (opérateur absent) dans l'expression
Erreur de syntaxe opérateur absent access - Meilleures réponses
Erreur de syntaxe (opérateur absent) dans l'expression access - Meilleures réponses
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 #
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 #
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
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.
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 #