CONTAR REGISTROS DATA.RECORDSET.RECORDCOUNT
Caros amigos, muito obrigado por terem me ajudado no topico anterior, agora estou com uma coisa aqui, que vcs voa me achar doido de perguntar.. rs rs.. mas vamos la, vejam bem, eu criei dois labels no meu form, um se chama lblclientesativos e lblclientesinativos, em cima da primeira solicitaçao, eu fiz a marcacao dos meus clientes ativos e inativos, atraves de um campo do sistema tipo texto, ou seja, se o cliente esta como ativo ele vai no campo Clisituacao e preenche como [Ô]1-Ativo[Ô] se estiver inativo ele marca como [Ô]2-Inativo[Ô], so que agora estou com problema na contagem disso para ele jogar os valores nos meus labels, ou seja, olhem o codigo que estou usando..
SUB CONTARREGISTROS()
WITH DATA1
.RECORDSOURCE=([Ô]SELECT * FROM CADCLIENTES WHERE CLISITUACAO=[ô][Ô] & [Ô]1-Ativo[Ô] [Ô][ô][Ô])
.REFRESH
LBLCLIENTESATIVOS.CAPTION = .RECORDSET.RECORDCOUNT
.RecordSource = ([Ô]select * from cadclientes where clisituacao=[ô][Ô] & [Ô]2-Inativo[Ô] & [Ô][ô][Ô])
.Refresh
lblinativo = Data1.Recordset.RecordCount
lblInativo.Caption = Contar
end with
end sub
Ai eu chamo a funçao no meu load, so que ta acontecendo o seguinte, o sistema esta contando a maior loucura, os contadores nao batem, em vez deles contarem os registros e jogaram no caption dos labels, ele ta jogando o numero de clientes ativos =10, e nao sao apenas 10, a minha duvida é a seguinte, para mim fazer o contador de registros usando campos do tipo texto eu preciso mudar a linha de programacao como acima?
brigaduuuuuuuuuuuuu
SUB CONTARREGISTROS()
WITH DATA1
.RECORDSOURCE=([Ô]SELECT * FROM CADCLIENTES WHERE CLISITUACAO=[ô][Ô] & [Ô]1-Ativo[Ô] [Ô][ô][Ô])
.REFRESH
LBLCLIENTESATIVOS.CAPTION = .RECORDSET.RECORDCOUNT
.RecordSource = ([Ô]select * from cadclientes where clisituacao=[ô][Ô] & [Ô]2-Inativo[Ô] & [Ô][ô][Ô])
.Refresh
lblinativo = Data1.Recordset.RecordCount
lblInativo.Caption = Contar
end with
end sub
Ai eu chamo a funçao no meu load, so que ta acontecendo o seguinte, o sistema esta contando a maior loucura, os contadores nao batem, em vez deles contarem os registros e jogaram no caption dos labels, ele ta jogando o numero de clientes ativos =10, e nao sao apenas 10, a minha duvida é a seguinte, para mim fazer o contador de registros usando campos do tipo texto eu preciso mudar a linha de programacao como acima?
brigaduuuuuuuuuuuuu
Você está gravando [Ô]1-Ativo[Ô] e [Ô]2-Inativo[Ô] no campo CLISITUACAO?!?
Você pode estar brincando né?
Você pode estar brincando né?
Citação:Amigo, não entendi o porque brincando.. ???? eu disse que o campo é tipo varchar(10), necessito que seje gravado no campo 1-Ativo e 2-Inativo, mas acho que isso nao vem ao caso.. so necessito contar esses registros!!!.MARCOSLING escreveu:
Você está gravando [Ô]1-Ativo[Ô] e [Ô]2-Inativo[Ô] no campo CLISITUACAO?!?
Você pode estar brincando né?
Alguma coisa assim mas, ao invez de usar um DATACONTROL, eu usaria um RECORDSET normal, instanciando e liberando ele no final.... Fica mais mais rápido o acesso...
SUB CONTARREGISTROS()
WITH DATA1
.RECORDSOURCE=([Ô]SELECT COUNT(*) FROM CADCLIENTES WHERE CLISITUACAO=[ô][Ô] & [Ô]1-Ativo[Ô] [Ô][ô][Ô])
.REFRESH
LBLCLIENTESATIVOS.CAPTION = .Data1.Recordset.fields(0)
.RecordSource = ([Ô]select COUNT(*) from cadclientes where clisituacao=[ô][Ô] & [Ô]2-Inativo[Ô] & [Ô][ô][Ô])
.Refresh
lblinativo.caption = Data1.Recordset.fields(0)
end with
end sub
Tópico encerrado , respostas não são mais permitidas