OVH Cloud OVH Cloud

Pb dans requete

2 réponses
Avatar
JCM
Bonjour

J'ai un probleme pour un nouvel enregistrement dans une=20
table.
Message d'erreur=3D le jeu d'enregistrement suivant ne prend=20
pas en charge la mise =E0 jour.

Voici mon code :

'enregistre le nouvel evenement
Set ADOagenda =3D New ADODB.Recordset
With ADOagenda
.ActiveConnection =3D ADOcn
.CursorType =3D adOpenDynamic
.Open "Select * from " & AGDconcerne & " where date=3D'"=20
& DateEVE & "' and heure=3D'" & SelectionTranche & "'"
End With
If IsNull(ADOagenda) Then
ADOagenda.AddNew
ADOagenda("date") =3D DateEVE
ADOagenda("heure") =3D SelectionTranche
ADOagenda("libelle") =3D Levenement
End If
ADOagenda.UpdateBatch adAffectAllChapters

cela BEUG sur la derniere ligne et si j'essaie=20
ADOagenda.Update (tout simplement) j'ai le meme message

je n'arrive pas =E0 voir ou est le probleme (car dans la=20
doc, c'est =E9crit comme cela)

Cordialement
JCM

2 réponses

Avatar
EddiGordo
"JCM" a émis l'idée suivante :
Bonjour

J'ai un probleme pour un nouvel enregistrement dans une
table.
Message d'erreur= le jeu d'enregistrement suivant ne prend
pas en charge la mise à jour.

Voici mon code :

'enregistre le nouvel evenement
Set ADOagenda = New ADODB.Recordset
With ADOagenda
.ActiveConnection = ADOcn
.CursorType = adOpenDynamic
.Open "Select * from " & AGDconcerne & " where date='"
& DateEVE & "' and heure='" & SelectionTranche & "'"
End With
If IsNull(ADOagenda) Then
ADOagenda.AddNew
ADOagenda("date") = DateEVE
ADOagenda("heure") = SelectionTranche
ADOagenda("libelle") = Levenement
End If
ADOagenda.UpdateBatch adAffectAllChapters

cela BEUG sur la derniere ligne et si j'essaie
ADOagenda.Update (tout simplement) j'ai le meme message

je n'arrive pas à voir ou est le probleme (car dans la
doc, c'est écrit comme cela)

Cordialement
JCM



bonjour

Ce qui me choque dans ton problème, c'est que ADOAgenda est un objet,
donc il ne peut pas être null (à moins qu'il n'existe une propriété par
défaut??) à la rigueur il pourrait être Nothing mais il est déclaré
plus haut (la ligne Set ADOAgenda etc.).
Ce qui m'amène à penser que le .AddNew n'est jamais exécuté car
Isnull(ADOAgenda) est toujours faux et donc le .Update poserait
problème dans ce cas...
Essaie plutôt en changeant ton test par "If ADOAgenda.Eof Then"

Ceci dit j'ai déjà rencontré cette erreur lors d'un développement en
Vb6 vers une base SQL ou je n'avais pas les droits en Insert sur la
table concernée car j'avais obligation par l'administrateur SQL
d'utiliser des procédures stockées qui elles avaient les droits
d'insertion...

En espérant que cela t'aide un peu


--
Enjoy !
Avatar
JCM
Bonjour

J'ai effectué les modifs comme tu me l'a conseillé et j'ai
le meme message d'erreur

JCM
-----Message d'origine-----
"JCM" a émis l'idée suivante :
Bonjour

J'ai un probleme pour un nouvel enregistrement dans une
table.
Message d'erreur= le jeu d'enregistrement suivant ne




prend
pas en charge la mise à jour.

Voici mon code :

'enregistre le nouvel evenement
Set ADOagenda = New ADODB.Recordset
With ADOagenda
.ActiveConnection = ADOcn
.CursorType = adOpenDynamic
.Open "Select * from " & AGDconcerne & " where




date='"
& DateEVE & "' and heure='" & SelectionTranche & "'"
End With
If IsNull(ADOagenda) Then
ADOagenda.AddNew
ADOagenda("date") = DateEVE
ADOagenda("heure") = SelectionTranche
ADOagenda("libelle") = Levenement
End If
ADOagenda.UpdateBatch adAffectAllChapters

cela BEUG sur la derniere ligne et si j'essaie
ADOagenda.Update (tout simplement) j'ai le meme message

je n'arrive pas à voir ou est le probleme (car dans la
doc, c'est écrit comme cela)

Cordialement
JCM



bonjour

Ce qui me choque dans ton problème, c'est que ADOAgenda


est un objet,
donc il ne peut pas être null (à moins qu'il n'existe une


propriété par
défaut??) à la rigueur il pourrait être Nothing mais il


est déclaré
plus haut (la ligne Set ADOAgenda etc.).
Ce qui m'amène à penser que le .AddNew n'est jamais


exécuté car
Isnull(ADOAgenda) est toujours faux et donc le .Update


poserait
problème dans ce cas...
Essaie plutôt en changeant ton test par "If ADOAgenda.Eof


Then"

Ceci dit j'ai déjà rencontré cette erreur lors d'un


développement en
Vb6 vers une base SQL ou je n'avais pas les droits en


Insert sur la
table concernée car j'avais obligation par


l'administrateur SQL
d'utiliser des procédures stockées qui elles avaient les


droits
d'insertion...

En espérant que cela t'aide un peu


--
Enjoy !

.