Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hello,

There are a variety of methods to accomplish what you want. Some are more difficult that others and require macros to utilize. Best to avoid macros when possible.

Using list boxes is fairly easy. You can get other records based upon a selection by using table filtering. For an explanation on table filtering see this post -> Filter/Search with Forms (leveraging SubForms)

Now, using a list box & table filter you can select a specific manufacturer and display the models in a subform table control. Selecting one of these can then display your parts entry table grid which is linked to the printer model. Now this may be confusing at first.

In my answer on this post -> Refresh table control near the end is Sample #3 ---InvoicePayments3.odb which may help. Examine the form Customer1WithListBox. Your printer manufacturer would be the "Customer' section at the top. After selecting from list box, you select it with the button. This displays all open invoices for that customer (for you it would be models of the printer). Selecting one of these shows all payments for the invoice (this would be where you enter your part items for the specific model).

So what you end up with on the Base form is a main form (Manufacturer) with a sub form (Model linked to Manufacturer) with a sub sub form (part number linked to Model).

For sake of completeness, on this post -> How to use user selected value from combobox1 in combobox2 'SELECT' statement. are more complex methods using macros. Sample - Dogsjohnh009.odb uses multiple list boxes in a table grid (second is based upon the first). Very touchy. The second Sample #2 - ProgressiveListboxes.odb uses fields having progressive list boxes.

If this answers your question please tick the ✔ (upper left area of answer). It helps others to know there was an accepted answer.

Hello,

There are a variety of methods to accomplish what you want. Some are more difficult that others and require macros to utilize. Best to avoid macros when possible.

Using list boxes is fairly easy. You can get other records based upon a selection by using table filtering. For an explanation on table filtering see this post -> Filter/Search with Forms (leveraging SubForms)

Now, using a list box & table filter you can select a specific manufacturer and display the models in a subform table control. Selecting one of these can then display your parts entry table grid which is linked to the printer model. Now this may be confusing at first.

In my answer on this post -> Refresh table control near the end is Sample #3 ---InvoicePayments3.odb which may help. Examine the form Customer1WithListBox. Your printer manufacturer would be the "Customer' section at the top. After selecting from list box, you select it with the button. This displays all open invoices for that customer (for you it would be models of the printer). Selecting one of these shows all payments for the invoice (this would be where you enter your part items for the specific model).

So what you end up with on the Base form is a main form (Manufacturer) with a sub form (Model linked to Manufacturer) with a sub sub form (part number linked to Model).

For sake of completeness, on this post -> How to use user selected value from combobox1 in combobox2 'SELECT' statement. are more complex methods using macros. Sample - Dogsjohnh009.odb uses multiple list boxes in a table grid (second is based upon the first). Very touchy. The second Sample #2 - ProgressiveListboxes.odb uses fields having progressive list boxes.

Edit 2018-05-23:

So as to give you a clearer picture, using the ProgressiveListboxes.odb sample mentioned above (has macros) I modified to your product - Printers & Models. Hardly anything to change - values in tables & labels on form. But this shows what you can do. Again, you should avoid macros unless you are able to code yourself. Using filter(s) is an easier way to go.

Sample --- ProgressiveListboxes.odb

If this answers your question please tick the ✔ (upper left area of answer). It helps others to know there was an accepted answer.