I think I need to take a step back for a second and maybe explain how I got to where I am. The code is kind of a mess because it didn't work how I expected it to, and I've been piling on solution after solution. Which of course means I should probably explain what I expected it to do, or want it to do.
Basically, breaking it down into Front and Back End.
Front End1. User selects multiple choices from multiple fields.
2. User clicks button to run commands to receive desired data.
The front end seems like a pretty easy concept, and the back end is where I start going like this
Back EndBasic Concept: Using a unique identifier assigned to each value in each respective listbox, use a loop a to cycle through and determine whether or not the value is selected. If the value is selected, run the command listed in the case statement.
Now, I thought that was pretty easy, but I haven't done this sort of thing with an Access database, and my VBA background is kind of weak. [I'm willing to learn though

]
So maybe in pseudocode I saw this working like this.
CODE
Dim i As Integer
ListTotalLength = Sum of Length of Lists
For i is 0 To when i is equal to ListTotalLength
If current listbox element Is selected
Then
Switch
Select i
Case Is 1
Do Cmd
Case Is 2
Do Cmd
...
Case Is (last number, manual defined)
End Select
End If
Next
So where part of my difficulty arose, was because I don't understand how Access is getting the displayed information, I'm unsure how to use the values which I already have defined in the tables as unique identifiers. This is why I have the loop in the structure currently trying to assign everything to an array (which was because the term .AddItems was confusing me, and I couldn't get it to work, based on what the debugger was telling me, I assumed it needed a string input).
So potentially, if I could just check the individual listboxs for what is selected, I could just use the numbers I have and cut out a lot of this work.
Would a reasonable way to do this possibly be:
CODE
Dim i As Integer
Dim j As Integer
Dim GotSelected (0 - 50) As Integer
For 0 To ListBoxNameHere.ListCount
If current element is selected
Then GotSelected (j) = SelectedItem.Value
j = j + 1
End If
Next
For 0 To ListBoxNameHere2.ListCount
If current element is selected
Then GotSelected (j) = SelectedItem.Value
j = j + 1
End If
Next
'repeat twice more for the other listboxes
For 0 to j
i = GotSelected (j)
Select i
Case Is ...
So in summation:
1. What is the correct way to get a value from Access? (do I have to use SQL?)
2. When you say clean up my code, I know it's only pseudocode, but does it make more sense, and what am I doing wrong?
Notes:Well, the reason I went with RowSource was because when I tried to use .value, the system responded that it was Null. I guess I don't understand where Access is pulling the value displayed in the user interface from. So while I can remove rowsource, I'm really unsure what to replace it with.
Thank you!