2016-07-12 4 views
-1

Я пытаюсь отобразить студентов в datagrid, которые имеют «да» как активные. Если студент имеет «нет» как активный, форма должна скрывать его и показывать ученикам только «да». Проблема, которую я получаю сейчас:Отображение выбранных значений только в VB6

Ошибка синтаксиса в предложении FROM.

код:

Private Sub Form_Load() 
Dim sql As String 

connSearch.Open connstr 
Adodc1.ConnectionString = conn.connstr 

sql = "select * from Table1 where Active <>" & "'No'" 

Adodc1.RecordSource = sql 
Set StudentTable.DataSource = Adodc1 
Adodc1.Refresh 
Adodc1.Visible = False 
End Sub 
+0

ли таблица на самом деле называется "Table1"? – jac

ответ

1

Что такое Active?
Если Active is Boolean Тип данных (Да/Нет), это необязательные значения: True или False. В этом случае ваш запрос:

"select * from Table1 where Active <> False" 

Если Active является String типа данных; 'no' и 'No' одинаковые значения? вы лучше преобразовать все, чтобы снизить или верхний регистр:

"select * from Table1 where Ucase(Active) <> 'NO'" 

Edit: Модифицированный код

Dim sql As String 

sql = "select * from Table1 where [Active] <> 'No'" 
Adodc1.ConnectionString = conn.connstr 
Adodc1.CommandType = adCmdText 
Adodc1.RecordSource = sql 
Set StudentTable.DataSource = Adodc1 
Adodc1.Refresh 
Adodc1.Visible = False 
+0

Я использовал второй вариант, и он все еще дает мне ** Синтаксическую ошибку в предложении FROM. ** Когда я отлаживаю ее, она показывает ** false ** в выражении 'Adodc1.refresh'. –

+0

Проверьте, правильно ли указано его имя ('Таблица1'). – marlan

+0

И я советую также убедиться, что 'Active' действительно имеет тип String, а не' Yes/No', другими словами, что 'No' на самом деле 'String' – marlan