2016-07-12 28 views
-1

Ich versuche, Schüler in einem Datagrid anzuzeigen, die "ja" als aktiv haben. Wenn der Schüler "Nein" als aktiv hat, muss das Formular es verbergen und den Schülern nur "Ja" zeigen. Das Problem, das ich jetzt empfange, istAusgewählte Werte nur in VB6 anzeigen

Syntax Fehler in FROM-Klausel.

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 
+0

Ist der Tisch tatsächlich dem Namen "Table1"? – jac

Antwort

1

Was Active ist?
Wenn ActiveBoolean Datentyp (Ja/Nein) ist, sind die optionalen Werte True oder False. In diesem Fall Ihre Frage ist:

"select * from Table1 where Active <> False" 

Wenn ActiveString Datentyp ist; sind 'no' und 'No' die gleichen Werte? Sie konvertieren besser alle oder Großbuchstaben zu senken:

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

Edit: Modifizierte-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 
+0

Ich benutzte die zweite Wahl und es gibt mir immer noch ** Syntaxfehler in FROM-Klausel. ** Wenn ich es debuggen, zeigt es ** falsch ** in der Anweisung 'Adodc1.refresh'. –

+0

Überprüfen Sie, ob der Tabellenname ('Table1') richtig geschrieben ist. – marlan

+0

Und ich rate auch sicherzustellen, dass 'Active' wirklich ein String-Typ ist, nicht' Yes/No', mit anderen Worten, dass 'No' tatsächlich ein 'String' ist. – marlan