RPTTEXBOX VIA CODIGO

SNNIFFER 19/05/2011 23:26:28
#374495
Como preencher um rpttextbox do Datareport via código, sem acesso a tabelas, apenas utilizando uma variavel?
DANLEONHART 20/05/2011 07:10:21
#374506
Resposta escolhida
Olha fiz isso uma vez criando um RecordSet desconectado...
Nesta Sub criei e povoei o RecordSet com os dados de algumas TextBoxes:

Sub SelectPrinter()
Dim Rst As ADODB.Recordset
Set Rst = New ADODB.Recordset
Rst.ActiveConnection = Nothing

[ô] Criando e povoando o RecordSet com os Dados:
With Rst
.Fields.Append [Ô]Codigo[Ô], adVarChar, 50
.Fields.Append [Ô]Nome[Ô], adVarChar, 50
.Fields.Append [Ô]Cidade[Ô], adVarChar, 50
.Open

.AddNew
.Fields([Ô]Codigo[Ô]) = txt_Cod.Text
.Fields([Ô]Nome[Ô]) = txt_Nome.Text
.Fields([Ô]Cidade[Ô]) = txt_Cid.Text
.UpDate
End With
[ô]Setando o DataReport com o RecordSet:
Set DataReport1.DataSource = Rst
DataReport1.Show vbModal
End Sub

Lembrando que na propriedade [Ô]DataField[Ô] da TextBox do DataReport deve está relacionado com o nome do campo que apresenta a variavel...
no meu caso coloquei dentro do campo da propriedade [Ô]DataField[Ô] os nomes dos Campos do RecordSet desconectado que criei

Acho que deu pra entender né ?

Na boa, os grandes programadores da área onde trabalho me zuaram pacas ...
mas o engraçado é que tá funcionando a mais de 6 meses e eles ainda não corrigiram com o [Ô]Código enxuto[Ô] que disseram que iriam colocar...

por isso eu não passo de um simples progr[txt-color=#0000f0]AMADOR[/txt-color] ! mas funciona ! testa aí !

Fui !
ROBIU 20/05/2011 08:22:14
#374510
O rptTextBox precisa está vinculado a um campo. Para pegar o valor de uma váriável ou textbox do form e jogar no datareprt, você deve usar um RptLabel.
Ex.:

Private Sub DataReport_Initialize()
Rpt.Sections([Ô]Section1[Ô]).Controls([Ô]Label4[Ô]).Caption = [Ô]TESTE[Ô]
Rpt.Sections([Ô]Section5[Ô]).Controls([Ô]Label3[Ô]).Caption = MinhaVariavel
End Sub
SNNIFFER 20/05/2011 12:34:15
#374540
Valeu pessoal, o primeiro exemplo do DANLEONHART, foi perfeitamente o que precisava.
Tópico encerrado , respostas não são mais permitidas