2015-11-19 2 views
0

У меня есть таблица ref, сохраненная в SQL-SERVER, которая имеет 3 набора значений. То, что я пытаюсь сделать, это заполнить 3 комбобокса с 3 различными наборами значений из этой таблицы.Заполнение списков ссылок из таблицы ссылок с несколькими значениями

Name  ID  Label  ORDER 
Sports 1001 Soccer  1 
SPorts 1002 Football 2 
Sports 1003 Golf  3 
Sports 1004 Basebal 4 
Holidays 2001 Easter  1 
Holidays 2002 Xmas  2 
Holidays 2003 Thxgiving 3 

и еще один набор значений. Я пытаюсь заполнить одно поле со списком только спортом, одно с HOlidays и другое с другим набором. Я могу заполнить их, но с тремя функциями функций, каждая из которых выглядит следующим образом:

Set g_RS = New ADODB.Recordset 
g_strSQL = "Select Name, ID, Label, Order from tblText_References where Name='Sports' Order By Order ASC" 
Debug.Print g_strSQL 
g_RS.Open g_strSQL, g_cnDatabase, adOpenStatic 
cboSport.AddItem vbNullString 
cboSport.ItemData(cboSport.NewIndex) = 0 
While Not g_RS.EOF 
    cboSport.AddItem g_RS("Label") 
    cboSport.ItemData(cboSport.NewIndex) = g_RS("ID") 
    g_RS.MoveNext 
Wend 
g_RS.Close 

Это прекрасно работает для занятий спортом, но мне нужна отдельная функция для каждого набора значений в таблице исх. Есть ли способ объединить его так, что я вызываю одну функцию, и он загружает 3 списков со значениями. благодаря!

ответ

0

Просто используйте свойство фильтра Recordset. В вашем коде выше:

Set g_RS = New ADODB.Recordset 
'REMOVE THE WHERE CLAUSE FROM THE SQL STATEMENT 
g_strSQL = "Select Name, ID, Label, Order from tblText_References Order By Order ASC" 
g_RS.Open g_strSQL, g_cnDatabase, adOpenStatic 
g_RS.Filter = "Name = 'Sport'" 'ADD THIS LINE 
cboSport.AddItem vbNullString 
cboSport.ItemData(cboSport.NewIndex) = 0 
While Not g_RS.EOF 
    cboSport.AddItem g_RS("Label") 
    cboSport.ItemData(cboSport.NewIndex) = g_RS("ID") 
    g_RS.MoveNext 
Wend 

Свойство Filter присваивает действительное предложение SQL WHERE. Итак, измените фильтр на «Name =« Holiday », заполните следующий ComboBox и т. Д.

p.s. В некоторых вариантах SQL вам может потребоваться установить скобки вокруг ссылок в поле «Заказ», поэтому: [Заказ], так как Order - зарезервированное ключевое слово.

Смежные вопросы