Recordset inconnu

cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008 - 20 nov. 2007 à 15:53
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 23 nov. 2007 à 23:16
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

GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
20 nov. 2007 à 15:58
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
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
20 nov. 2007 à 16:12
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
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 nov. 2007 à 17:36
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

 
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
20 nov. 2007 à 17:57
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 nov. 2007 à 18:15
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

 
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
20 nov. 2007 à 19:55
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.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 nov. 2007 à 21:07
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

 
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
22 nov. 2007 à 00:23
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²
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
22 nov. 2007 à 15:52
Bon à mon avis je confonds quelquechose. Ce que je voulais dire c'est que je ne développe pas en objet.
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 nov. 2007 à 15:59
Salut,

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

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 nov. 2007 à 00:02
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²
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
23 nov. 2007 à 09:01
J'utilise Visual Studio 2005 mais je ne trouve plus le lien du tuto... Si je le retrouve je vous le donnerais
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 nov. 2007 à 11:26
Il te faut alors chercher des tutos en .NET et pas en VB6 ou VBA
Ce sera plus simple ainsi.

Bonne chance

MPi²
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
23 nov. 2007 à 12:34
Salut,
 
Salut Mpi

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

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Sandriine Messages postés 20 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 25 mai 2008
23 nov. 2007 à 13:42
Mais en .NET signifie que je dois faire mon application en programmation orientée objet ou pas obligatoirement??
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
23 nov. 2007 à 23:16
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²
0
Rejoignez-nous