FUNCAO SQL COUNT NAO FUNCIONA
bom dia a todos...
estou fazendo 3 funções sql. para contar e mostrar em 3 lebal... mas só consigo contar a ultima sql dessa função......
o db é access
estou fazendo 3 funções sql. para contar e mostrar em 3 lebal... mas só consigo contar a ultima sql dessa função......
Function Buscar()
Set rst1 = New ADODB.Recordset
sSql = "Select count(*) as Aberto From TblCobranca where status = 'aberto'"
sSql = "Select count(*) as Pago From TblCobranca where status = 'Pago'"
sSql = "Select count(*) as naopago From TblCobranca where status = 'naopago'"
rst1.Open sSql, Conexao, 3
lblNaopago.Caption = rst1!naopago
lblPago.Caption = rst1!pago
lblAberto.Caption = rst1!aberto
rst1.Close
End Function
o db é access
dica ferifica se o nome da tabela esta escrita em minusculo ou maisculo se servidor for linux da erro.
Outra coisa sempre que você utilizar o rstl você deve fechar para executar o proximo comando sql.
Outra coisa sempre que você utilizar o rstl você deve fechar para executar o proximo comando sql.
Meu, mas vc cria a variavel sSql, atribui um valor na primeira linha, na segunda vc substitui esse valor e na terceira substitui de novo, seu código é o mesmo que:
Mas tipo, eu lembro de já ter respondido isso pra você, não?
Mas enfim, tente assim:
Qualquer dúvida poste...flw
Function Buscar()
Set rst1 = New ADODB.Recordset
sSql = "Select count(*) as naopago From TblCobranca where status = 'naopago'"
rst1.Open sSql, Conexao, 3
lblNaopago.Caption = rst1!naopago
lblPago.Caption = rst1!pago
lblAberto.Caption = rst1!aberto
rst1.Close
End Function
Mas tipo, eu lembro de já ter respondido isso pra você, não?
Mas enfim, tente assim:
Function Buscar()
Dim SqlAberto As String, SqlPago As String
Set rst1 = New ADODB.Recordset
SqlAberto = "Select count(*) From TblCobranca where status = 'aberto'"
SqlPago = "Select count(*) From TblCobranca where status = 'Pago'"
sSql = "Select count(*) as naopago, (" & SqlAberto & ") as Aberto, (" & SqlPago & ") as Pago From TblCobranca where status = 'naopago'"
rst1.Open sSql, Conexao, 3
lblNaopago.Caption = rst1!naopago
lblPago.Caption = rst1!pago
lblAberto.Caption = rst1!aberto
rst1.Close
End Function
Qualquer dúvida poste...flw
Pode se user o group by
select count(*) from tabcobranca where status in('aberto','pago',naopago') group by status, order by status
lblaberto.caption = rs(0)
lblnaopago.caption = rs(1)
lblpago.caption = rs(2)
select count(*) from tabcobranca where status in('aberto','pago',naopago') group by status, order by status
lblaberto.caption = rs(0)
lblnaopago.caption = rs(1)
lblpago.caption = rs(2)
Matioli, matou mais errou rs!
Vc esqueceu de abrir as 3 conexoes ...
Vc esqueceu de abrir as 3 conexoes ...
Function Buscar()
Dim SqlAberto As String, SqlPago As String
Set rst1 = New ADODB.Recordset
SqlAberto = "Select count(*) From TblCobranca where status = 'aberto'"
SqlPago = "Select count(*) From TblCobranca where status = 'Pago'"
sSql = "Select count(*) as naopago, (" & SqlAberto & ") as Aberto, (" & SqlPago & ") as Pago From TblCobranca where status = 'naopago'"
rst1.Open sSql, Conexao, 3
lblNaopago.Caption = rst1!naopago
Rst1.Close
rst1.Open SqlPago, Conexao, 3
lblPago.Caption = rst1!pago
Rst1.Close
rst1.Open SqlAberto, Conexao, 3
lblAberto.Caption = rst1!aberto
rst1.Close
End Function
Citação:LIONHEART escreveu:
Matioli, matou mais errou rs!
Vc esqueceu de abrir as 3 conexoes ...
ai ai ai...
Leia direito meu código, eu embuti as três querys numa só, fazendo subquerys, repare que junto tudo na sSql, mas o GROUP BY também é uma boa RXGOMES, só que tem que ser feito da seguinte forma:
Function Buscar()
Set rst1 = New ADODB.Recordset
sSql = "Select count(*) As Total, status From TblCobranca GROUP BY status"
rst1.Open sSql, Conexao, 3
Do While Not rst1.EOF
Select Case LCase(rst1("status"))
Case "aberto"
lblAberto.Caption = rst1("Total")
Case "pago"
lblPago.Caption = rst1("Total")
Case "naopago"
lblAberto.Caption = rst1("Total")
End Select
rst1.MoveNext
Loop
rst1.Close
End Function
Lion brincadeira!
Você pediu e o Matioli atendeu, ou seja, agora Matou e Mostrou o PAU, digo explicou o código que já tinha mostrado.
Brincadeira Lion
Matioli
Galera Sem [S24] (Gostei desses bonequinhos novos).
Você pediu e o Matioli atendeu, ou seja, agora Matou e Mostrou o PAU, digo explicou o código que já tinha mostrado.

Brincadeira Lion

Matioli

Galera Sem [S24] (Gostei desses bonequinhos novos).
Eu falo, nesse VBM só tem loco...[S20]
Tópico encerrado , respostas não são mais permitidas