Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

DataReport - RptTextBox sem DataField

Recommended Posts

Olá a todos, ando meio sumido do fórum, faz um bom tempo que não ajudo ninguém, peço desculpas a todos, mas ando numa correria intensa.

 

Mas preciso da ajuda de você agora.

 

É o seguinte, Estou construindo um relatório com DataReport e preenchendo os objetos via código.

Eu preciso preencher um objeto RptTextBox via código, mas sem utilizar da propriedade DataField.

 

Terei seis RptTextBox no relatório, do qual cinco deles, pego dados diretamente da tabela, mas o último não. Na verdade, no último, devo exibir uma soma de valores vindos da tabela (não tenho como fazer isso no select porque é intervalo de datas).

 

Alguém sabe de é possível fazer isso?

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claudio,

 

Não entendi muito bem, mas segue o código para você analisá-lo:

Private Sub cmdvisualizar_Click()

Dim relvendas_1 As New ADODB.Recordset

Dim Inicial As String

Dim Final As String

On Error GoTo cmvizualizar ' Erro ao vizualizar registro

 

Inicial = Format(data_inicial.Value, "YY/mm/dd")

Final = Format(data_final.Value, "YY/mm/dd")

 

If data_inicial.Value > data_final.Value Then

MsgBox " A data inicial deverá ser menor ou igual data final", vbInformation, "Data Inválida"

data_inicial.SetFocus

Exit Sub

End If

 

If relvendas_1.State = 1 Then Set relvendas_1 = Nothing

 

'Define a string que será usada na consulta para gerar o recordset

sql = "Select mov_fatura.cod_produto,produto.nome_produto,produto.unidade,produto.categoria,mo

v_fatura.q_vendida,mov_fatura.preco_venda,mov_fatura.total_item,fatura.data_fatur

a"

sql = sql & " from produto, mov_fatura,fatura"

sql = sql & " where mov_fatura.cod_produto=produto.cod_produto and mov_fatura.n_fatura=fatura.n_fatura and fatura.data_fatura between '" & Inicial & "' AND '" & Final & "'"

sql = sql & " order by produto.cod_produto,fatura.data_fatura"

relvendas_1.CursorLocation = adUseClient

relvendas_1.Open sql, mycon, adOpenKeyset, adLockPessimistic

mycon.Execute sql

 

If Not relvendas_1.EOF Then

Set drpVendas.DataSource = relvendas_1

drpVendas.Show

Else

MsgBox "Não existe(m) vendas para esse período !", vbInformation, "VENDAS"

End If

 

cmvizualizar_exit:

Exit Sub

Set relvendas_1 = Nothing

 

cmvizualizar:

MsgBox Err.Description, vbInformation, "Erro ao [cmvizualizar]"

 

End Sub

Private Sub DataReport_Initialize()

Dim strAte As String

Dim strInicio As String

 

'pega as datas de inicio e de fim

With Relatorio

strInicio = .data_inicial.Value

strAte = .data_final.Value

End With

 

'define o titulo do relatório

drpVendas.Title = "De: " & strInicio & " Até: " & strAte

 

End Sub

 

Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)

Set relvendas_1 = Nothing

 

End Sub

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Alisson, mas me parece que não tem o que preciso não.

 

O que eu precisava era preencher RptTextBox sem utilizar de um banco de dados, com informações vindas via código.

 

Consegui resolver minha necessidade através da própria string de consulta do sql, mas de qualquer forma, se alguém souber fazer, poderia postar por favor somente a critério de conhecimento...

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que se você mostrar como insere os campos RptTextBox e como os alimenta via Banco De Dados, ou recordset, creio que posso lhe ajudar à realizar essa tarefa. Assim espero.

 

Paulo Mendes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Paulo, eu não os insiro manualmente um por um, apenas configuro a propriedade DataField dele para se conectar com meu recordset, assim:

 

CODE

For i = 1 To .Count - 1

If TypeOf .Item(i) Is RptTextBox Then

.Item(i).DataMember = ""

.Item(i).DataField = rsdae.Fields(i).Name

End If

Next i

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Cláudio. Creio que dessa maneira, por String SQL seja mais fácil, pois vou ser sincero, não uso o DataReport do VB hehehe, ou eu gero os relatórios no Crystal ou imprimo direto em html no arquivo.

 

Uma Pena. Mas valew por ter explicado hehehe.

 

Paulo Mendes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.