OVH Cloud OVH Cloud

suppression puis création

13 réponses
Avatar
gerard
bonjour
j'ai un recordset d'ouvert via une requete sql
strRequete=" Select parler_langues.ID_personnes,Parler_langues.langue_lib
where ID_personne = ' " + refcandidat + "'"
rsLangues.Open strRequete, Mconnect, adOpenDynamic, adLockOptimistic,
adCmdText

je voudrais mettre a jour ce recordset, car des langues peuvent avoir ete
modifiées voire supprimée ou ajoutée
je pensais supprimer tous les enregistrements
For I=0 to RsLangues.RecordCount
RrsLangues.Delete

I=I+1
Next I
et puis les recréer de nouveau,

If Form_Dossier.LstLangues.ListCount >0 then
I=1
For I=1 To Form_Dossier.LstLangues.ListCount -1
RsLangues.AddNew
RsLangues;ID_Personnes = RefCandidat
RsLangues!langue_lib = Form_Dossier.LstLangues.Column(0,I)
RsLangues!Niveau_ID = Form_Dossier.LstLangues.Coloumn(1,I)
Next I
End IF
rsLanngues.UpdateBatch
RsLangues.Close

mais je n'arrive pas a les supprimer
"" il me met erreur d'execution 3021
comme quoi BOF at EOF est egal a true ou l'enregistrement actuel a été
supprimé
l'opération demandée neccessite un enregoistrement actuel ""
alors qu'il y a bien un enregistrement

merci pour votre aide

gerard

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

pour supprimer tous les enregistrements tu peux utiliser une requête
suppression telle que:
docmd.runsql "delete * from parler_langues"
et ensuite tu ouvres.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbs5i$b13$
bonjour
j'ai un recordset d'ouvert via une requete sql
strRequete=" Select parler_langues.ID_personnes,Parler_langues.langue_lib
where ID_personne = ' " + refcandidat + "'"
rsLangues.Open strRequete, Mconnect, adOpenDynamic, adLockOptimistic,
adCmdText

je voudrais mettre a jour ce recordset, car des langues peuvent avoir ete
modifiées voire supprimée ou ajoutée
je pensais supprimer tous les enregistrements
For I=0 to RsLangues.RecordCount
RrsLangues.Delete

I=I+1
Next I
et puis les recréer de nouveau,

If Form_Dossier.LstLangues.ListCount >0 then
I=1
For I=1 To Form_Dossier.LstLangues.ListCount -1
RsLangues.AddNew
RsLangues;ID_Personnes = RefCandidat
RsLangues!langue_lib = Form_Dossier.LstLangues.Column(0,I)
RsLangues!Niveau_ID = Form_Dossier.LstLangues.Coloumn(1,I)
Next I
End IF
rsLanngues.UpdateBatch
RsLangues.Close

mais je n'arrive pas a les supprimer
"" il me met erreur d'execution 3021
comme quoi BOF at EOF est egal a true ou l'enregistrement actuel a été
supprimé
l'opération demandée neccessite un enregoistrement actuel ""
alors qu'il y a bien un enregistrement

merci pour votre aide

gerard




Avatar
gerard
bonjour

j'ai utilisé Docmd.RunSql "Delete * from RsLangues "
et j'ai l'erreur 3078
comme quoi le moteur de base de donnée Microsoft Jet ne peut pas trouver la
table ou la requete sources 'RsLangues'

merci
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

pour supprimer tous les enregistrements tu peux utiliser une requête
suppression telle que:
docmd.runsql "delete * from parler_langues"
et ensuite tu ouvres.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbs5i$b13$
bonjour
j'ai un recordset d'ouvert via une requete sql
strRequete=" Select
parler_langues.ID_personnes,Parler_langues.langue_lib


where ID_personne = ' " + refcandidat + "'"
rsLangues.Open strRequete, Mconnect, adOpenDynamic, adLockOptimistic,
adCmdText

je voudrais mettre a jour ce recordset, car des langues peuvent avoir
ete


modifiées voire supprimée ou ajoutée
je pensais supprimer tous les enregistrements
For I=0 to RsLangues.RecordCount
RrsLangues.Delete

I=I+1
Next I
et puis les recréer de nouveau,

If Form_Dossier.LstLangues.ListCount >0 then
I=1
For I=1 To Form_Dossier.LstLangues.ListCount -1
RsLangues.AddNew
RsLangues;ID_Personnes = RefCandidat
RsLangues!langue_lib = Form_Dossier.LstLangues.Column(0,I)
RsLangues!Niveau_ID = Form_Dossier.LstLangues.Coloumn(1,I)
Next I
End IF
rsLanngues.UpdateBatch
RsLangues.Close

mais je n'arrive pas a les supprimer
"" il me met erreur d'execution 3021
comme quoi BOF at EOF est egal a true ou l'enregistrement actuel a été
supprimé
l'opération demandée neccessite un enregoistrement actuel ""
alors qu'il y a bien un enregistrement

merci pour votre aide

gerard








Avatar
Raymond [mvp]
Si ta table existe ça ne doit afficher aucun message, même si la table est
déjà vide.
RsLangues n'est pas une table mais un recordset ? indique le nom de ta
table. tu es sûr de vouloir vider ta table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbu28$kts$
bonjour

j'ai utilisé Docmd.RunSql "Delete * from RsLangues "
et j'ai l'erreur 3078
comme quoi le moteur de base de donnée Microsoft Jet ne peut pas trouver
la

table ou la requete sources 'RsLangues'

merci


Avatar
gerard
bonjour

effectivement sur la consol mysql cela marche en retirant toutefois *
maintenant pour ma par il ne trouve pas la table
mais il parle du moteur Microsoft Jet
et moi je suis en Microsoft Ole DB Provider for ODBC Drivers
c'est peut etre la la cause
es ce que cela a une importance

merci
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

pour supprimer tous les enregistrements tu peux utiliser une requête
suppression telle que:
docmd.runsql "delete * from parler_langues"
et ensuite tu ouvres.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbs5i$b13$
bonjour
j'ai un recordset d'ouvert via une requete sql
strRequete=" Select
parler_langues.ID_personnes,Parler_langues.langue_lib


where ID_personne = ' " + refcandidat + "'"
rsLangues.Open strRequete, Mconnect, adOpenDynamic, adLockOptimistic,
adCmdText

je voudrais mettre a jour ce recordset, car des langues peuvent avoir
ete


modifiées voire supprimée ou ajoutée
je pensais supprimer tous les enregistrements
For I=0 to RsLangues.RecordCount
RrsLangues.Delete

I=I+1
Next I
et puis les recréer de nouveau,

If Form_Dossier.LstLangues.ListCount >0 then
I=1
For I=1 To Form_Dossier.LstLangues.ListCount -1
RsLangues.AddNew
RsLangues;ID_Personnes = RefCandidat
RsLangues!langue_lib = Form_Dossier.LstLangues.Column(0,I)
RsLangues!Niveau_ID = Form_Dossier.LstLangues.Coloumn(1,I)
Next I
End IF
rsLanngues.UpdateBatch
RsLangues.Close

mais je n'arrive pas a les supprimer
"" il me met erreur d'execution 3021
comme quoi BOF at EOF est egal a true ou l'enregistrement actuel a été
supprimé
l'opération demandée neccessite un enregoistrement actuel ""
alors qu'il y a bien un enregistrement

merci pour votre aide

gerard








Avatar
Raymond [mvp]
tu as quelle sorte de base ? mysql ? je suis nul en mysql.
si tu fais directement une requête suppression sur ta table, est-ce que ça
marche ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbvmi$le1$
bonjour

effectivement sur la consol mysql cela marche en retirant toutefois *
maintenant pour ma par il ne trouve pas la table
mais il parle du moteur Microsoft Jet
et moi je suis en Microsoft Ole DB Provider for ODBC Drivers
c'est peut etre la la cause
es ce que cela a une importance


Avatar
gerard
salut
je viens de lire que ce type de requete ne s'emploie qu'avec un base acces
.mdb
avec Sql c'est raté

merci si tu as une autre soluce
merci
"Raymond [mvp]" a écrit dans le message de
news:
Si ta table existe ça ne doit afficher aucun message, même si la table est
déjà vide.
RsLangues n'est pas une table mais un recordset ? indique le nom de ta
table. tu es sûr de vouloir vider ta table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbu28$kts$
bonjour

j'ai utilisé Docmd.RunSql "Delete * from RsLangues "
et j'ai l'erreur 3078
comme quoi le moteur de base de donnée Microsoft Jet ne peut pas trouver
la

table ou la requete sources 'RsLangues'

merci






Avatar
gerard
salut
j'ai fait
Docmd.runSql "Delete * From parler_langues Where ID_PERSONNE='" +
RefCandidat + "'"
et j'ai le meme message d'erreur

"Raymond [mvp]" a écrit dans le message de
news:
Si ta table existe ça ne doit afficher aucun message, même si la table est
déjà vide.
RsLangues n'est pas une table mais un recordset ? indique le nom de ta
table. tu es sûr de vouloir vider ta table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbu28$kts$
bonjour

j'ai utilisé Docmd.RunSql "Delete * from RsLangues "
et j'ai l'erreur 3078
comme quoi le moteur de base de donnée Microsoft Jet ne peut pas trouver
la

table ou la requete sources 'RsLangues'

merci






Avatar
Raymond [mvp]
si tu commençais par faire une requête suppression avec tes éléments et tes
critères ? lorsque ça fonctionnera tu l'inclueras dans ton code.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btc0d7$vb7$
salut
j'ai fait
Docmd.runSql "Delete * From parler_langues Where ID_PERSONNE='" +
RefCandidat + "'"
et j'ai le meme message d'erreur


Avatar
gerard
bonsoir
je travaille effectivement sur une base mysql mais je la commande en Sql
et la je ne sais pourquoi je n'arrive pas a supprimer les enregistrement
pourtant d'habitude
avec simplement
RsLangues.Delete, sans appel cela doit effacer l'enregistrement courant.??

merci

"Raymond [mvp]" a écrit dans le message de
news:
tu as quelle sorte de base ? mysql ? je suis nul en mysql.
si tu fais directement une requête suppression sur ta table, est-ce que ça
marche ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btbvmi$le1$
bonjour

effectivement sur la consol mysql cela marche en retirant toutefois *
maintenant pour ma par il ne trouve pas la table
mais il parle du moteur Microsoft Jet
et moi je suis en Microsoft Ole DB Provider for ODBC Drivers
c'est peut etre la la cause
es ce que cela a une importance






Avatar
Raymond [mvp]
je ne connais pas access sur mysql et je ne voudrais pas raconter des
bétises, alors je préfére m'abstenir.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"gerard" a écrit dans le message de
news:btc1l2$c3q$
bonsoir
je travaille effectivement sur une base mysql mais je la commande en Sql
et la je ne sais pourquoi je n'arrive pas a supprimer les enregistrement
pourtant d'habitude
avec simplement
RsLangues.Delete, sans appel cela doit effacer l'enregistrement courant.??


1 2