J'ai une erreur qui est classique dans mon code : "Trop peu de
paramètres. 3 attendus".
sous Access 97 :
A chaque fois Eric m'avait conseillé d'utiliser les & " " & etc ...
Mais ici, c'est pareil, cela donne une erreur.
J'ai bien regardé dans l'aide mais il y en a tellement de sortes
différentes :
Questions :
à quoi sert cette fonction ? Et comment s'appelle-t-elle ? J'aimerai
comprendre son fonctionnement ?
voici maintenant le code qui me donne l'erreur : "Trop peu de paramètres
attendus".
C'est une requête. Je sais qu'il faut placer les " et les & mais où les
placer correctement ?
J'ai essayé à différents endroits mais à chaque fois j'obtiens un erreur
de syntaxe.
J'ai une erreur qui est classique dans mon code : "Trop peu de paramètres. 3 attendus".
sous Access 97 :
A chaque fois Eric m'avait conseillé d'utiliser les & " " & etc ...
Mais ici, c'est pareil, cela donne une erreur.
J'ai bien regardé dans l'aide mais il y en a tellement de sortes différentes : Questions : à quoi sert cette fonction ? Et comment s'appelle-t-elle ? J'aimerai comprendre son fonctionnement ?
voici maintenant le code qui me donne l'erreur : "Trop peu de paramètres attendus".
C'est une requête. Je sais qu'il faut placer les " et les & mais où les placer correctement ? J'ai essayé à différents endroits mais à chaque fois j'obtiens un erreur de syntaxe.
Merci d'avance.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
J'ai une erreur qui est classique dans mon code : "Trop peu de
paramètres. 3 attendus".
sous Access 97 :
A chaque fois Eric m'avait conseillé d'utiliser les & " " & etc ...
Mais ici, c'est pareil, cela donne une erreur.
J'ai bien regardé dans l'aide mais il y en a tellement de sortes
différentes :
Questions :
à quoi sert cette fonction ? Et comment s'appelle-t-elle ? J'aimerai
comprendre son fonctionnement ?
voici maintenant le code qui me donne l'erreur : "Trop peu de paramètres
attendus".
C'est une requête. Je sais qu'il faut placer les " et les & mais où les
placer correctement ?
J'ai essayé à différents endroits mais à chaque fois j'obtiens un erreur
de syntaxe.
Merci d'avance.
Gundt
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
J'ai une erreur qui est classique dans mon code : "Trop peu de paramètres. 3 attendus".
sous Access 97 :
A chaque fois Eric m'avait conseillé d'utiliser les & " " & etc ...
Mais ici, c'est pareil, cela donne une erreur.
J'ai bien regardé dans l'aide mais il y en a tellement de sortes différentes : Questions : à quoi sert cette fonction ? Et comment s'appelle-t-elle ? J'aimerai comprendre son fonctionnement ?
voici maintenant le code qui me donne l'erreur : "Trop peu de paramètres attendus".
C'est une requête. Je sais qu'il faut placer les " et les & mais où les placer correctement ? J'ai essayé à différents endroits mais à chaque fois j'obtiens un erreur de syntaxe.
Merci d'avance.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes), il n'y a pas de " après le & en début de ligne ni même après le CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pourquoi cette écriture ? Je ne comprends pas cette syntaxe ? Comment faut-il l'écrire ou la comprendre ?
Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes),
il n'y a pas de " après le & en début de ligne ni même après le
CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pourquoi cette écriture ? Je ne comprends pas cette syntaxe ? Comment
faut-il l'écrire ou la comprendre ?
Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes), il n'y a pas de " après le & en début de ligne ni même après le CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pourquoi cette écriture ? Je ne comprends pas cette syntaxe ? Comment faut-il l'écrire ou la comprendre ?
Merci beaucoup à Eric.
Gundt
Eric
re
Essaies : sql2 = "DELETE [LIGNES BL TEMP].*, [BL TEMP].CodeClient," _ & " Format([DateSortie_temp],'mm')" _ & " AS Expr1, Format([DateSortie_temp],'yyyy') AS Expr2 " _ & " FROM [BL TEMP] INNER JOIN [LIGNES BL TEMP] ON " _ & " [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp] " _ & " WHERE [BL TEMP].CodeClient=" _ & [Forms]![Choix_cli_fact_perso]![CodeClient] _ & " AND Format([DateSortie_temp],'mm')=" _ & [Forms]![Choix_cli_fact_perso]![Mois] _ & " AND Format([DateSortie_temp],'yyyy')=" _ & [Forms]![Choix_cli_fact_perso]![Année] & ";" Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes),
il n'y a pas de " après le & en début de ligne ni même après le CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pour les lignes 7, 9 & 11, tu passes à la chaine SQL les valeurs contenues dans les contôles CodeClient, Mois, Annee du formulaire Choix_cli_fact_perso donc il ne fait pas les encadrer de ".
Un exemple est plus simple. Supposons que j'ai une variable nommée intAnnee contenant une année (par exemple 2007) si j'écris le SQL ainsi: strSQL="Select * from MaTable Where Year(DateNaissance)=intAnnee;" lors de l'appel du SQL tu auras le message: 'Trop peu de paramètre : 1 attendu' car le moteur ne trouve pas dans la table de champ nommé intAnnee.
Si tu avais écris le SQL sous cette forme: strSQL="Select * from MaTable Where Year(DateNaissance)=" & intAnnee & ";" la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait: Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
Maintenant quand le SQL est long à écrire, on le fait sur 'plusieurs simili-lignes' en utilisant le caractère de continuité _ (underscore), question de lisibilité.
PS : Attention, lors de la concaténation, aux espaces nécessaires pour que le moteur SQL retrouve ses 'mots' et identifie champs et valeurs.
Est-ce plus clair ? -- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
re
Essaies :
sql2 = "DELETE [LIGNES BL TEMP].*, [BL TEMP].CodeClient," _
& " Format([DateSortie_temp],'mm')" _
& " AS Expr1, Format([DateSortie_temp],'yyyy') AS Expr2 " _
& " FROM [BL TEMP] INNER JOIN [LIGNES BL TEMP] ON " _
& " [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp] " _
& " WHERE [BL TEMP].CodeClient=" _
& [Forms]![Choix_cli_fact_perso]![CodeClient] _
& " AND Format([DateSortie_temp],'mm')=" _
& [Forms]![Choix_cli_fact_perso]![Mois] _
& " AND Format([DateSortie_temp],'yyyy')=" _
& [Forms]![Choix_cli_fact_perso]![Année] & ";"
Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes),
il n'y a pas de " après le & en début de ligne ni même après le
CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pour les lignes 7, 9 & 11, tu passes à la chaine SQL les valeurs
contenues dans les contôles CodeClient, Mois, Annee du formulaire
Choix_cli_fact_perso donc il ne fait pas les encadrer de ".
Un exemple est plus simple.
Supposons que j'ai une variable nommée intAnnee contenant une année (par
exemple 2007)
si j'écris le SQL ainsi:
strSQL="Select * from MaTable Where Year(DateNaissance)=intAnnee;"
lors de l'appel du SQL tu auras le message: 'Trop peu de paramètre : 1
attendu' car le moteur ne trouve pas dans la table de champ nommé intAnnee.
Si tu avais écris le SQL sous cette forme:
strSQL="Select * from MaTable Where Year(DateNaissance)=" & intAnnee & ";"
la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre
Exécution le contenu des variables sql (ici dans l'exemple strSQL).
Maintenant quand le SQL est long à écrire, on le fait sur 'plusieurs
simili-lignes' en utilisant le caractère de continuité _ (underscore),
question de lisibilité.
Essaies : sql2 = "DELETE [LIGNES BL TEMP].*, [BL TEMP].CodeClient," _ & " Format([DateSortie_temp],'mm')" _ & " AS Expr1, Format([DateSortie_temp],'yyyy') AS Expr2 " _ & " FROM [BL TEMP] INNER JOIN [LIGNES BL TEMP] ON " _ & " [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp] " _ & " WHERE [BL TEMP].CodeClient=" _ & [Forms]![Choix_cli_fact_perso]![CodeClient] _ & " AND Format([DateSortie_temp],'mm')=" _ & [Forms]![Choix_cli_fact_perso]![Mois] _ & " AND Format([DateSortie_temp],'yyyy')=" _ & [Forms]![Choix_cli_fact_perso]![Année] & ";" Mais je remarque que sur les lignes 7, 9 et 11 (si on compte 11 lignes),
il n'y a pas de " après le & en début de ligne ni même après le CodeClient de la ligne 7, le [Mois] de la ligne 9.
Pour les lignes 7, 9 & 11, tu passes à la chaine SQL les valeurs contenues dans les contôles CodeClient, Mois, Annee du formulaire Choix_cli_fact_perso donc il ne fait pas les encadrer de ".
Un exemple est plus simple. Supposons que j'ai une variable nommée intAnnee contenant une année (par exemple 2007) si j'écris le SQL ainsi: strSQL="Select * from MaTable Where Year(DateNaissance)=intAnnee;" lors de l'appel du SQL tu auras le message: 'Trop peu de paramètre : 1 attendu' car le moteur ne trouve pas dans la table de champ nommé intAnnee.
Si tu avais écris le SQL sous cette forme: strSQL="Select * from MaTable Where Year(DateNaissance)=" & intAnnee & ";" la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait: Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
Maintenant quand le SQL est long à écrire, on le fait sur 'plusieurs simili-lignes' en utilisant le caractère de continuité _ (underscore), question de lisibilité.
PS : Attention, lors de la concaténation, aux espaces nécessaires pour que le moteur SQL retrouve ses 'mots' et identifie champs et valeurs.
Est-ce plus clair ? Oui, c'est maintenant plus clair.
Merci beaucoup pour cette explication.
Je vais me la garder sous le coude au cas où j'en aurais encore besoin.
En tout cas, Eric : merci pour ta patience et ton dévouement.
Gundt
Gundt
Re,
[...] > la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module quand on clique sur le petit triangle bleu (comme le signe lecture du magnétoscope) ? Et en mettant msgbox "strSQL" ?
C'est cela ?
merci encore.
Gundt
Re,
[...] > la chaine strSQL que tu crées par concaténation (opérateur &)
contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre
Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module
quand on clique sur le petit triangle bleu (comme le signe lecture du
magnétoscope) ?
Et en mettant msgbox "strSQL" ?
[...] > la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module quand on clique sur le petit triangle bleu (comme le signe lecture du magnétoscope) ? Et en mettant msgbox "strSQL" ?
C'est cela ?
merci encore.
Gundt
Eric
Dans l'interface VB, pour afficher la fenêtre Exécution : - Menu Affichage |Fenêtre Exécution ou CTRL + G La fenêtre s'affiche sous le module en général. et tu mets Debug.Print strSQL après avoir construit ton sql
Re,
[...] > la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module quand on clique sur le petit triangle bleu (comme le signe lecture du magnétoscope) ? Et en mettant msgbox "strSQL" ?
C'est cela ?
merci encore.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans l'interface VB, pour afficher la fenêtre Exécution :
- Menu Affichage |Fenêtre Exécution ou CTRL + G
La fenêtre s'affiche sous le module en général.
et tu mets Debug.Print strSQL après avoir construit ton sql
Re,
[...] > la chaine strSQL que tu crées par concaténation (opérateur &)
contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre
Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module
quand on clique sur le petit triangle bleu (comme le signe lecture du
magnétoscope) ?
Et en mettant msgbox "strSQL" ?
C'est cela ?
merci encore.
Gundt
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans l'interface VB, pour afficher la fenêtre Exécution : - Menu Affichage |Fenêtre Exécution ou CTRL + G La fenêtre s'affiche sous le module en général. et tu mets Debug.Print strSQL après avoir construit ton sql
Re,
[...] > la chaine strSQL que tu crées par concaténation (opérateur &) contiendrait:
Select * from MaTable where Year(DateNaissance) 07;
C'est pourquoi je t'avais dit de faire afficher dans la fenêtre Exécution le contenu des variables sql (ici dans l'exemple strSQL).
C'est où cette fenêtre exécution. Tu veux dire la fenêtre du module quand on clique sur le petit triangle bleu (comme le signe lecture du magnétoscope) ? Et en mettant msgbox "strSQL" ?
C'est cela ?
merci encore.
Gundt
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr