Solved

Add Items to Combobox VB 2010

Posted on 2011-02-19
9
4,274 Views
Last Modified: 2012-05-11
Hello all,

I have another issue when i want to add items in my combobox. If is feed by the link in my Parametre.txtBaseDelabsolution.Text.

This is the error:
Error      2      'AddItem' is not a member of 'System.Windows.Forms.ComboBox'.



 
 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Nom de famille
        Dim sSQL3 As String
        Dim oConnect3 As ADODB.Connection
        oConnect3 = New ADODB.Connection
        Dim oRST3 As ADODB.Recordset
        oRST3 = New ADODB.Recordset


        sSQL3 = "SELECT DISTINCT[nom]FROM [Clients]'"

        oConnect3.Open("Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=" & Parametre.txtBaseDelabsolution.Text)

        Me.Nom_famille.AddItem("")
        oRST3.Open(sSQL3, oConnect3)
        Do Until oRST3.EOF
            Me.Nom_famille.AddItem(oRST3("Nom"))
            oRST3.MoveNext()
        Loop

    End Sub

Open in new window


Thanks again for you help
0
Comment
Question by:Wilder1626
  • 5
  • 4
9 Comments
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 34934353
The method .AddItems() has been replaced with .Items.Add()
You need to use Me.Nom_famille.Items.Add(oRST3("nom"))
0
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 34934419
a good link on the differences between vb6 and vb2010 :

http://msdn.microsoft.com/en-us/library/fte6kbt2(v=vs.80).aspx
0
 
LVL 11

Author Comment

by:Wilder1626
ID: 34935128
Hello,

Now it feeds my combobox but not with what i'm suppose to.

I have full list of: ADODB.InternalField.

What could it be?
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 29

Expert Comment

by:Paul Jackson
ID: 34935148
Hmm didn't notice before but looks like you are trying to use ADO rather than ADO.Net have a look at the link below for an overview of retrieving records from a database using ado.net:

http://asp.dotnetheaven.com/howto/doc/adoplus/sqldtreader.aspx
0
 
LVL 11

Author Comment

by:Wilder1626
ID: 34935323
What is the diffrence?

What i could say is that i was using the code in my first post with VB6 with a data base from Microsoft Access 2007.
0
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 34935413
But you are using VB.net now ?

anyway i think you can change your existing code as follows by adding a .movefirst before the loop. I suggest you do look into ado.net as it hadles disconnected recordsets like you are trying to do above better and more efficiently.

 Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
        'Nom de famille 
        Dim sSQL3 As String 
        Dim oConnect3 As ADODB.Connection 
        oConnect3 = New ADODB.Connection 
        Dim oRST3 As ADODB.Recordset 
        oRST3 = New ADODB.Recordset 
 
 
        sSQL3 = "SELECT DISTINCT[nom]FROM [Clients]'" 
 
        oConnect3.Open("Provider=Microsoft.ACE.OLEDB.12.0;" & _ 
        "Data Source=" & Parametre.txtBaseDelabsolution.Text) 
 
        Me.Nom_famille.AddItem("") 
        oRST3.Open(sSQL3, oConnect3) 

     If Not oRST3.EOF Then
        oRST3.MoveFirst
        Do Until oRST3.EOF 
            Me.Nom_famille.AddItem(oRST3("Nom")) 
            oRST3.MoveNext() 
        Loop 
 
    End If

    End Sub 

Open in new window

0
 
LVL 11

Author Comment

by:Wilder1626
ID: 34935441
I have tried your code above but i have the same result with: ADODB.InternalField.
0
 
LVL 29

Accepted Solution

by:
Paul Jackson earned 500 total points
ID: 34935450
I forgot .Net no longer has default values like vb6 had you need to specify the attribute you want to retrieve.

Change this line : Me.Nom_famille.AddItem(oRST3("Nom")) to Me.Nom_famille.AddItem(oRST3("Nom").Value)
0
 
LVL 11

Author Closing Comment

by:Wilder1626
ID: 34935463
This is perfect.

Thanks for your help.
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question