Talal Abdoh Talal Abdoh - 4 months ago 14
SQL Question

Displaying selected values only in VB6

I am trying to display students in a datagrid that have "yes" as active. If the student has "no" as active, the form has to hide it and only show the students with "yes".
The problem that I am recieving now is


Syntax error in FROM clause.


code:

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

Answer

What is Active?
If Active is Boolean data type (Yes/No), it's optional values are True or False. In that case your query is:

"select * from Table1 where Active <> False"

If Active is String data type; are 'no' and 'No' the same values? you are better converting all to lower or upper case:

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

Edit: Modified Code

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