Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ouverture et acces base sql 2000

4 réponses
Avatar
christophe
Bonjour,
je cherche à charger dans un tableau le contenu d'une table d'une bdd sql
server 2000 située sur un serveur distant

j'ai fait ceci sous vb6 mais j'ai le message d'erreur suivant à l'execution :
erreur d'execution 13 : type incompatible

Dim dbscptaff01 As Database
Dim rstcptaff01 As Recordset
Set dbscptaff01 = OpenDatabase("comptarel", _
dbDriverNoPrompt, True, _
"ODBC;database=nomdelabase;uid=sa;pwd=password;dsn=nomduserveur")
Set rstcptaff01 = dbscptaff01.OpenRecordset("select entcpt from
duc_cptaff01 ", dbOpenDynaset)


le message apparait sur le set rstcptaff01=dbscptaff01.openrecordset...

Qu'ai je oublié ou mal fait ?

Merci d'avance

4 réponses

Avatar
Patrick Philippot
Bonjour,

Set rstcptaff01 = dbscptaff01.OpenRecordset("select entcpt from
duc_cptaff01 ", dbOpenDynaset)

le message apparait sur le set
rstcptaff01Ûscptaff01.openrecordset...



Hmmmm! N'auriez vous pas dans le même code des références à ADO? VB ne
pourrait pas déterminer de quel type de Recorset il s'agit (ADO ou
DAO)... Pouvez vous vérifier dans la liste de vos références?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Zoury
> Hmmmm! N'auriez vous pas dans le même code des références à ADO? VB ne
pourrait pas déterminer de quel type de Recorset il s'agit (ADO ou
DAO)... Pouvez vous vérifier dans la liste de vos références?



c'est très possible en effet.. :O)

je te suggères d'ailleur de toujours spécifier la librairie avec le type
d'objet que tu utilises lorsqu'il s'agit d'une classe fournie par une
référence externe. :
'***
Dim dbscptaff01 As DAO.Database
Dim rstcptaff01 As DAO.Recordset
'***

--
Cordialement
Yanick
MVP pour Visual Basic
"Patrick Philippot" a écrit dans le
message de news:e8YiiRM%
Bonjour,

> Set rstcptaff01 = dbscptaff01.OpenRecordset("select entcpt from
> duc_cptaff01 ", dbOpenDynaset)
>
> le message apparait sur le set
> rstcptaff01Ûscptaff01.openrecordset...

Hmmmm! N'auriez vous pas dans le même code des références à ADO? VB ne
pourrait pas déterminer de quel type de Recorset il s'agit (ADO ou
DAO)... Pouvez vous vérifier dans la liste de vos références?

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr




Avatar
christophe
Bonjour,
merci de vos réponses. Effectivement en préfixant avec dao.database tout
fonctionne
Merci

"Zoury" a écrit :

> Hmmmm! N'auriez vous pas dans le même code des références à ADO? VB ne
> pourrait pas déterminer de quel type de Recorset il s'agit (ADO ou
> DAO)... Pouvez vous vérifier dans la liste de vos références?

c'est très possible en effet.. :O)

je te suggères d'ailleur de toujours spécifier la librairie avec le type
d'objet que tu utilises lorsqu'il s'agit d'une classe fournie par une
référence externe. :
'***
Dim dbscptaff01 As DAO.Database
Dim rstcptaff01 As DAO.Recordset
'***

--
Cordialement
Yanick
MVP pour Visual Basic
"Patrick Philippot" a écrit dans le
message de news:e8YiiRM%
> Bonjour,
>
> > Set rstcptaff01 = dbscptaff01.OpenRecordset("select entcpt from
> > duc_cptaff01 ", dbOpenDynaset)
> >
> > le message apparait sur le set
> > rstcptaff01Ûscptaff01.openrecordset...
>
> Hmmmm! N'auriez vous pas dans le même code des références à ADO? VB ne
> pourrait pas déterminer de quel type de Recorset il s'agit (ADO ou
> DAO)... Pouvez vous vérifier dans la liste de vos références?
>
> --
> Patrick Philippot - Microsoft MVP
> MainSoft Consulting Services
> www.mainsoft.fr
>
>





Avatar
Patrick Philippot
christophe wrote:
Bonjour,
merci de vos réponses. Effectivement en préfixant avec dao.database
tout fonctionne



Bonjour,

Ce qui veut dire que votre programme référence à la fois les objets DAO
et ADO. Ce qui est quand même très rare et probablement inutile. Si ce
n'est déjà fait, il va falloir nettoyer la liste de vos références.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr