Recordset inconnu

Signaler
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjout tout le monde, je suis en train d'étudier un tutoriel que j'ai vu sur ce site, propos de la connection à une base de donnée ACCESS en ADO, et dans le code suivant, "Recordset" se souligne et je ne sait pas du tout comment cela se fait, merci de vos explications et si possible vos solutions.

Voici mon code :

    Private Sub Chargement_frmCinema(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim con As ADODB.Connection
        con = New ADODB.Connection
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='F:\AP\Mediatheque\Base de données'"
        con.Open()

        Dim rs As ADODB.Recordset
        rs = New Recordset

        rs.Open("SELECT CodeEv,NomEv FROM(EVENEMENT)WHERE(CodeType = 'C')", con)

16 réponses

Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Essayes avec ceci :

Dim rs As Object
Set rs = CreateObject("ADODB.Recordset")

Ca passera surement mieux et en plus cette méthode est un peu plus universelle dans le sens ou elle a pas de bindage à faire avec une version de DLL particulière.

Inconvénient, tu perds l'intellisense, mais come tu es un programmeur acharné, tu connaitras la doc des Recordset par coeur :)

Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

Ok merci beaucoup cela fonctionne, et je voudrais savoir comment faire pour remplir ma liste déroulante grâce à la requête que j'ai mise plus haut.
Je débute en VB, merci de votre patience
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Voici :

While Not TonRecordSet.Eof

    ' Rempli la list
      TaListBox.AddItem TonRecordSet.Fields("TonChamp")
   
    ' Passe au record suivant
     TonRecordSet.MoveNext

Wend

Sinon, tu peux regarder cette source....
A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

Voici mon code :
<hr size="2" width="100%" />
    Private Sub Chargement_frmCinema(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim con As ADODB.Connection
        con = New ADODB.Connection
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\AP\Mediatheque\Base de données.mdb"
        'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="F:\POO Giorgi\TD1\bdPROD.mdb"
        con.Open()

        Dim rs As ADODB.Recordset
        rs = CreateObject("ADODB.Recordset")

        rs.Open("SELECT NomEv FROM(EVENEMENT)WHERE(CodeType = 'C')", con)
        'res = rs!NomEv

        rs.MoveFirst() 'on se place sur le premier enregistrement

        While Not rs.EOF 'Tant que ce n'est pas la fin des enregistrements
            Me.cboCinemas.AddItem(rs!NomEv)
            rs.MoveNext()
        End While

    End Sub
<hr size="2" width="100%" />
Tout me semble bon, sauf le "AddItem" qu'il ne connaît pas, le message d'erreur est celui ci : AddItem n'est pas un membre de System.Windows.forms.combobox.
Savez vous comment le faire marcher?

Merci d'avance
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

La syntaxe pour un combobox en .net est : Me.cboCinemas.items.add(rs!NomEv)

D'ailleurs si ton combobox est placé sur ton formulaire ou tu exécute ta requête, il me semble que tu n'as pas besoin de : Me

A Essayer : cboCinemas.items.add(rs!NomEv)

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

Euh je développe en VB6, non pas en .net je sais pas si c'est la même syntaxe du coup...
En tout cas le "add" n'est toujours pas accepté, j'ai le même type d'erreur que précédemment...
Oui, ma combobox est sur mon formulaire où j'exécute ma requête.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Tu es sûr que tu es en VB6?? Car de toute façon, les syntaxes sont exact, donc je ne comprend pas trop ton problème...

Car je pense que tu es bien en .Net, car la syntaxe de ta Sub Chargement_frm, me fait penser étrangement à .net....!

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Salut Sandriine,

cette fonction a été créée sous .NET
Private Sub Chargement_frmCinema(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Donc, le tutoriel que tu essaies de faire rouler est probablement créée sous .NET et tu dis que tu développes sous VB6... et ça ne va pas là....

Si tu développes vraiment sous VB6, cherche-toi un autre tutoriel... ce sera plus simple.
Et l'inverse est aussi vrai...

MPi²
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

Bon à mon avis je confonds quelquechose. Ce que je voulais dire c'est que je ne développe pas en objet.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Ben...Ce n'est pas gagné....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Il faudrait vraiment que tu saches (et nous dises) sous quel environnement tu développes. Quel est le nom du programme que tu démarres pour développer et quel est le lien du tutoriel que tu étudies ?

MPi²
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

J'utilise Visual Studio 2005 mais je ne trouve plus le lien du tuto... Si je le retrouve je vous le donnerais
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Il te faut alors chercher des tutos en .NET et pas en VB6 ou VBA
Ce sera plus simple ainsi.

Bonne chance

MPi²
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,
 
Salut Mpi

Ben...ça y est on a gagné !...lol...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
20
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
25 mai 2008

Mais en .NET signifie que je dois faire mon application en programmation orientée objet ou pas obligatoirement??
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Je n'ai pas vraiment d'expérience en .NET, mais je dirais que non.
.NET permet une meilleure programmation objet que VB6, mais ce n'est pas obligatoire de l'utiliser.
Par contre, le langage est différent entre VB2005, VB6 et VBA. Donc, il te faut trouver des tutos qui sont faits pour le langage que tu utilises. Sinon, il te faudrait le "traduire" et ça risque d'être compliqué, surtout si tu t'y connais peu.

MPi²