DUPLA FUNCAO DO RPTFUNCTION VB6 DATAREPORT

BRUNOJUL 16/07/2011 22:29:43
#379371

Olá

Podem ajudar ? preciso colocar um segundo RptFunction com o calculo de soma + multiplicação .

algora parecido com SUM(VALOR)*20%

grato;

Bruno
DAVIDNUNES 17/07/2011 22:06:59
#379408
(valor)*(100-percentual)/100)
ex
(10)*((100-10)/100)
BRUNOJUL 18/07/2011 08:29:53
#379415
DAVIDNUNES

Como utilizo esta função no DataReport ? este é meu objeto abaixo.

DTRP_RECIBO.Sections([Ô]Section5[Ô]).Controls.Item([Ô]Function1[Ô]). ???

Tenei desta forma mas não funciona:
DTRP_RECIBO.Sections([Ô]Section5[Ô]).Controls.Item([Ô]lbl_INSS[Ô]).Caption = DTRP_RECIBO.Sections([Ô]Section5[Ô]).Controls.Item([Ô]Function1[Ô]). text


[Ô]Valor[Ô] é o Datafield do function1 que esta com a functiontype 0-rptFuncSum

grato;
Bruno
ROBIU 18/07/2011 08:35:23
#379417
Resposta escolhida
Como você carrega o relatório? Posta o projeto exemplo, que vamos analisar.
BRUNOJUL 18/07/2011 09:08:28
#379419
Carrego desta forma .

Set con = New Connection
con.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & App.Path & [Ô]\BD_DADOS.mdb[Ô]

sSQL = [Ô]SELECT * [Ô]
sSQL = sSQL & [Ô]FROM TBL_LACAMENTO[Ô]
sSQL = sSQL & [Ô]WHERE UNIDADE = [Ô] & cmb_num_unidade_recibo.Text & [Ô][Ô]


Set rs = New Recordset
rs.CursorLocation = adUseClient
rs.Open sSQL, con


With DTRP_RECIBO
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = rs.DataSource

MsgBox .Sections([Ô]Section1[Ô]).Controls.Count
With .Sections([Ô]Section1[Ô]).Controls
For i = 1 To .Count
If TypeOf .Item(i) Is RptTextBox Then
.Item(i).DataMember = [Ô][Ô]
.Item(i).DataField = rs.Fields(i - 1).Name
End If


Next i

[ô][ô]**********NOMEAR RODAPé[ô][ô]*****************************
DTRP_RECIBO.Sections([Ô]Section5[Ô]).Controls.Item(4).Caption = cmb_nome_unidade_recibo.Text

End With


.Show

End With
ROBIU 18/07/2011 09:46:36
#379421
1 - Muda sua Sql, informando o nome dos campos e acrescentando um novo campo, fazendo o cálculo:
ex.:
sSQL = [Ô]SELECT Campo1, Campo2, Campo3..., CampoValor, (CampoValor * 1.2) as NovoValor[Ô]
sSQL = sSQL & [Ô]FROM TBL_LACAMENTO[Ô]
sSQL = sSQL & [Ô]WHERE UNIDADE = [Ô] & cmb_num_unidade_recibo.Text & [Ô][Ô]


2 - Se você quiser que o valor com 20% apareça no detalhe, insere um textbox e em DataField informa o nome do campo. Neste caso, NovoValor

3 - No RptFunction informa o Datafield = NovoValor

Obs: Note que você pode exibir o valor Normal e o valor calculado.
Tópico encerrado , respostas não são mais permitidas