Je suis sous Access2002 en projet ADP + SQL Server via OLEDB,
je souhaite mettre à jour un recorset mais par la méthode Update mais cela
est impossible ?? :
je déclare les propriétés de mon recordset de la façon suivante :
With MonRst
.LockType = adLockPessimistic
.CursorType = adOpenDynamic
.CursorLocation = adUseServer ' --- (normalement valeur par
défaut)
End With
mais aprés le chargement du recordset par la méthode :
Set MonRst = MaCommande.Execute()
les propriétés de mon recordset passe automatiquement à :
LockType : "adLockReadOnly "
CursorType : "adOpenStatic"
CursorLocation : "adUseClient"
et donc l'update ne peut s'éxécuter car le recorset est en lecture seule
Je ne comprend pas pourquoi les propriétés change automatiquement après la
méthode Execute ??
quelqu'un peut m'aider à résoudre le probléme ???
Merci encore d'avance,
Thierry.
PS : détail du code :
...
Set MaCommande = New ADODB.Command
MaCommande .ActiveConnection =
Application.CurrentProject.AccessConnection
MaCommande .CommandType = adCmdText
MaCommande .CommandText = strCommandText
Set MonRst = New ADODB.Recordset
With MonRst
.LockType = adLockPessimistic
.CursorType = adOpenDynamic
End With
' la lecture de MonRst.LockType, MonRst.LockType,MonRst.CursorLocation
donne respectivement :
' adLockPessimistic, adOpenDynamic, adUseServer
Set MonRst = MaCommande.Execute()
' la lecture de MonRst.LockType, MonRst.LockType,MonRst.CursorLocation
donne respectivement :
' adLockReadOnly, adOpenStatic, adUseClient ..??!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Del-Info
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
exécuter des requêtes actions. Il est donc normal que vos typages soient
changés.
Essayez avec la méthode OPEN
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
News Groups
Merci, je vais effectivement essayer, mais d'après documentation l'utilisation suivante :
Set MonRst = MaCommande.Execute permet bien de charger un recorset, c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
Merci,
je vais effectivement essayer, mais d'après documentation
l'utilisation suivante :
Set MonRst = MaCommande.Execute
permet bien de charger un recorset,
c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci,
Thierry.
"Del-Info" <DEL-Info@nowhere.com> a écrit dans le message de news:
ukIsiU8pEHA.3988@tk2msftngp13.phx.gbl...
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
exécuter des requêtes actions. Il est donc normal que vos typages soient
changés.
Essayez avec la méthode OPEN
Merci, je vais effectivement essayer, mais d'après documentation l'utilisation suivante :
Set MonRst = MaCommande.Execute permet bien de charger un recorset, c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
Sylvain Lafontaine
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$
Merci, je vais effectivement essayer, mais d'après documentation l'utilisation suivante :
Set MonRst = MaCommande.Execute permet bien de charger un recorset, c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute
une bonne couche de sauce par dessus tout ça en terme de bugs et autres
choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que
adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" <bjt_nwsgrp@yahoo.fr> wrote in message
news:415d71b9$0$27555$636a15ce@news.free.fr...
Merci,
je vais effectivement essayer, mais d'après documentation
l'utilisation suivante :
Set MonRst = MaCommande.Execute
permet bien de charger un recorset,
c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci,
Thierry.
"Del-Info" <DEL-Info@nowhere.com> a écrit dans le message de news:
ukIsiU8pEHA.3988@tk2msftngp13.phx.gbl...
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
exécuter des requêtes actions. Il est donc normal que vos typages soient
changés.
Essayez avec la méthode OPEN
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$
Merci, je vais effectivement essayer, mais d'après documentation l'utilisation suivante :
Set MonRst = MaCommande.Execute permet bien de charger un recorset, c'est pourquoi je ne comprend pas la subtilité ?? :-(
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
News Groups
Effectivement si je souhaite mettre à jour un champ par le biais d'un recorset et de la méthode "update" je doit utiliser la méthode Open et non Execute pour ouvrrir mon recordset. Etant bien d'accord que pour effectuer une telle mise à jour il est plus souhaitable de passer par une instruction SQL et la méthode Execute ;-) !!
Je vous remercie pour la précision, mais la raison du changement des typages n'est pas due à l'utilisation de la commande Execute, en fait après essais, il s'avère apparemment que les typage affectés par code ne soient pas pris en compte et que le fournisseur de données applique des typages par défaut ?!!..ce qui ne permet donc de controler de façon précise ces typages ..malheureusement !!.
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
Effectivement si je souhaite mettre à jour un champ par le biais d'un
recorset et de la méthode "update"
je doit utiliser la méthode Open et non Execute pour ouvrrir mon recordset.
Etant bien d'accord que pour effectuer une telle mise à jour il est plus
souhaitable de passer par une instruction SQL et la méthode Execute ;-) !!
Je vous remercie pour la précision, mais la raison du changement des typages
n'est pas due à l'utilisation de la commande Execute, en fait après essais,
il s'avère apparemment que les typage affectés par code ne soient pas pris
en compte et que le fournisseur de données applique des typages par défaut
?!!..ce qui ne permet donc de controler de façon précise ces typages
..malheureusement !!.
Merci,
Thierry.
"Del-Info" <DEL-Info@nowhere.com> a écrit dans le message de news:
ukIsiU8pEHA.3988@tk2msftngp13.phx.gbl...
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
exécuter des requêtes actions. Il est donc normal que vos typages soient
changés.
Essayez avec la méthode OPEN
Effectivement si je souhaite mettre à jour un champ par le biais d'un recorset et de la méthode "update" je doit utiliser la méthode Open et non Execute pour ouvrrir mon recordset. Etant bien d'accord que pour effectuer une telle mise à jour il est plus souhaitable de passer par une instruction SQL et la méthode Execute ;-) !!
Je vous remercie pour la précision, mais la raison du changement des typages n'est pas due à l'utilisation de la commande Execute, en fait après essais, il s'avère apparemment que les typage affectés par code ne soient pas pris en compte et que le fournisseur de données applique des typages par défaut ?!!..ce qui ne permet donc de controler de façon précise ces typages ..malheureusement !!.
Merci, Thierry.
"Del-Info" a écrit dans le message de news:
A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à exécuter des requêtes actions. Il est donc normal que vos typages soient changés. Essayez avec la méthode OPEN
News Groups
merci de vous interresser à mon problème, le contexte concernant d'avantage Access, j'ai jugé préférable de continuer la suite de la discussion sur le forum mpfa d'access dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: ePd3$
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$ > Merci, > je vais effectivement essayer, mais d'après documentation > l'utilisation suivante : > > Set MonRst = MaCommande.Execute > permet bien de charger un recorset, > c'est pourquoi je ne comprend pas la subtilité ?? :-( > > Merci, > Thierry. > > "Del-Info" a écrit dans le message de news: > >> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à >> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés. >> Essayez avec la méthode OPEN >> >> > >
merci de vous interresser à mon problème,
le contexte concernant d'avantage Access, j'ai jugé préférable de continuer
la suite de la discussion sur le forum mpfa d'access
dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: ePd3$BDqEHA.3800@TK2MSFTNGP14.phx.gbl...
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute
une bonne couche de sauce par dessus tout ça en terme de bugs et autres
choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que
adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" <bjt_nwsgrp@yahoo.fr> wrote in message
news:415d71b9$0$27555$636a15ce@news.free.fr...
> Merci,
> je vais effectivement essayer, mais d'après documentation
> l'utilisation suivante :
>
> Set MonRst = MaCommande.Execute
> permet bien de charger un recorset,
> c'est pourquoi je ne comprend pas la subtilité ?? :-(
>
> Merci,
> Thierry.
>
> "Del-Info" <DEL-Info@nowhere.com> a écrit dans le message de news:
> ukIsiU8pEHA.3988@tk2msftngp13.phx.gbl...
>> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
>> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés.
>> Essayez avec la méthode OPEN
>>
>>
>
>
merci de vous interresser à mon problème, le contexte concernant d'avantage Access, j'ai jugé préférable de continuer la suite de la discussion sur le forum mpfa d'access dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: ePd3$
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$ > Merci, > je vais effectivement essayer, mais d'après documentation > l'utilisation suivante : > > Set MonRst = MaCommande.Execute > permet bien de charger un recorset, > c'est pourquoi je ne comprend pas la subtilité ?? :-( > > Merci, > Thierry. > > "Del-Info" a écrit dans le message de news: > >> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à >> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés. >> Essayez avec la méthode OPEN >> >> > >
News Groups
merci de vous interresser à mon problème, le contexte concernant d'avantage Access, j'ai jugé préférable de continuer la suite de la discussion sur le forum mpfa d'access dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: ePd3$
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$ > Merci, > je vais effectivement essayer, mais d'après documentation > l'utilisation suivante : > > Set MonRst = MaCommande.Execute > permet bien de charger un recorset, > c'est pourquoi je ne comprend pas la subtilité ?? :-( > > Merci, > Thierry. > > "Del-Info" a écrit dans le message de news: > >> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à >> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés. >> Essayez avec la méthode OPEN >> >> > >
merci de vous interresser à mon problème,
le contexte concernant d'avantage Access, j'ai jugé préférable de continuer
la suite de la discussion sur le forum mpfa d'access
dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a
écrit dans le message de news: ePd3$BDqEHA.3800@TK2MSFTNGP14.phx.gbl...
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute
une bonne couche de sauce par dessus tout ça en terme de bugs et autres
choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que
adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" <bjt_nwsgrp@yahoo.fr> wrote in message
news:415d71b9$0$27555$636a15ce@news.free.fr...
> Merci,
> je vais effectivement essayer, mais d'après documentation
> l'utilisation suivante :
>
> Set MonRst = MaCommande.Execute
> permet bien de charger un recorset,
> c'est pourquoi je ne comprend pas la subtilité ?? :-(
>
> Merci,
> Thierry.
>
> "Del-Info" <DEL-Info@nowhere.com> a écrit dans le message de news:
> ukIsiU8pEHA.3988@tk2msftngp13.phx.gbl...
>> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à
>> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés.
>> Essayez avec la méthode OPEN
>>
>>
>
>
merci de vous interresser à mon problème, le contexte concernant d'avantage Access, j'ai jugé préférable de continuer la suite de la discussion sur le forum mpfa d'access dans lequel je vous remercie aussi d'être intervenu.
Thierry.
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)> a écrit dans le message de news: ePd3$
Ne cherchez pas à comprendre, ADO est un joyeux cafouillis et ADP rajoute une bonne couche de sauce par dessus tout ça en terme de bugs et autres choses subtiles.
Si possible, utilisez également des valeurs plus orthodoxes que adLockPessimistic ou adUseServer:
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient rs.Open cmd, , adOpenStatic, adLockOptimistic
S. L.
"News Groups" wrote in message news:415d71b9$0$27555$ > Merci, > je vais effectivement essayer, mais d'après documentation > l'utilisation suivante : > > Set MonRst = MaCommande.Execute > permet bien de charger un recorset, > c'est pourquoi je ne comprend pas la subtilité ?? :-( > > Merci, > Thierry. > > "Del-Info" a écrit dans le message de news: > >> A priori la méthode EXECUTE ne sert pas à ouvrir des recordsets, mais à >> exécuter des requêtes actions. Il est donc normal que vos typages
soient
>> changés. >> Essayez avec la méthode OPEN >> >> > >