2016-12-20 6 views
0
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum[Shark Individual Weight] from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

Hallo. Ich benutze vb.net Verbindung zu MS-Zugang. Ich bekomme immer den Fehler 'Operator in Abfrageausdruck fehlt'. Ich würde gerne wissen, was mit meiner SQL-Anweisung falsch ist.fehlender Operator in Abfrage Summe Ausdruck Vb Netto

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select Sum([Shark Individual Weight]) From FishCaught Where ([OperationID]) = '" & TextBoxOpID4.Text & "'", myConnection) 
    Dim ds As DataTable = New DataTable() 
    da.Fill(ds) 
    DataGridView2.DataSource = ds 

Ich denke, meine SQL-Syntax ist falsch. Wie sollte es eigentlich schreiben? Ich erhalte den Fehler 'Datentyp nicht übereinstimmend in Kriterienausdruck'. Wenn ich nur 'Dim da als OleDbDataAdapter = New OleDbDataAdapter ("Wähle Summe ([Shark Individual Weight]) Von FishCaught', wird die Summe angezeigt werden. Also ich denke, es gibt Fehler in WHERE-Klausel. Jede Hilfe wäre dankbar, danke

.
+0

'sum [Shark Individual Weight]' sieht falsch aus, es ist 'sum (fieldname)' aber in Ihrem Code ist das 'Shark Individual Weight' kein Feld –

+0

, aber in ms Zugriff ist Hai individuelles Gewicht ein Feld – lee

Antwort

0

ist dies Ihr Code

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum[Shark Individual Weight] from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

Vermeintliche den Code sein wie diese

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum(The_Name_Of_The_Field) from FishCaught'", myConnection) 
Dim ds As DataTable = New DataTable() 
da.Fill(ds) 
DataGridView1.DataSource = ds 

myConnection.Close() 

das so ist sein müssen, versuchen Sie diese FINAL

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select sum(Shark__Individual_Weight) as FishWeight from FishCaught'", myConnection) 
    Dim ds As DataTable = New DataTable() 
    da.Fill(ds) 
    DataGridView1.DataSource = ds 

    myConnection.Close() 

Versuchen Shark Individual Weight-Shark_Individual_Weight zu ändern es

+0

danke für deine Antwort. aber der Code immer noch den gleichen Fehler – lee

+0

keine changes.still Fehler :( – lee

+0

Was sagt der Fehler? –

0

Summe eine Funktion ist, und Sie haben einen beunruhigenden Apostroph, so funktionieren:

"Select Sum([Shark Individual Weight]) From FishCaught" 
+0

Ich habe diesen Fehler 'Kein Wert für einen oder mehrere erforderliche Parameter gegeben.' – lee

+0

Dies weist auf einen fehlenden oder falsch geschriebenen Feldnamen hin. – Gustav

+0

Danke mein Programm funktioniert! DataGridView1.DataSource sollte DataGridView2.DataSource sein – lee

0

"Select Sum([field name]) From FishCaught" funktionieren soll. Haben Sie den Feldnamen in der Datenbank überprüft, sollte dieser keinen Speicherplatz enthalten. Um den Feldnamen lesbarer zu machen, können Sie alle Leerzeichen durch "_" ersetzen.

+0

Ich bekomme schon den richtigen Code, danke trotzdem. Es gibt jedoch ein Problem mit dem Code, wenn ich where-Klausel hinzufüge. Wenn möglich, könntest du mir dabei helfen? – lee