Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère
le numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) " _
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient]
& ");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère
le numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) " _
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient]
& ");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère
le numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) " _
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient]
& ");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère le
numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) "
_
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient] &
");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine. Passe dans la fenetre ligne de commande et
tape debug.print lenomdetavariablechainesql
Elle s'affiche alors.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère le
numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) "
_
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient] &
");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine. Passe dans la fenetre ligne de commande et
tape debug.print lenomdetavariablechainesql
Elle s'affiche alors.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Bonsoir à tous,
J'ai dans le code d'un formulaire sur le bouton aperçu avant impression
qui exécute un code qui me crée un numéro de facture. Le code récupère le
numéro de facture dans une variable nommée nouvnum.
Je l'ai donc mis en critère (en plus du mois, de l'année, et du
Codeclient) dans la requête ajout : il n'y a pas de message de
compilation ni de message d'erreur à l'exécution du programme.
Simplement, la requête n'ajoute pas les enregistrements (je suis certain
qu'il y en a).
Voici cette requête sql :
sql1 = "INSERT INTO [LIGNES FACTURES] " _
& "( [Code article], Désignation, [Prix unitaire], " _
& "[Code unité], Quantité, [Total ligne], DateBL, [N°BL], Numfacture )" _
& "SELECT DISTINCTROW [LIGNES BL TEMP].[Code article], " _
& "[LIGNES BL TEMP].Désignation, [LIGNES BL TEMP].[Prix unitaire], " _
& "[LIGNES BL TEMP].[Code unité], [LIGNES BL TEMP].Quantité, " _
& "[LIGNES BL TEMP].[Total ligne], BL.DateSortie, BL.[N°BL], " _
& "FACTURES.Numfacture" _
& "FROM BL INNER JOIN ((((CLIENTS INNER JOIN FACTURES " _
& "ON CLIENTS.Codeclient = FACTURES.CodeClient) " _
& "INNER JOIN ([BL TEMP] INNER JOIN [LIGNES BL TEMP] " _
& "ON [BL TEMP].[N°BL_temp] = [LIGNES BL TEMP].[N°BL_temp]) " _
& "ON FACTURES.CodeClient = [BL TEMP].CodeClient) " _
& "INNER JOIN ETABLISSEMENTS " _
& "ON (ETABLISSEMENTS.Codetab = CLIENTS.Codetab) " _
& "AND (FACTURES.Codetab = ETABLISSEMENTS.Codetab)) " _
& "INNER JOIN SERVICES ON FACTURES.Codeservice = SERVICES.Codeservice) "
_
& "ON BL.[N°BL] = [BL TEMP].[N°BL_temp]" _
& " " & " WHERE FACTURES.Numfacture=[nouvnum] " _
& "AND Format([DateSortie_temp],'mm')=" &
[Forms]![Choix_cli_fact_perso]![Mois] & " AND
Format([DateSortie_temp],'yyyy')" _
& " " & [Forms]![Choix_cli_fact_perso]![Année] & " AND " _
& "[BL TEMP].CodeClient=" & [Forms]![Choix_cli_fact_perso]![CodeClient] &
");"
Où est l'erreur ? Sans doute les & et des " :-(
Quelqu'un peut-il m'aider ?
Merci.
Gundt
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine. Passe dans la fenetre ligne de commande et
tape debug.print lenomdetavariablechainesql
Elle s'affiche alors.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur.
Passe sur ta procédure en mode debug, arretes toi apres la derniére
instruction de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
commande
C'est quoi et comment on fait ?
Elle s'affiche alors.
Je n'ai pas bien compris.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur.
Passe sur ta procédure en mode debug, arretes toi apres la derniére
instruction de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
commande
C'est quoi et comment on fait ?
Elle s'affiche alors.
Je n'ai pas bien compris.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur.
Passe sur ta procédure en mode debug, arretes toi apres la derniére
instruction de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
commande
C'est quoi et comment on fait ?
Elle s'affiche alors.
Je n'ai pas bien compris.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
[...]Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne m'affiche
rien.
Passe dans la fenetre ligne decommande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesqlElle s'affiche alors.
Je n'ai pas bien compris.Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
[...]
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne m'affiche
rien.
Passe dans la fenetre ligne de
commande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesql
Elle s'affiche alors.
Je n'ai pas bien compris.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
[...]Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne m'affiche
rien.
Passe dans la fenetre ligne decommande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesqlElle s'affiche alors.
Je n'ai pas bien compris.Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
Bonjour,
La réponse de Fabien est tout à fait pertinente.
Toutefois, cette requête me semble particulièrement figée et le fait de
l'écrire dans le code ne me semble pas apporter grand chose.
L'intéret d'écrire une requête SQL dans le code est de pouvoir créer une
requête complètement dynamique où l'on peut changer les tables, les champs
et les relations à sa guise.
Ici, je verrais plutôt une "vraie" requête enregistrée dans l'éditeur de
requête où, comme l'a dit Fabien, il est beaucoup plus facile de détecter
une erreur.
A moins que le but soit de minimiser le nombre de requêtes "visibles" par
les utilisateurs, auquel cas, il existe d'autres moyens comme masquer la
requête.
Espérant avoir fait avancer le débat...
Bonjour Gilles et les autres,
Bonjour,
La réponse de Fabien est tout à fait pertinente.
Toutefois, cette requête me semble particulièrement figée et le fait de
l'écrire dans le code ne me semble pas apporter grand chose.
L'intéret d'écrire une requête SQL dans le code est de pouvoir créer une
requête complètement dynamique où l'on peut changer les tables, les champs
et les relations à sa guise.
Ici, je verrais plutôt une "vraie" requête enregistrée dans l'éditeur de
requête où, comme l'a dit Fabien, il est beaucoup plus facile de détecter
une erreur.
A moins que le but soit de minimiser le nombre de requêtes "visibles" par
les utilisateurs, auquel cas, il existe d'autres moyens comme masquer la
requête.
Espérant avoir fait avancer le débat...
Bonjour Gilles et les autres,
Bonjour,
La réponse de Fabien est tout à fait pertinente.
Toutefois, cette requête me semble particulièrement figée et le fait de
l'écrire dans le code ne me semble pas apporter grand chose.
L'intéret d'écrire une requête SQL dans le code est de pouvoir créer une
requête complètement dynamique où l'on peut changer les tables, les champs
et les relations à sa guise.
Ici, je verrais plutôt une "vraie" requête enregistrée dans l'éditeur de
requête où, comme l'a dit Fabien, il est beaucoup plus facile de détecter
une erreur.
A moins que le but soit de minimiser le nombre de requêtes "visibles" par
les utilisateurs, auquel cas, il existe d'autres moyens comme masquer la
requête.
Espérant avoir fait avancer le débat...
Bonjour Gilles et les autres,
[...]Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
m'affiche rien.
Passe dans la fenetre ligne decommande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesqlElle s'affiche alors.
Je n'ai pas bien compris.Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
[...]
Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
m'affiche rien.
Passe dans la fenetre ligne de
commande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesql
Elle s'affiche alors.
Je n'ai pas bien compris.
Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.
Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
[...]Bonjour Gundt
Juste un 'truc' en passant
Lorsque tu as des requetes dans du code dont tu n'est pas trop sur. Passe
sur ta procédure en mode debug, arretes toi apres la derniére instruction
de génération de ta chaine.
J'ai tapé comme me l'a conseillé Eric debug.print sql1 mais cela ne
m'affiche rien.
Passe dans la fenetre ligne decommande
C'est quoi et comment on fait ?
et tape debug.print lenomdetavariablechainesqlElle s'affiche alors.
Je n'ai pas bien compris.Tu selectionnes, tu copie. Tu revient dans les requetes,nouvelles tu ne
choisit pas de table,Tu clic sur SQL (1er outils a gauche) et dans cette
fenetre tu copies ta chaine sql.
Je faisais l'inverse jusqu'à présent. Je crée une requête en mode création
puis je passe en mode sql et je la copie dans la procédure sous forme de
chaîne de caractère. Mais le problème, c'est qu'une requête qui fonctionne
dans l'onglet requête ne fonctionne pas forcément dans la procédure (c'est
toujours là où je suis embêté).
Je voudrais bien essayer ce que tu me dis mais ma requête au départ
fonctionne dans l'onglet requête. C'est quand je passe en mode sql dans la
procédure qu'il faut ajouter des & et des " pour que cela se passe bien.Déjà là tu saura si c'est ok ou pas.
Ensuite tu la fait tourner pour voir le resultat.
A 90% on, trouve où est l'erreur ;-)
Tente le coups !
@+
Fabien
Merci Fabien.
Gundt
Bonjour, Gundt
Debug.Print envoie le texte en paramètre dans le fenêtre Exécution de
l'éditeur VBA. Le raccourci-clavier pour accéder à cette fenêtre est Ctrl+G.
Oui, cette fois-ci, je viens de voir le fonctionnement de cette fenêtre.
Pour revenir sur ce que je te proposais:
Pour masquer ta requête: clic-droit, Propriétés et cocher l'attribut
"Masqué".
Pour éviter que les autres utilisateurs ne la voient, menu
OutilsOptions..., onglet Affichage, dans Afficher, décocher "Objets
masqués" (à faire sur les postes des utilisateurs uniquement, mieux vaut que
tu gardes cette option cochée sur le tien pour faire tes modifications)
Ok. Je ne savais pas.
Bonjour, Gundt
Debug.Print envoie le texte en paramètre dans le fenêtre Exécution de
l'éditeur VBA. Le raccourci-clavier pour accéder à cette fenêtre est Ctrl+G.
Oui, cette fois-ci, je viens de voir le fonctionnement de cette fenêtre.
Pour revenir sur ce que je te proposais:
Pour masquer ta requête: clic-droit, Propriétés et cocher l'attribut
"Masqué".
Pour éviter que les autres utilisateurs ne la voient, menu
OutilsOptions..., onglet Affichage, dans Afficher, décocher "Objets
masqués" (à faire sur les postes des utilisateurs uniquement, mieux vaut que
tu gardes cette option cochée sur le tien pour faire tes modifications)
Ok. Je ne savais pas.
Bonjour, Gundt
Debug.Print envoie le texte en paramètre dans le fenêtre Exécution de
l'éditeur VBA. Le raccourci-clavier pour accéder à cette fenêtre est Ctrl+G.
Oui, cette fois-ci, je viens de voir le fonctionnement de cette fenêtre.
Pour revenir sur ce que je te proposais:
Pour masquer ta requête: clic-droit, Propriétés et cocher l'attribut
"Masqué".
Pour éviter que les autres utilisateurs ne la voient, menu
OutilsOptions..., onglet Affichage, dans Afficher, décocher "Objets
masqués" (à faire sur les postes des utilisateurs uniquement, mieux vaut que
tu gardes cette option cochée sur le tien pour faire tes modifications)
Ok. Je ne savais pas.
Bonjour,
Je pense qu'il faut que tu sortes de ton sql [nouvnum] puisqu'il est
créé dans la procédure.
... & " WHERE FACTURES.Numfacture=" & nouvnum & "..."
Bonjour,
Je pense qu'il faut que tu sortes de ton sql [nouvnum] puisqu'il est
créé dans la procédure.
... & " WHERE FACTURES.Numfacture=" & nouvnum & "..."
Bonjour,
Je pense qu'il faut que tu sortes de ton sql [nouvnum] puisqu'il est
créé dans la procédure.
... & " WHERE FACTURES.Numfacture=" & nouvnum & "..."