ACTIVE REPORTS LIMPAR MESMO CAMPO DO BANCO

JOERBETH 23/10/2012 10:52:31
#412589
Pessoal bom dia!!

Uso o Active Reports para meus relatórios, e até agora, tranquilo, mais assim, eu estou tentando fazer o seguinte:

no meu banco de dados tenho assim:

CODIGO - CARRO - CLIENTE - VALOR
==============================
1 - 35001 - JOERBETH - 1.500,00
----------------------------------------------
1 - 35002 - JOERBETH - 1.500,00

então, quero uma forma dessa segunda linha, limpar os campos: CLIENTE e VALOR???

Tentei fazer uma gambiarra com campos boolean , mais num rolou, acho que vou ter que trabalhar dentro dos eventos BEFORE E AFTER, vou postar o codigo de dentro do AR:

Option Explicit
Dim v_Total
Private Sub ActiveReport_Activate()
DataControl1.ConnectionString = [Ô]Provider=IBOLE.Provider.v4;Extended Properties=[ô]sql Dialect=3[ô];Persist Security Info=False;Data Source=[Ô] & _
v_IP & [Ô];Extended Properties=[ô]COLLATE=PT_BR[ô];Character Set=ISO8859_1[Ô]
Printer.Orientation = ddOLandscape
End Sub
Private Sub ActiveReport_ReportStart()
Dim Var_Select
Dim v_Flag50
v_Flag50 = [Ô]N[Ô]
v_Total = [Ô]0[Ô]
Var_Select = [Ô]SELECT CAMPANHAS.*,CARROSCAMPANHA.CODIGO,CARROSCAMPANHA.NUMERO_CARRO FROM CAMPANHAS INNER JOIN CARROSCAMPANHA ON CAMPANHAS.FLAG=[ô][Ô] & v_Flag50 & [Ô][ô] ORDER BY CLIENTE[Ô]
DataControl1.Source = Var_Select
F_DataInicio.DataField = [Ô]DATA_ENTRADA[Ô]
F_DataFim.DataField = [Ô]DATA_TERMINO[Ô]
F_Empresa.DataField = [Ô]EMPRESA[Ô]
F_NumeroCarro.DataField = [Ô]NUMERO_CARRO[Ô]
F_Cliente.DataField = [Ô]CLIENTE[Ô]
F_Valor.DataField = [Ô]VALOR_GERAL[Ô]
F_Cod.DataField = [Ô]CODIGO[Ô]
End Sub

Private Sub Detail_AfterPrint()

End Sub

Private Sub Detail_BeforePrint()

End Sub

Private Sub Detail_Format()
If F_Valor.Text = [Ô][Ô] Then
F_Valor.Text = [Ô]0[Ô]
End If

v_Total = CDbl(v_Total) + CDbl(F_Valor.Text)

End Sub
Private Sub GroupFooter1_Format()
F_Geral.Text = Format(v_Total, [Ô]#,##0.00;($#,##0.00)[Ô])
v_Total = 0

End Sub

Private Sub PageFooter_Format()
LBL_Pag.Caption = Str(Me.pageNumber)
End Sub
Private Sub PageHeader_Format()
Field1.Text = Date
End Sub



valeu
MARCELO.TREZE 23/10/2012 12:18:08
#412598
Resposta escolhida
não entendi como assim limpar?
JOERBETH 23/10/2012 12:20:06
#412600
rsss, limpar o campo para não mostrar no relatório e nem duplicar a soma

TXT_NOME.TEXT = [Ô][Ô]
TXT_VALOR.TEXT = [Ô][Ô]

até ai tudo bem, mais fazer isso em que momento?.
MARCELO.TREZE 23/10/2012 13:07:39
#412602
você faz isso antes de preencher o relatorio ou seja antes da funcão de preenchimento.

acredito que seja assim

Private Sub ActiveReport_ReportStart()
Dim Var_Select
Dim v_Flag50
v_Flag50 = [Ô]N[Ô]
v_Total = [Ô]0[Ô]
[txt-color=#0000f0] TXT_NOME.TEXT = [Ô][Ô]
TXT_VALOR.TEXT = [Ô][Ô][/txt-color]
Var_Select = [Ô]SELECT CAMPANHAS.*,CARROSCAMPANHA.CODIGO,CARROSCAMPANHA.NUMERO_CARRO FROM CAMPANHAS INNER JOIN CARROSCAMPANHA ON CAMPANHAS.FLAG=[ô][Ô] & v_Flag50 & [Ô][ô] ORDER BY CLIENTE[Ô]
DataControl1.Source = Var_Select
JOERBETH 23/10/2012 15:39:02
#412623
rsssrssss, nada disso.rsss

vou tentar simplificar.... assim, o bando de dados, tem registros repetidos, mais com o campo CARRO que faço um INNER JOIN que não repete, e e esse tenho que manter visivel no relatorio, se eu mostrar o relatorio para o [Ô]chefe[Ô] ele vai questionar porque repete, e ainda duplica os valores, já que, o campo CODIGO=1 dentro do campo, é o mesmo registro, e tenho que duplicar ele na hora de gravar,... deve existir uma forma.

valeu

Joerbeth
JOERBETH 23/10/2012 16:00:29
#412626
Não acredito que nunca ninguem passou por essa situaçao???, já tentei aqui de varias formas, o máximo que consigi, foi colocar um outro campo para pegar o mesmo codigo=1, e colocar umas variaveis boolean, mais depois que termina de carregar o codigo=1 tudo beleza, quando pula pro codigo=2, nã faz mais nada e repete tudo... tem gente aqui que trabalha com AR(active reports)


falows gente


Joerbeth
MARCELO.TREZE 23/10/2012 16:35:13
#412629
O problema não é o active reports e sim a lógica da coisa que não estamos entendendo, afinal você quer que repita ou não?

bomse for para não repetir ja pensou em usar um distinct ou group by

JOERBETH 23/10/2012 16:41:27
#412631
acho que não tá dificil de entender não, mais , vamos tentar de novo.....

CODIGO - CARRO - CLIENTE - VALOR
==============================
1 - 35001 - JOERBETH - 1.500,00
----------------------------------------------
1 - 35002 - JOERBETH - 1.500,00


vcs percebem que, a segunda linha do [Ô]relatório[Ô] a unica coisa que não é igual é o carro??? então quero somente, deixar nessa segunda linha o CARRO mostrando no relatorio, e os demais campos da segunda lina, e assim por diante se tiver mais de 3 linhas ou 4 ou 5 .... apagados, por isso que coloquei TXT_CODIGO.TEXT =[Ô][Ô] que isso é facil né?!;

valeu
MARCELO.TREZE 23/10/2012 17:09:13
#412635
então colega tente um max

exemplo:

Var_Select = [Ô]SELECT CAMPANHAS.*,CARROSCAMPANHA.CODIGO,[txt-color=#0000f0]MAX[/txt-color](CARROSCAMPANHA.NUMERO_CARRO) FROM CAMPANHAS INNER JOIN CARROSCAMPANHA ON CAMPANHAS.FLAG=[ô][Ô] & v_Flag50 & [Ô][ô] ORDER BY CLIENTE[Ô]

ELE VAI MOSTRAR O ULTIMO CARRO APENAS
JOERBETH 23/10/2012 17:38:17
#412640
não tem como eu testar aqui, como vc colocou, ele vai fazer assim:

CODIGO - CARRO - CLIENTE - VALOR
==============================
1 - 35001 - JOERBETH - 1.500,00
----------------------------------------------
- 35002 -
- 35003 -
- 35004 -
- 35005 -
VALOR GERAL 1.500,00

??????
MARCELO.TREZE 23/10/2012 19:57:44
#412652
pelo código que postei teoricamente teria que sair somente o ultimo

assim

CODIGO - CARRO - CLIENTE - VALOR
==============================
1 - 35005 - JOERBETH - 1.500,00

porém se é da forma acima que você deseja teria de ser de outra maneira
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas