Urgent ! problème avec openrecordset

sboiss Messages postés 18 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 29 juillet 2004 - 18 juin 2004 à 18:28
keiko11245 Messages postés 48 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 5 avril 2006 - 21 juin 2004 à 10:27
j'ai pb sur une requete que je fais dans un module d'access
et il me met l'erreur : erreur d'execution '13': incompatibilité de type
Pouvez vous m'aider ?
Merci.

Voici mon code:

Dim resultat As Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)"
Dim requete As String ' Variable caractère pour la requette SQL
Dim base As Database

Set base = CurrentDb ' La variable base récupère la base de donnée ouverte par strConnection

' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "

Set resultat = base.OpenRecordset(requete) 'l erreur est ici

resultat.MoveFirst ' Le pointeur se place a la fin de la table

While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
18 juin 2004 à 18:36
Salut sboiss
Essaye de faire
Dim resultat As New Recordset

Je ne connais pas trop la syntaxe de Access, mais avec les ADO, il faut utiliser le New.

A quelle ligne te donne t-il cette erreur ?

Vala
Jack
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
18 juin 2004 à 20:08
Si tu utilises CurrentDB c que c du vba, je me trompe ?

Tu dis que ta requete est générée ds access : tu veux dire qu'elle existe ds l'onglet "requetes" de ta base ? ou que tu la créée par code vba ?
Et puis, scuses Jack mais le new ne sert qu'à éviter de faire un set variable ..... DAO, ADO ou autre et de coder direct variable ........

Cordialement

CanisLupus
0
keiko11245 Messages postés 48 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 5 avril 2006
21 juin 2004 à 10:27
Essaye comme ca :

Dim resultat As Object
Dim requete As String

' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "

Set resultat = CurrentDb.OpenRecordset(requete)

resultat.MoveFirst '

While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend

resultat.close
set resultat = nothing

Voila.
En fait je ne sais pourquoi, quand on définie resultat comme un recordset, ca ne passe pas, alors que si un met object ca passe.

C'est Access
0