472,353 Members | 1,499 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,353 software developers and data experts.

Cascading to a third combo box.... on a form

kcdoell
230 100+
I have three tables:

One for the Division location:

tblDivision
DivisionID = Autonumber
DivisionName = Text

One for the Working Region:
tblWrkRegion
WrkRegID = Autonumber
WrkRegionName = Text
DivisionID = Number (This is for my one to many relationship; a Division can have many different working regions)

One for the Credit Region:
tblCreditRegion
CreditRegID = Autonumber
CreditRegion = Text
WrkRegID = Number (This is for my one to many relationship; a working region can have many different credit regions)

I followed the cascading script method posted on this website and created a form, put 3 combo boxes on it:

cboDivision (bound on column 1, row source tblDivision, column count set to 2)
cboWrkReg (bound on column 1, row source blank, column count set to 1)
cboCreditReg (bound on column 1, row source blank, column count set to 1)


In the after update event of my cboDivision I placed the following code:

Expand|Select|Wrap|Line Numbers
  1. Private Sub CboDivision_AfterUpdate()
  2.  
  3. 'When the Division is selected, the appropriate Working Region list will
  4. 'display in the drop down list of CboWrkReg
  5.  
  6.     With Me![CboWrkReg]
  7.       If IsNull(Me!CboDivision) Then
  8.         .RowSource = ""
  9.       Else
  10.         .RowSource = "SELECT [WrkRegionName] " & _
  11.                      "FROM TblWrkRegion " & _
  12.                      "WHERE [DivisionID]=" & Me!CboDivision
  13.       End If
  14.      Call .Requery
  15. End With
  16.  
  17. End Sub
  18.  

This worked great. The Divisions would populate and when I clicked on cboWrkReg the working region list would be there. So….. I needed my last combo box to act and behave in the same way so In the after update event of my cboWrkReg I placed the following code:

Expand|Select|Wrap|Line Numbers
  1.  
  2. Private Sub cboWrkReg_AfterUpdate()
  3. 'When the Working Region is selected, the appropriate Credit Region list will
  4. 'display in the drop down list of CboCredit Reg
  5.  
  6.     With Me![CboCreditReg]
  7.       If IsNull(Me!CboWrkReg) Then
  8.         .RowSource = ""
  9.       Else
  10.         .RowSource = "SELECT [CreditRegion] " & _
  11.                      "FROM TblCreditRegion " & _
  12.                      "WHERE [WrkRegID]=" & Me!CboWrkReg
  13.       End If
  14.      Call .Requery
  15. End With
  16. End Sub
  17.  
My problem is that when I click on the cboCreditReg I get a pop up dialogue box that is asking for me to input a number for the selection that was made in cboWrkReg. I have noticed that if I selected Atlanta in cboWrkReg; the row source is set to the following: SELECT [CreditRegion] FROM TblCreditRegion WHERE [WrkRegID]=Atlanta

If I key in the ID number for Atlanta the drop down box (cboCreditReg) will populate with the appropriate list. If I do nothing it will be blank or give me a syntax error message.

I have tried several things like changing bound columns with no luck. Does anybody have any idea where I am going wrong? I thought I solved this issue before I introduced a third cascading combo box.

Any help would be greatly appreciated.

Thanks,
Mar 11 '08 #1
7 2420
ADezii
8,832 Expert 8TB
I have three tables:

One for the Division location:

tblDivision
DivisionID = Autonumber
DivisionName = Text

One for the Working Region:
tblWrkRegion
WrkRegID = Autonumber
WrkRegionName = Text
DivisionID = Number (This is for my one to many relationship; a Division can have many different working regions)

One for the Credit Region:
tblCreditRegion
CreditRegID = Autonumber
CreditRegion = Text
WrkRegID = Number (This is for my one to many relationship; a working region can have many different credit regions)

I followed the cascading script method posted on this website and created a form, put 3 combo boxes on it:

cboDivision (bound on column 1, row source tblDivision, column count set to 2)
cboWrkReg (bound on column 1, row source blank, column count set to 1)
cboCreditReg (bound on column 1, row source blank, column count set to 1)


In the after update event of my cboDivision I placed the following code:

Expand|Select|Wrap|Line Numbers
  1. Private Sub CboDivision_AfterUpdate()
  2.  
  3. 'When the Division is selected, the appropriate Working Region list will
  4. 'display in the drop down list of CboWrkReg
  5.  
  6.     With Me![CboWrkReg]
  7.       If IsNull(Me!CboDivision) Then
  8.         .RowSource = ""
  9.       Else
  10.         .RowSource = "SELECT [WrkRegionName] " & _
  11.                      "FROM TblWrkRegion " & _
  12.                      "WHERE [DivisionID]=" & Me!CboDivision
  13.       End If
  14.      Call .Requery
  15. End With
  16.  
  17. End Sub
  18.  

This worked great. The Divisions would populate and when I clicked on cboWrkReg the working region list would be there. So….. I needed my last combo box to act and behave in the same way so In the after update event of my cboWrkReg I placed the following code:

Expand|Select|Wrap|Line Numbers
  1.  
  2. Private Sub cboWrkReg_AfterUpdate()
  3. 'When the Working Region is selected, the appropriate Credit Region list will
  4. 'display in the drop down list of CboCredit Reg
  5.  
  6.     With Me![CboCreditReg]
  7.       If IsNull(Me!CboWrkReg) Then
  8.         .RowSource = ""
  9.       Else
  10.         .RowSource = "SELECT [CreditRegion] " & _
  11.                      "FROM TblCreditRegion " & _
  12.                      "WHERE [WrkRegID]=" & Me!CboWrkReg
  13.       End If
  14.      Call .Requery
  15. End With
  16. End Sub
  17.  
My problem is that when I click on the cboCreditReg I get a pop up dialogue box that is asking for me to input a number for the selection that was made in cboWrkReg. I have noticed that if I selected Atlanta in cboWrkReg; the row source is set to the following: SELECT [CreditRegion] FROM TblCreditRegion WHERE [WrkRegID]=Atlanta

If I key in the ID number for Atlanta the drop down box (cboCreditReg) will populate with the appropriate list. If I do nothing it will be blank or give me a syntax error message.

I have tried several things like changing bound columns with no luck. Does anybody have any idea where I am going wrong? I thought I solved this issue before I introduced a third cascading combo box.

Any help would be greatly appreciated.

Thanks,
I think I see the problem in that Me![cboWrkReg] returns the Work region Name and Not the Work Region ID, try:
Expand|Select|Wrap|Line Numbers
  1. Private Sub txtSendKeys_GotFocus()
  2. Private Sub cboWrkReg_AfterUpdate()
  3.   With Me![CboCreditReg]
  4.     If IsNull(Me!CboWrkReg) Then
  5.       .RowSource = ""
  6.     Else
  7.       .RowSource = "SELECT [CreditRegion] FROM TblCreditRegion WHERE [WrkRegID]=" & _
  8.                     DLookup("[WrkRegID]", "tblWrkRegion", "[WrkRegionName] = '" & Me![cboWrkReg] & "'")
  9.     End If
  10.     Call .Requery
  11.   End With
  12. End Sub
  13. End Sub
Mar 11 '08 #2
kcdoell
230 100+
Unbelievable, that was it. I really want to thank you. This problem was driving me crazy and I could not get myself out of this hole until you came around.

Thanks a million!

Keith.
Mar 11 '08 #3
ADezii
8,832 Expert 8TB
Unbelievable, that was it. I really want to thank you. This problem was driving me crazy and I could not get myself out of this hole until you came around.

Thanks a million!

Keith.
You are quite welcome, Keith.
Mar 11 '08 #4
kcdoell
230 100+
You are quite welcome, Keith.
ADezii:

I am not too sure you will get this message but one of my users has asked me to do something else with the cascading combo box that I thought you may have some insight...

Basically, everything works great but the list in the third box only displays when the user clicks into the combo box. In some cases, the third combo box may only have one choice to choose from. Is there a way that I can get the first on the list to display without the user having to click the third combo box to see visually the dropdown list/choices to pick?

Hope all is well,

Keith.
Apr 24 '08 #5
ADezii
8,832 Expert 8TB
ADezii:

I am not too sure you will get this message but one of my users has asked me to do something else with the cascading combo box that I thought you may have some insight...

Basically, everything works great but the list in the third box only displays when the user clicks into the combo box. In some cases, the third combo box may only have one choice to choose from. Is there a way that I can get the first on the list to display without the user having to click the third combo box to see visually the dropdown list/choices to pick?

Hope all is well,

Keith.
Assuming the name of the 3rd Combo Box is cboThree (ingenious name, heh), place the following code in the AfterUpdate() Event of cboTwo, after the Row Source for cboThree has been created. If cboThree contains at least 1 entry, then the 1st entry in cboThree (1st Column, 1st Row) will be visible in the Text protion of the Combo Box. Is this what you are requesting?
Expand|Select|Wrap|Line Numbers
  1. If Me![cboThree].ListCount > 0 Then
  2.   Me![cboThree] = Me![cboThree].Column(0, 0)
  3. End If
Apr 24 '08 #6
kcdoell
230 100+
Is this what you are requesting?
Expand|Select|Wrap|Line Numbers
  1. If Me![cboThree].ListCount > 0 Then
  2.   Me![cboThree] = Me![cboThree].Column(0, 0)
  3. End If
ADezii:

That was exactly what I was looking for! You were spot on!! Here was my end solution:

Expand|Select|Wrap|Line Numbers
  1.   With Me![cboCreditReg]
  2.    If IsNull(Me!cboWrkReg) Then
  3.       .RowSource = ""
  4.  
  5.     Else
  6.    .RowSource = "SELECT DISTINCT tblCreditRegion.CreditRegID, " & _
  7.          "tblCreditRegion.CreditRegionName " & _
  8.          "FROM TblLocationsMM INNER JOIN tblCreditRegion " & _
  9.          "ON TblLocationsMM.CreditRegIDFK = tblCreditRegion.CreditRegID " & _
  10.          "WHERE [WrkRegIDFK]=" & Me!cboWrkReg
  11.  
  12.     End If
  13.  
  14.     Call .Requery
  15.  
  16.     'Have the first dropdown list of cboCreditReg visible
  17.             If Me![cboCreditReg].ListCount > 0 Then
  18.                 Me![cboCreditReg] = Me![cboCreditReg].Column(0, 0)
  19.     End If
  20.       End With
  21.  
Thanks a million!

Keith.
Apr 24 '08 #7
ADezii
8,832 Expert 8TB
ADezii:

That was exactly what I was looking for! You were spot on!! Here was my end solution:

Expand|Select|Wrap|Line Numbers
  1.   With Me![cboCreditReg]
  2.    If IsNull(Me!cboWrkReg) Then
  3.       .RowSource = ""
  4.  
  5.     Else
  6.    .RowSource = "SELECT DISTINCT tblCreditRegion.CreditRegID, " & _
  7.          "tblCreditRegion.CreditRegionName " & _
  8.          "FROM TblLocationsMM INNER JOIN tblCreditRegion " & _
  9.          "ON TblLocationsMM.CreditRegIDFK = tblCreditRegion.CreditRegID " & _
  10.          "WHERE [WrkRegIDFK]=" & Me!cboWrkReg
  11.  
  12.     End If
  13.  
  14.     Call .Requery
  15.  
  16.     'Have the first dropdown list of cboCreditReg visible
  17.             If Me![cboCreditReg].ListCount > 0 Then
  18.                 Me![cboCreditReg] = Me![cboCreditReg].Column(0, 0)
  19.     End If
  20.       End With
  21.  
Thanks a million!

Keith.
You are quite welcome, Keith.
Apr 25 '08 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

9
by: Edwinah63 | last post by:
Hi everyone, Please let there be someone out there who can help. I have two BOUND combo boxes on a continuous form, the second being dependent...
6
by: visionstate | last post by:
Hi there, I am building a database that requires cascading lists on a form. I currently have (I may be adding more later) 3 combo boxes on my form...
4
Rabbit
by: Rabbit | last post by:
Cascading Combo/List Boxes This tutorial is to guide you in the creation of Cascading combo/list boxes. That is when you have multiple combo/list...
3
by: buddyr | last post by:
Hello, Yesterday I recieved help with two cascading combo boxes on an access form. I went the link http://www.fontstuff.com/access/acctut10.htm ...
4
klarae99
by: klarae99 | last post by:
Hello, I am working on an Access 2003 Database. The tables that pertain to this issue are tblOrg, tblState, tblCity, and tblZip. I have posted...
1
kcdoell
by: kcdoell | last post by:
Good Morning: I have a form where I am trying to create cascading combo boxes. I have done this before but I am getting the following error that...
3
kcdoell
by: kcdoell | last post by:
I have 5 cascading combo boxes on a form. Below is a sample of my vb in the first combo box: Private Sub CboDivision_AfterUpdate() 'When the...
7
by: Toireasa | last post by:
Hi, Newbie Access developer here, and my first post on this forum, so I might not get everything right - thanks in advance for your help and your...
1
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
0
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand....
0
BLUEPANDA
by: BLUEPANDA | last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.