un appel à l'aide malgré (ou à cause de ,) l'heure tardive !
à l'ouverture d'un formulaire, je cherche à créer dans une table "programme"
plusieurs lignes correspondant chacune aux 5 jours ouvrables, ce qui me
permettra de stocker des données par une méthode "SQL update". Mon code
marche bien quand la date existe déjà dans le champ "dateprog", mais je
n'arrive pas à la créer si elle n'existe pas déjà dans la table.
Mon formulaire comporte les champs date nommés "lundi", "mardi", "etc", qui
affichent chacun la bonne date, et je dispose des boutons qui me font aller
de semaine en semaine, en commençant par le lundi. je souhaite que pour
chaque semaine affichée soient créés les lignes correspondantes dans la
table. Comment m'y prendre pour que les lignes correspondantes soient
testées et créées le cas échéant dans la table ?
je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew
etc...
Pouvez-vous me mettre sur la voie ?
j'ai oublié de préciser que le form est indépendant, c'est p'tet important ?
-- Cordialement,
Stéphane Brille www.microbloc.com (enlevez NosSpam. pour répondre)
Anor
Bonjour,
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;" currentdb.execute strsql end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;" currentdb.execute strsql end if
et ainsi de suite jusqu'à dimanche. donc pas besoin d'ouvrir de recordset avec cette solution ;-)
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Stéphane Brille : | Bonsoir le forum, | | un appel à l'aide malgré (ou à cause de ,) l'heure tardive ! | | à l'ouverture d'un formulaire, je cherche à créer dans une table | "programme" plusieurs lignes correspondant chacune aux 5 jours | ouvrables, ce qui me permettra de stocker des données par une méthode | "SQL update". Mon code marche bien quand la date existe déjà dans le | champ "dateprog", mais je n'arrive pas à la créer si elle n'existe | pas déjà dans la table. | | Mon formulaire comporte les champs date nommés "lundi", "mardi", | "etc", qui affichent chacun la bonne date, et je dispose des boutons | qui me font aller de semaine en semaine, en commençant par le lundi. | je souhaite que pour chaque semaine affichée soient créés les lignes | correspondantes dans la table. Comment m'y prendre pour que les | lignes correspondantes soient testées et créées le cas échéant dans | la table ? | | je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew | etc... | Pouvez-vous me mettre sur la voie ? | | Merci d'avance !
Bonjour,
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string
If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then
strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;"
currentdb.execute strsql
end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then
strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;"
currentdb.execute strsql
end if
et ainsi de suite jusqu'à dimanche.
donc pas besoin d'ouvrir de recordset avec cette solution ;-)
--
à+
Arnaud
--------------------------------------------------
Avant toute chose : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
## Réponses souhaitées sur ce forum, merci. ##
--------------------------------------------------
Stéphane Brille <sbrille@microbloc.com> :
| Bonsoir le forum,
|
| un appel à l'aide malgré (ou à cause de ,) l'heure tardive !
|
| à l'ouverture d'un formulaire, je cherche à créer dans une table
| "programme" plusieurs lignes correspondant chacune aux 5 jours
| ouvrables, ce qui me permettra de stocker des données par une méthode
| "SQL update". Mon code marche bien quand la date existe déjà dans le
| champ "dateprog", mais je n'arrive pas à la créer si elle n'existe
| pas déjà dans la table.
|
| Mon formulaire comporte les champs date nommés "lundi", "mardi",
| "etc", qui affichent chacun la bonne date, et je dispose des boutons
| qui me font aller de semaine en semaine, en commençant par le lundi.
| je souhaite que pour chaque semaine affichée soient créés les lignes
| correspondantes dans la table. Comment m'y prendre pour que les
| lignes correspondantes soient testées et créées le cas échéant dans
| la table ?
|
| je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew
| etc...
| Pouvez-vous me mettre sur la voie ?
|
| Merci d'avance !
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;" currentdb.execute strsql end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;" currentdb.execute strsql end if
et ainsi de suite jusqu'à dimanche. donc pas besoin d'ouvrir de recordset avec cette solution ;-)
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Stéphane Brille : | Bonsoir le forum, | | un appel à l'aide malgré (ou à cause de ,) l'heure tardive ! | | à l'ouverture d'un formulaire, je cherche à créer dans une table | "programme" plusieurs lignes correspondant chacune aux 5 jours | ouvrables, ce qui me permettra de stocker des données par une méthode | "SQL update". Mon code marche bien quand la date existe déjà dans le | champ "dateprog", mais je n'arrive pas à la créer si elle n'existe | pas déjà dans la table. | | Mon formulaire comporte les champs date nommés "lundi", "mardi", | "etc", qui affichent chacun la bonne date, et je dispose des boutons | qui me font aller de semaine en semaine, en commençant par le lundi. | je souhaite que pour chaque semaine affichée soient créés les lignes | correspondantes dans la table. Comment m'y prendre pour que les | lignes correspondantes soient testées et créées le cas échéant dans | la table ? | | je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew | etc... | Pouvez-vous me mettre sur la voie ? | | Merci d'avance !
Pierre CFI [mvp]
bonjour oui, anor je sais pas si c'est la bonne solution, mais il faut un format date US If dcount("*","LaTable","[dateprog] = #" & Format(me!lundi.value,"mm/dd/yyyy") & "#")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news: OqKqt#
Bonjour,
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;" currentdb.execute strsql end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;" currentdb.execute strsql end if
et ainsi de suite jusqu'à dimanche. donc pas besoin d'ouvrir de recordset avec cette solution ;-)
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Stéphane Brille : | Bonsoir le forum, | | un appel à l'aide malgré (ou à cause de ,) l'heure tardive ! | | à l'ouverture d'un formulaire, je cherche à créer dans une table | "programme" plusieurs lignes correspondant chacune aux 5 jours | ouvrables, ce qui me permettra de stocker des données par une méthode | "SQL update". Mon code marche bien quand la date existe déjà dans le | champ "dateprog", mais je n'arrive pas à la créer si elle n'existe | pas déjà dans la table. | | Mon formulaire comporte les champs date nommés "lundi", "mardi", | "etc", qui affichent chacun la bonne date, et je dispose des boutons | qui me font aller de semaine en semaine, en commençant par le lundi. | je souhaite que pour chaque semaine affichée soient créés les lignes | correspondantes dans la table. Comment m'y prendre pour que les | lignes correspondantes soient testées et créées le cas échéant dans | la table ? | | je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew | etc... | Pouvez-vous me mettre sur la voie ? | | Merci d'avance !
bonjour
oui, anor je sais pas si c'est la bonne solution, mais il faut un format date US
If dcount("*","LaTable","[dateprog] = #" & Format(me!lundi.value,"mm/dd/yyyy") & "#")
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news: OqKqt#CqDHA.3256@tk2msftngp13.phx.gbl...
Bonjour,
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string
If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then
strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;"
currentdb.execute strsql
end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then
strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;"
currentdb.execute strsql
end if
et ainsi de suite jusqu'à dimanche.
donc pas besoin d'ouvrir de recordset avec cette solution ;-)
--
à+
Arnaud
--------------------------------------------------
Avant toute chose : http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
## Réponses souhaitées sur ce forum, merci. ##
--------------------------------------------------
Stéphane Brille <sbrille@microbloc.com> :
| Bonsoir le forum,
|
| un appel à l'aide malgré (ou à cause de ,) l'heure tardive !
|
| à l'ouverture d'un formulaire, je cherche à créer dans une table
| "programme" plusieurs lignes correspondant chacune aux 5 jours
| ouvrables, ce qui me permettra de stocker des données par une méthode
| "SQL update". Mon code marche bien quand la date existe déjà dans le
| champ "dateprog", mais je n'arrive pas à la créer si elle n'existe
| pas déjà dans la table.
|
| Mon formulaire comporte les champs date nommés "lundi", "mardi",
| "etc", qui affichent chacun la bonne date, et je dispose des boutons
| qui me font aller de semaine en semaine, en commençant par le lundi.
| je souhaite que pour chaque semaine affichée soient créés les lignes
| correspondantes dans la table. Comment m'y prendre pour que les
| lignes correspondantes soient testées et créées le cas échéant dans
| la table ?
|
| je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew
| etc...
| Pouvez-vous me mettre sur la voie ?
|
| Merci d'avance !
bonjour oui, anor je sais pas si c'est la bonne solution, mais il faut un format date US If dcount("*","LaTable","[dateprog] = #" & Format(me!lundi.value,"mm/dd/yyyy") & "#")
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Anor" <http://memoaccess.free.fr/anor/email.htm> a écrit dans le message de news: OqKqt#
Bonjour,
Si j'ai bien compris (code non testé écrit à la volée)
Dim strsql as string If dcount("*","LaTable","[dateprog] = #" & me!lundi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!lundi.value & " ;" currentdb.execute strsql end if
If dcount("*","LaTable","[dateprog] = #" & me!mardi.value & "#") = 0 then strsql = "INSERT INTO LaTable (dateprog) SELECT " & me!mardi.value & " ;" currentdb.execute strsql end if
et ainsi de suite jusqu'à dimanche. donc pas besoin d'ouvrir de recordset avec cette solution ;-)
-- à+ Arnaud -------------------------------------------------- Avant toute chose : http://users.skynet.be/mpfa/ Access Memorandum - http://memoaccess.free.fr ## Réponses souhaitées sur ce forum, merci. ## --------------------------------------------------
Stéphane Brille : | Bonsoir le forum, | | un appel à l'aide malgré (ou à cause de ,) l'heure tardive ! | | à l'ouverture d'un formulaire, je cherche à créer dans une table | "programme" plusieurs lignes correspondant chacune aux 5 jours | ouvrables, ce qui me permettra de stocker des données par une méthode | "SQL update". Mon code marche bien quand la date existe déjà dans le | champ "dateprog", mais je n'arrive pas à la créer si elle n'existe | pas déjà dans la table. | | Mon formulaire comporte les champs date nommés "lundi", "mardi", | "etc", qui affichent chacun la bonne date, et je dispose des boutons | qui me font aller de semaine en semaine, en commençant par le lundi. | je souhaite que pour chaque semaine affichée soient créés les lignes | correspondantes dans la table. Comment m'y prendre pour que les | lignes correspondantes soient testées et créées le cas échéant dans | la table ? | | je suis empoté ce soir, et me mélange les pinceaux dans les rst.addnew | etc... | Pouvez-vous me mettre sur la voie ? | | Merci d'avance !
Stéphane Brille
Merci,
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;" sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été converties avec la fonction Cdate() ? ici, les dates sont stockées dans la table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide apportée aux amateurs...
-- Cordialement,
Stéphane Brille www.microbloc.com
Merci,
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne
strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;"
sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de
dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne
se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été
converties avec la fonction Cdate() ? ici, les dates sont stockées dans la
table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide
apportée aux amateurs...
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;" sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été converties avec la fonction Cdate() ? ici, les dates sont stockées dans la table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide apportée aux amateurs...
-- Cordialement,
Stéphane Brille www.microbloc.com
Pierre CFI [mvp]
oui, si tes dates dans ta table sont en dd/mm/yyyy, verifie quand méme sur des jours inférieurs à 12
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Brille" a écrit dans le message de news: boqc7f$tdk$
Merci,
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;" sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été converties avec la fonction Cdate() ? ici, les dates sont stockées dans la table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide apportée aux amateurs...
-- Cordialement,
Stéphane Brille www.microbloc.com
oui, si tes dates dans ta table sont en dd/mm/yyyy, verifie quand méme sur des jours inférieurs à 12
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Stéphane Brille" <sbrille@NoSpam.microbloc.com> a écrit dans le message de news: boqc7f$tdk$1@news-reader1.wanadoo.fr...
Merci,
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne
strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;"
sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de
dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne
se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été
converties avec la fonction Cdate() ? ici, les dates sont stockées dans la
table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide
apportée aux amateurs...
oui, si tes dates dans ta table sont en dd/mm/yyyy, verifie quand méme sur des jours inférieurs à 12
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Brille" a écrit dans le message de news: boqc7f$tdk$
Merci,
le code d'Anor marche super, j'ai simplement ajouté les # à la ligne strsql = "INSERT INTO LaTable (dateprog) SELECT #" & me!lundi.value & "# ;" sinon, les valeurs stockées ne sont pas prises pour des dates.
Pour la remarque de Pierre, j'ai déjà beaucoup galéré avec les formats de dates US ou non dans mes vies antérieures, mais dans ce cas, le problème ne se pose pas, peut-être parce que les valeurs dans Lundi, Mardi, etc, ont été converties avec la fonction Cdate() ? ici, les dates sont stockées dans la table au format dd/mm/yyyy.
Encore merci à vous de l'énergie que vous consacrez à ce forum, et de l'aide apportée aux amateurs...
-- Cordialement,
Stéphane Brille www.microbloc.com
Stéphane Brille
J'ai encore répondu trop vite ! Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003 s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne 10/03/2003 ? parce que 27 > 12 ? On est peu de chose, quand même...
-- Cordialement,
Stéphane Brille www.microbloc.com (enlevez NoSpam. pour répondre)
J'ai encore répondu trop vite !
Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003
s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne
10/03/2003 ? parce que 27 > 12 ?
On est peu de chose, quand même...
--
Cordialement,
Stéphane Brille
www.microbloc.com
(enlevez NoSpam. pour répondre)
J'ai encore répondu trop vite ! Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003 s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne 10/03/2003 ? parce que 27 > 12 ? On est peu de chose, quand même...
-- Cordialement,
Stéphane Brille www.microbloc.com (enlevez NoSpam. pour répondre)
Pierre CFI [mvp]
et oui, des que le jour est > 12, il comprend d'ailleurs dans une table acces si tu saisis 4/14/2003 , automatiquement il ecris 14/4/2003 ah ces dates :o(((
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Brille" a écrit dans le message de news: boqdfj$l3i$
J'ai encore répondu trop vite ! Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003 s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne 10/03/2003 ? parce que 27 > 12 ? On est peu de chose, quand même...
-- Cordialement,
Stéphane Brille www.microbloc.com (enlevez NoSpam. pour répondre)
et oui, des que le jour est > 12, il comprend
d'ailleurs dans une table acces si tu saisis 4/14/2003 , automatiquement il ecris 14/4/2003
ah ces dates :o(((
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Stéphane Brille" <sbrille@NoSpam.microbloc.com> a écrit dans le message de news: boqdfj$l3i$1@news-reader4.wanadoo.fr...
J'ai encore répondu trop vite !
Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003
s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne
10/03/2003 ? parce que 27 > 12 ?
On est peu de chose, quand même...
--
Cordialement,
Stéphane Brille
www.microbloc.com
(enlevez NoSpam. pour répondre)
et oui, des que le jour est > 12, il comprend d'ailleurs dans une table acces si tu saisis 4/14/2003 , automatiquement il ecris 14/4/2003 ah ces dates :o(((
-- Pierre CFI MVP Microsoft Access Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer http://users.skynet.be/mpfa/ Site perso http://access.cfi.free.fr "Stéphane Brille" a écrit dans le message de news: boqdfj$l3i$
J'ai encore répondu trop vite ! Pierre a raison, il faut passer en format US, mais pourquoi 27/10/2003 s'enregistre-t'il correctement dans la table, alors que 03/10/2003 donne 10/03/2003 ? parce que 27 > 12 ? On est peu de chose, quand même...
-- Cordialement,
Stéphane Brille www.microbloc.com (enlevez NoSpam. pour répondre)