Hej! Du skulle kunna göra nåt i stil med Hej! Ändrade till SUM istället Access gör saker på sitt eget lilla vis och representerar True som -1 (istället för t.ex. 1 eller vadsomhelstsominteärnoll). Hej Tomas!Flera Count i sql söking
Kan man ha flera Count i samma sökning mot Access databas och Vb 2010?
Typ så här vill jag att det ska vara
Har 5 st fält som Ja/Nej som jag vill räkna antal fält som är Ja och lägga resultaten i en varsin label.
Så här jag det nu men verkar tokigt.
Private Sub Parameter()
Dim con As New OleDbConnection
Try
con = getConnect()
Dim cmd As New OleDbCommand
cmd.CommandText = "select Count(Hund)As iCount from [Tider] where [Datum] ='" & MonthCalendar1.SelectionStart.ToShortDateString & "'and Hund = true And [Avd] = '" & lblAvd.Text & "'"
cmd.Connection = con
con.Open()
Dim rd As OleDbDataReader = cmd.ExecuteReader
With (rd.Read)
LblHund.Text = "Hund " & rd("iCount").ToString & "/2"
End With
rd.Close()
con.Close()
con.Dispose()
Dim con1 As New OleDbConnection
con1 = getConnect()
Dim cmd1 As New OleDbCommand
cmd1.CommandText = "select Count(Katt)As iCount from [Tider] where [Datum] ='" & MonthCalendar1.SelectionStart.ToShortDateString & "'and [Katt] = true And [Avd] = '" & lblAvd.Text & "'"
cmd1.Connection = con1
con1.Open()
Dim rd1 As OleDbDataReader = cmd1.ExecuteReader
With (rd1.Read)
lblKatt.Text = "Katt " & rd1("iCount").ToString & "/2"
End With
rd1.Close()
con1.Close()
con1.Dispose()
Exit Sub
Catch ex As Exception
MsgBox("Parameter :" & ex.Message & ": " + ex.ToString)
Exit Sub
End Try
End SubSv: Flera Count i sql söking
SELECT
SUM(CASE WHEN Hund = true THEN 1 ELSE 0 END) AS sumHund,
SUM(CASE WHEN Katt = true THEN 1 ELSE 0 END) AS sumKatt
FROM SomeTable
Sv:Flera Count i sql söking
Har testat men får det inte att funka! vad är fel?
For i = 0 To 4
con = getConnect()
Dim cmd As New OleDbCommand
cmd.CommandText = " SELECT SUM(CASE WHEN Hund = true THEN 1 ELSE 0 END) AS sumHund, SUM(CASE WHEN Katt = true THEN 1 ELSE 0 END) AS SumKatt FROM Tider"
cmd.Connection = con
con.Open()
Dim rd As OleDbDataReader = cmd.ExecuteReader
With (rd.Read)
LblHund(i).Text = "Hund " & rd("sumHund").ToString & "/2"
lblKatt(i).Text = "Katt " & rd("sumKatt").ToString & "/2"
End With
rd.Close()
con.Close()
con.Dispose()
Next i
TobbeSv: Flera Count i sql söking
cmd.CommandText = "select Sum(Hund)As iSum, Sum(Katt)As tSum from [Tider] where [Datum] ='" & LblDate(i).Text & "'" ' And [Avd] = '" & lblAvd.Text & "'"
men då blir det minus antal istället väldigt irriterande
Jag vill räkna antal true i ett true/false fält i tabellen
Är det någon som har en ide hur detta ska kunna funka
TobbeSv:Flera Count i sql söking
... SUM(ABS(Hund)) ...
-- alternativt
... ABS(SUM(Hund)) ...
borde ge rätt summa och rätt tecken
Sv: Flera Count i sql söking
Jag förstår inte riktigt vad du menar med ABS
Men det funkar Tack
sum absolute value helt enkelt
Tobbe