Solved

Add Items to Combobox VB 2010

Posted on 2011-02-19
9
4,238 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
Comment Utility
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
Comment Utility
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
Comment Utility
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
 
LVL 29

Expert Comment

by:Paul Jackson
Comment Utility
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
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 11

Author Comment

by:Wilder1626
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
This is perfect.

Thanks for your help.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
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…

763 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now