Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à
l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table
contient déjà des enregittrements, mais ne fonctionne plus si la table est
vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à
l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table
contient déjà des enregittrements, mais ne fonctionne plus si la table est
vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans le cas d'un ajout tu ne dois pas mettre rstRP.Edit car tu ne peux pas demander une autorisation de modification sur un enregistrement inexistant.
Ok ?
A+ Eric
"Joël GARBE" écrivait news:41a7927c$0$16366$:
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans une procédure VBA qui permet de modifier le contenu d'un champ,
suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque
la table contient déjà des enregittrements, mais ne fonctionne plus si
la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Dans le cas d'un ajout tu ne dois pas mettre rstRP.Edit car tu ne peux pas demander une autorisation de modification sur un enregistrement inexistant.
Ok ?
A+ Eric
"Joël GARBE" écrivait news:41a7927c$0$16366$:
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Eric" a écrit dans le message de news:
Bonjour Joel,
Dans le cas d'un ajout tu ne dois pas mettre rstRP.Edit car tu ne peux pas demander une autorisation de modification sur un enregistrement inexistant.
Ok ?
A+ Eric
"Joël GARBE" écrivait news:41a7927c$0$16366$:
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la
table, mais lorsque j'efface tous les enregistrement de la table, alors,cela
plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
XnF95ADDCE7AF1C2fframZZhotmailcom@207.46.248.16...
Bonjour Joel,
Dans le cas d'un ajout tu ne dois pas mettre rstRP.Edit
car tu ne peux pas demander une autorisation de modification sur un
enregistrement inexistant.
Dans une procédure VBA qui permet de modifier le contenu d'un champ,
suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque
la table contient déjà des enregittrements, mais ne fonctionne plus si
la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Eric" a écrit dans le message de news:
Bonjour Joel,
Dans le cas d'un ajout tu ne dois pas mettre rstRP.Edit car tu ne peux pas demander une autorisation de modification sur un enregistrement inexistant.
Ok ?
A+ Eric
"Joël GARBE" écrivait news:41a7927c$0$16366$:
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Alberto" a écrit dans le message de news:
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas
ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Alberto" <Alberto@discussions.microsoft.com> a écrit dans le message de
news: CF356A08-075C-4F94-B7DE-4D76B5D7D854@microsoft.com...
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ,
suite à
l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table
contient déjà des enregittrements, mais ne fonctionne plus si la table
est
vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Alberto" a écrit dans le message de news:
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Alberto" a écrit dans le message de news:
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas
ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Alberto" <Alberto@discussions.microsoft.com> a écrit dans le message de
news: CF356A08-075C-4F94-B7DE-4D76B5D7D854@microsoft.com...
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ,
suite à
l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table
contient déjà des enregittrements, mais ne fonctionne plus si la table
est
vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne
rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Mais il me dit que l'objet spécifié (le nom de ma table) n'est pas ouvert...!!
Si tu pouvais me dire où se situe m nouvelle erreur ?
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Alberto" a écrit dans le message de news:
DoCmd.GoToRecord , , acNewRec
Bonsoir à Tous
Dans une procédure VBA qui permet de modifier le contenu d'un champ, suite à l'ajout d'un enregistrement, cela fonctionne très bien lorsque la table contient déjà des enregittrements, mais ne fonctionne plus si la table est vide !
rstRP et rstP sont des clones de 2 tables
Lorsque la table rstRP est vide, le code plante à partir de la ligne rstRP.Edit (Erreur 3021)
La commende AddNew n'est pas suffisante dans ce cas ?
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
re Joel,
Si la table est vide :
rstRP.AddNew
rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe")
rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur
l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis
set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu
devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu
dois ajouter ou modifier
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à
fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement
dans la table, mais lorsque j'efface tous les enregistrement de la
table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au
problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Joël GARBE
Merci Erci,
ça commence à devenir plus clair...
En fait, javais mis, en début de procédure :
Set rstR = dbs.OpenRecordset("Liste Recensements", dbOpenDynaset) Set rstRP = rstR.Clone
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Encore grand merci et bonne soirée...
Je serais heureux d'avoir des commentaires supplémentaires, pour mon information
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Eric" a écrit dans le message de news:
re Joel,
Si la table est vide : rstRP.AddNew rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe") rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Merci Erci,
ça commence à devenir plus clair...
En fait, javais mis, en début de procédure :
Set rstR = dbs.OpenRecordset("Liste Recensements", dbOpenDynaset)
Set rstRP = rstR.Clone
au final, la proposition d'Alberto semble fonctionner parfaitement, que la
table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire
avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la
précédente (celle que tu évoques et que j'avais commencer à employer)
Encore grand merci et bonne soirée...
Je serais heureux d'avoir des commentaires supplémentaires, pour mon
information
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
XnF95ADE2EAD64E2fframZZhotmailcom@207.46.248.16...
re Joel,
Si la table est vide :
rstRP.AddNew
rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe")
rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur
l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis
set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu
devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu
dois ajouter ou modifier
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à
fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement
dans la table, mais lorsque j'efface tous les enregistrement de la
table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au
problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Set rstR = dbs.OpenRecordset("Liste Recensements", dbOpenDynaset) Set rstRP = rstR.Clone
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Encore grand merci et bonne soirée...
Je serais heureux d'avoir des commentaires supplémentaires, pour mon information
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Eric" a écrit dans le message de news:
re Joel,
Si la table est vide : rstRP.AddNew rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe") rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
3stone
Salut,
"Joël GARBE"
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...) il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on pourrait croire sur l'objet "en cours"...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"Joël GARBE"
au final, la proposition d'Alberto semble fonctionner parfaitement, que la
table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire
avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la
précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...)
il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on pourrait
croire sur l'objet "en cours"...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...) il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on pourrait croire sur l'objet "en cours"...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Joël GARBE
Merci Pierre pour la précision,
Je vois que j'ai du travail sur la planche pour comprendre les subtilités évoquées (pour moi, ces notions sont encore floues).
Il me reste à parcourir quelques sites pour approfondir tout cela
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "3stone" a écrit dans le message de news: %23id%
Salut,
"Joël GARBE"
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...) il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on pourrait croire sur l'objet "en cours"...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Merci Pierre pour la précision,
Je vois que j'ai du travail sur la planche pour comprendre les subtilités
évoquées (pour moi, ces notions sont encore floues).
Il me reste à parcourir quelques sites pour approfondir tout cela
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"3stone" <3_stone_@_sky_net.be> a écrit dans le message de news:
%23id%23mEB1EHA.1968@tk2msftngp13.phx.gbl...
Salut,
"Joël GARBE"
au final, la proposition d'Alberto semble fonctionner parfaitement, que
la
table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire
avec DoCmd... et la différence qu'il y a entre cette façon de procéder et
la
précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...)
il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on
pourrait
croire sur l'objet "en cours"...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Je vois que j'ai du travail sur la planche pour comprendre les subtilités évoquées (pour moi, ces notions sont encore floues).
Il me reste à parcourir quelques sites pour approfondir tout cela
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "3stone" a écrit dans le message de news: %23id%
Salut,
"Joël GARBE"
au final, la proposition d'Alberto semble fonctionner parfaitement, que la table soit vide ou non !!!
Il me reste probablement à étudier de plus près tout ce qu'on peut faire avec DoCmd... et la différence qu'il y a entre cette façon de procéder et la précédente (celle que tu évoques et que j'avais commencer à employer)
Si je peux me permettre...
Lorsque l'on utilise un recordset (set rstRp=currentDb.Openrecordset...) il plus que "bizarre" d'utiliser un DoCmd.xyz ;-)
Un
=> DoCmd.GoToRecord , , acNewRec
s'utilise à l'ouverture d'un formulaire, par exemple.
Mais, mélanger les deux méthodes est "horrible"
De plus, les "DoCmd" agissent sur l'objet sélectioné et non comme on pourrait croire sur l'objet "en cours"...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Joël GARBE
Bonjour,
Suite au message de Pierre, j'ai repris ta proposition qui fonctionne également parfaitement (celle que je vais donc retenir ???)
Encore Merci et Bon Week-End --
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Eric" a écrit dans le message de news:
re Joel,
Si la table est vide : rstRP.AddNew rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe") rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Bonjour,
Suite au message de Pierre, j'ai repris ta proposition qui fonctionne
également parfaitement (celle que je vais donc retenir ???)
Encore Merci et Bon Week-End
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
XnF95ADE2EAD64E2fframZZhotmailcom@207.46.248.16...
re Joel,
Si la table est vide :
rstRP.AddNew
rstRP.Fields("Code Groupe") = rstP.Fields("Code Groupe")
rstRP.Update
si la table contient au moins 1 enregistrement, se positionner sur
l'enregistrement à modifier par les méthodes Find ou Seek puis
Je suppose que tu as mis
set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu
devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu
dois ajouter ou modifier
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à
fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement
dans la table, mais lorsque j'efface tous les enregistrement de la
table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au
problème ?
Je réponds à Alberto par rapport à sa suggestion ...
Je suppose que tu as mis set rstRp=currentDb.Openrecordset("laTable")
Comme tu ne sais pas a priori si la table rstRP est vide ou non, tu devrais utiliser les propriétés Eof ou Bof de rstRP pour savoir si tu dois ajouter ou modifier
C'est plus clair ?
Eric
"Joël GARBE" écrivait news:41a7986c$0$30429$:
Tout d'abord merci pour la réponse ... que je ne comprends pas tout à fait :
cela fonctionne très bien lorsqu'il y a au moins un enregistrement dans la table, mais lorsque j'efface tous les enregistrement de la table, alors,cela plante...
et je pensais que la commande AddNew permettait de remédier au problème ?
Je réponds à Alberto par rapport à sa suggestion ...