2010-07-22 38 views
2

假設我有兩個表,一個用於事務,另一個表的主鍵是第一個表中的外鍵,而這種關係只需將地點與交易相關聯。MS Access 2007 - 循環訪問列表框中的值以獲取SQL語句的ID

我有一個帶有列表框的窗體,顯示所有可能的位置,以便用戶可以打開一些只與給定位置有關的儀表板窗體。所以我知道如何將選擇的數據傳遞給儀表板,但是現在我想讓用戶有能力從第一個列表中選擇多個位置。

所以如果我使用一個SQL語句的WHERE子句就像

.... WHERE LocationID = " & me.lstLocations.value & ";" 

但如何將等同於這種類型的方法來選擇多個選擇?我確信有一些類型的循環逃脫了我。

感謝 賈斯汀

回答

6

您可以使用

WHERE LocationID IN (" & listofvalues & ");" 

列表可以像這樣獲得:

For Each itm In Me.ListBox.ItemsSelected 
    listofvalues = listofvalues & "," & Me.ListBox.Column(0, itm) 
Next 

listofvalues = Mid(listofvalues,2) 

這是一個數字列表,字符串列表需要報價。

+0

@Remou ....嘿,第一個例子只代表那些選擇像第二個那樣嗎?像往常一樣感謝Remou! – Justin 2010-07-22 21:15:59

+0

@Remou ....同樣,如果我使用第二個示例,我隱藏列寬度設置爲零的列表框中的ID值....這真的不會影響,但是,對不對? – Justin 2010-07-22 21:18:24

+0

列的寬度並不重要。這裏只有一個例子,一條SQL語句以及如何獲得該語句的IN列表。 – Fionnuala 2010-07-22 21:22:48