VB6 : Prb avec un recordset "mécanisme d'accès"

benjedi60 Messages postés 2 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 6 août 2009 - 6 août 2009 à 11:01
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 20 août 2009 à 09:37
Bonjour,

Voici mon souci :

J'ai une bdd oracle avec une table qui contient 6 colonnes avec des float.

Extrait de la table v_gp_set_contrib :

evl_c | asg_c | dpt_c | ltd_c | ov_c |dd_g
0.54 | 0.01 | 0.02 | 0.01 | 0.01 | 0.56

En VB, j'utilise un recorset pour executer ma requête "un simple select", la requête s'execute correctement.

Cependant lorsque je veux utiliser les données de mon recordset, j'ai un message d'erreur "Le mécanisme d'accès n'est pas un mécanisme d'accès à paramètre".

Lorsque je mets un espion sur mon recorset il contient 6 items (c'est mes 6 colonnes), le premier champs et le dernier sont en erreur (Le mécanisme ...) mais pas les autres champs.

Voici un bout de mon code :

cmd.ActiveConnection = Conn
cmd.CommandType = adCmdStoredProc
cmd.CommandTimeout = 0
cmd.CommandText = TxtSQL
Set RS = cmd.Execute


avec TxtSQL = 'select evl_c,asg_c,dpt_c,ltd_c,ov_c,dd_g from v_gp_set_contrib

Ensuite je parcours mon recordset

If Not RS.EOF Then
    For i = 0 To 5
        If IsNull(RS(i)) Then
            XlsSheet.Cells(7, i + 1) = 0
        Else     
            XlsSheet.Cells(7, i + 1) = CDbl(RS(i))    
        End If
    Next i
End If


Il plante sur RS(0) et RS(5) pas sur les autres.

Merci pour votre aide.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
6 août 2009 à 11:19
Salut
Jamais vu ce message, et pas très parlant ...
Essaye avec la syntaxe complète :
CDbl(RS.Fields(i).Value)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
benjedi60 Messages postés 2 Date d'inscription jeudi 6 août 2009 Statut Membre Dernière intervention 6 août 2009
6 août 2009 à 11:29
Pareil j'ai le même message.

en fait, juste après la ligne
Set RS = cmd.Execute

J'ajoute un espion sur RS.
Dans le RS, on peut voir les fields, et j'ai le message d'erreur "Le mécanisme d'accès ..." pour les fields 0 et 5, pas pour les autres ...

Comme si je n'avais reçu les données de la colonne 1 et 6.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 août 2009 à 09:37
je vois pas pourquoi tu as mis :

cmd.CommandType = adCmdStoredProc

c'est pas une procédure stockée a laquelle tu fais appel...
c'est une bête requète...

adCmdText donc...

Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous