2014-01-22 36 views
1

我有一個鏈接到SQL Server表的Access數據庫。在Access中,我有一個包含兩個多選列表框(讓我們調用它們的值x和y)和一個文本框(z)的表單。從Access 2010表更新多個SQL Server列

當選擇的價值觀和按下按鈕,我希望表單更新其中的值從形式相匹配的那些行:

UPDATE tableName SET ColumnToUpdate = [z] 
WHERE Column1 IN ([x1,x2...xn]) 
AND Column2 IN ([Y1,y2...yn]) 

是否有這樣做的方法是什麼?

回答

1

您可以枚舉每個ListBox中的選定項目並構建SQL。事情是這樣的

sql = "UPDATE tableName SET ColumnToUpdate = '" & txtZ & "' " 
sql = sql & "WHERE Column1 IN (" & GetValuesFromList(listBoxX) & ") " 
sql = sql & "AND Column2 IN (" & GetValuesFromList(listBoxy) & ")" 

而且功能GetValuesFromList:

Private Function GetValuesFromList(ListBox lst) as String 
Dim Items As String 
Dim Item As Variant 

    Items = "" 
    For Each Item In lst.ItemsSelected 
     Items = Items & lst.ItemData(Item) & "," 
    Next 
    GetValuesFromList = Left(Items, Len(Items) - 1) 
End Function 

如果在列表框中選擇的值是字符串值,你應該修改功能來連接的報價。

+0

竅門,謝謝! –