ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
614
614
EMPFEHLEN
-
Hallo,
ich bräuchte mal kurzen denkanstoß:
Mit folgendem Select werden ja alle Daten innerhalb eines Zeitraums angezeigt:
Code :1 2 3 4 5
Dim sql As String sql = "date >= # " & DateTimePicker2.Value.Month & "/" & DateTimePicker2.Value.Day & "/" & DateTimePicker2.Value.Year & "#" sql += " AND date <= # " & DateTimePicker3.Value.Month & "/" & DateTimePicker3.Value.Day & "/" & DateTimePicker3.Value.Year & "#" MoneyBindingSource.Filter = sql
Soweit so gut. Nun möchte ich aber aus einer bestimmten Spalte (day_issuing)
alle Werte in dem angezeigten Zeitraum summieren und in einer Textbox ausgeben.
Würde Euch dazu was einfallen?
Vielen Dank schon mal!
-
Anstelle von "SELECT day_issuing" einfach "SELECT SUM(day_issuing)".
-
Code :
1 2 3 4
Dim sql As String sql = "SELECT SUM(day_issuing)" MoneyBindingSource.Filter = (sql)
Wenn ich es so mache, bekomme ich einen fehler:
Syntaxfehler: Fehlender Operand nach dem Operator 'SUM'.
-
30.07.10 08:43 #4
- Registriert seit
- Jun 2005
- Beiträge
- 7.983
Hi.
Eine SQL Select Anweisung hat immer noch die Form:
Siehe z.B. http://sql.1keydata.com/de/sql-funktionen.phpCode sql:1
SELECT ... FROM ...
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
hi,
ok das stimmt. Aber kann es sein, daß DataSet kein SQL kann?
-
Was ist denn überhaupt "MoneyBindingSource"? Du legst doch jedesmal nur das Attribut "Filter" fest, was möglicherweise nur für die WHERE Bedingung Zuständig ist (wenn man deinen Startpost betrachtet). Irgendwo musst du doch festlegen, welche Spalten abgefragt werden.
Also arbeitest du garnicht auf einer Datenbank? Können wir ja nicht erraten. Das DataSet beherrscht nur eine beschränkte Untermenge des SQL-Standards. SUM gehört nicht dazu.
http://forums.asp.net/t/985565.aspx
-
hab das jetzt mal mit u.s. code versucht. Aber komischer weise bekomme ich immer einen Systaxfehler: Ungültige Verwendung von Aggregatfunktion Sum() und Typ: String.
Kann ich die Summe nicht als String ausgeben?
Dim strConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & verzeichnis & "moch.mdb;"
Dim conn As New OleDbConnection(strConn)
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select * FROM [money]", conn)
Dim dt As New DataTable
Dim ds As New DataSet
Dim bs As New BindingSource
ds.Tables.Add(dt)
da.Fill(dt)
bs.DataMember = ds.Tables(0).TableName
bs.DataSource = ds
MoneyDataGridView.DataSource = bs
' Über DataTable
'lbl1.Text = dt.Compute("Sum([day_issuing])", "")
'oder
' Über DataSet
lbl1.Text = ds.Tables(0).Compute("Sum([day_issuing])", "")
-
Welcher Datentyp hat die Spalte "day_issuing"? Und was sind das für eckige Klammer?
Du musst das Ergebnis von Compute() noch in einen String umwandeln, um es an das Label weiterzugeben. Also .ToString() anhängen.
Hier steht eigentlich alles was man so wissen muss
http://msdn.microsoft.com/en-us/libr...=VS.71%29.aspx
-
habs jetzt selber rausgefunden. Die Summe schreib ich einfach in eine andere Tabelle (temporär) und gib die dann aus.
-
Dim AccessCommand As New System.Data.OleDb.OleDbCommand("SELECT SUM(day_issuing) INTO [sum_issuing] from [money] WHERE date >=# " & DateTimePicker2.Value.Month & "/" & DateTimePicker2.Value.Day & "/" & DateTimePicker2.Value.Year & "# AND date <= # " & DateTimePicker3.Value.Month & "/" & DateTimePicker3.Value.Day & "/" & DateTimePicker3.Value.Year & "#", AccessConn)
Ähnliche Themen
-
Textbox überprüfen (Werte aus einer Textdatei)
Von HeaDHunteR im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 06.07.10, 10:56 -
[VB] Text zwischen Zwei Zeichen kopieren und in einer Textbox wieder ausgeben
Von XneuerX im Forum .NET Windows FormsAntworten: 1Letzter Beitrag: 16.04.10, 12:21 -
Zufallszahl in einer Textbox ausgeben!
Von cobfreaky im Forum .NET Windows FormsAntworten: 7Letzter Beitrag: 19.11.08, 09:12 -
3 Werte aus einer Spalte ausgeben
Von elena6 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 26.09.05, 15:33 -
Array werte summieren
Von nesma im Forum C/C++Antworten: 8Letzter Beitrag: 06.07.05, 12:27





Zitieren

Login




