?
Solved

Fill a Combo Box with values from a table

Posted on 2004-09-06
13
Medium Priority
?
4,200 Views
Last Modified: 2013-12-25
I have a ComboBox called Combo1 in VB6.
I have a table called DepartmentName with values department.
1) How do I fill the combo box with these values?
and
2) once selection is made within the combobox, how do I store it in a var to be used in another subprocedure?

I tried filling a list1 when a form loads with a value as follows:
with me.list1
.RowSource ...............
I can't find the rowsource value on the list that drops down after the dot.
0
Comment
Question by:akr1234
  • 5
  • 5
  • 2
  • +1
13 Comments
 
LVL 7

Expert Comment

by:SQL_Stu
ID: 11990046
Why don't u try the me.combo1.items.add
0
 
LVL 5

Expert Comment

by:KarcOrigin
ID: 11990068
Try this:
    Dim var as String
    With Combo1
        .AddItem "departmentVal1"
        .AddItem "departmentVal2"
        var = .Text
    End With
0
 
LVL 5

Expert Comment

by:KarcOrigin
ID: 11990105
Hi,
In addition to my previous comment...

You can use .AddItem method of combo box control to fill your values in the control. In case of "departmentVal1 and departmentVal2 you can also use the values from the RecordSet.

Eg:
With Combo1
    .AddItem rst.Fields("FieldName")
End With

Moreover if you want to store the value of the selected item then you can use .Text property of the control or you can use .ListIndex which will give you the index of the selected item.

I hope it will help you.

Cheers
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 

Author Comment

by:akr1234
ID: 11990217
Nothing works

Don't assume I know anything.

I think I asked too many questions to begin with.

I have a table called TBLDEPARTMENTS with fields AutoNum and DeptName.

When the form starts I want to fill in the combo box with the values from the DeptName fields.
0
 
LVL 11

Expert Comment

by:bingie
ID: 11991240
Set a reference to MS DAO Object Library

'Set global database path
Set db = OpenDatabase("yourDatabasePath.mdb")

'Set local rs to get next booking number
Set rs = db.OpenRecordset("TBLDEPARTMENTS")

rs.MoveFirst

Do Until rs.EOF
  Combo1.AddItem rs.Fields("DeptName")
  rs.MoveNext
Loop
0
 

Author Comment

by:akr1234
ID: 11992579
How do I do this

>>>>Set a reference to MS DAO Object Library
0
 
LVL 11

Expert Comment

by:bingie
ID: 11992617
Goto:

Project -> References
0
 

Author Comment

by:akr1234
ID: 11992710
I set the reference to MS DAO 3.51 Object Library

When I run the code Form opens up and the Combo box is empty. Is this the right event which I am using.
Also it gives an error at the """Set db = OpenDatabase("c:\db1.mdb")"""  Type Mismatch.

Private Sub Combo1_Change()
Dim db As Recordset
Dim rs As Recordset

Set db = OpenDatabase("c:\db1.mdb")

Set rs = db.OpenRecordset("TBLDEPARTMENT")

rs.MoveFirst

Do Until rs.EOF
  Combo1.AddItem rs.Fields("Departmantname")
  rs.MoveNext
Loop
End Sub
0
 
LVL 11

Accepted Solution

by:
bingie earned 750 total points
ID: 11992756
change,

Dim db As Recordset

to

Dim db as Database
0
 
LVL 11

Expert Comment

by:bingie
ID: 11992799
Thanks, but why a "B" grade?
0
 

Author Comment

by:akr1234
ID: 11992803
Thanx bingie, I clicked on good by mistake, it was excellent. Sorry.

Here is the code, the event should be dropdown


Private Sub Combo1_DropDown()
Dim db As Database
Dim rs As Recordset
'Set global database path
Set db = OpenDatabase("c:\db1.mdb")

'Set local rs to get next booking number
Set rs = db.OpenRecordset("TBLDEPARTMENT")

rs.MoveFirst

Do Until rs.EOF
  Combo1.AddItem rs.Fields("Departmantname")
  rs.MoveNext
Loop
End Sub
0
 

Author Comment

by:akr1234
ID: 11992813
How can I change it to Excellent??
0
 
LVL 11

Expert Comment

by:bingie
ID: 11992820
Glad you got it to work :)

You can post the request in Community Support (http:Community_Support)

Don't forget to leave feedback, and i'll leave some for you. :)
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

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

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
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…

588 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