Improve company productivity with a Business Account.Sign Up

x
?
Solved

MS Access Dynamic combo box populate from database

Posted on 2008-10-11
3
Medium Priority
?
1,695 Views
Last Modified: 2013-11-28
Hi there, i am facing a real problem, I created 2 tables.

MovieCategory(MovieCategoryID, CategoryName)
Movies(MovieID, MovieCategoryID, Title, ratings ...)

I have populated the MovieCategory tables with some data, and i want to test out my Movie form that i have created.

In my Movie form as attached in the screenshot, i have to fill in all the relevant movie details, however, i populated a dropdownlist from the MovieCategory table showing the Categoryname.

The problem that i face now is i want to enter the Movie datas into the movie table, but my dropdownlist is populated with the CategoryName, i need to change it to its repective MovieCategoryId but i am unable to do this. I have tried lots of methods but i still can't figure out how to solve this. Will really need some help here.

The code attached below is something that i have tried, but to no avail. Can anyone please advice me on how to go about it?
Private Sub ddlCategoryName_Change()
    
       Dim strOne As String
       strCatName = Me.ddlCategoryName.SelText
       
       Dim strSql As String
       strSql = "SELECT MovieCategoryId FROM MovieCategory WHERE CategoryName =" + strCatName
       
       Me.ddlMovieCategoryId.RowSource = strSql
       Me.ddlMovieCategoryId.Requery
       
End Sub

Open in new window

screenshot-forms.jpg
0
Comment
Question by:applefruit
  • 2
3 Comments
 
LVL 42

Accepted Solution

by:
dqmq earned 2000 total points
ID: 22694546
I'm confused why you have a dropdown for both CategoryName and CategoryID:  they both represent the same column in movie table.

Nevertheless, let me proceed with an answer for the CategoryName cbo.
1.  Make MovieCategoryID the control source for that Cbo  (then it will be bound)
2.  Make Rowsource = "Select MovieCateoryID, CategoryName from MovieCategory"
3. Make Number of Columns = 2
4. Make Column Widths = 0;    (this hides the ID column)
5. Make Bound Column = 1
0
 
LVL 42

Expert Comment

by:dqmq
ID: 22694569
OK, I see reason for two CBO's now:  one for selecting records; one for viewing/updating records.

Generally, the selection CBO would go at the top--perhaps even in the form header. But, you can leave it at the bottom if you like.  Also, it seems to me that you should select by Movie, not by MovieCategory--am I missing something?

Anyway, for the view/update CBO follow the directions I gave above.

For the selection CBO, the steps are the same except for step 1. Do NOT assign a control source--leave it unbound.  In step 2, you can make the rowsource from the Movie table or the MoveCategory table--I'm confused what you want in that regard.
0
 

Author Closing Comment

by:applefruit
ID: 31505324
DUDE! its complicated to explain to you why i did that in the first place. I understood you solution fully. And it solves all my problems! ROCK ON MAN. Thanks.
0

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

If you need to implement application level security in an Access database application or other VBA code, I strongly encourage you to take advantage of Active Directory groups.
With the functions here, you can parse, convert, and format back and forth between feet and inches and fractions and decimal inches - for normal as well as extreme values and with extreme precision.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…

585 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