Ir para conteúdo

Arquivado

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

Claudio Neto

Usar DataReport sem DataEnvorement

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif Ai Claudio, nao tem, ou pelo menos nao conheço nenhuma forma pra voce colocar dados num dataReport sem conecta-lo a uma base de dados, mas eu posso lhe ensinar como conectar o dataReport numa base de dados sem usar o dataEnviroment....Se quizer é so dizer que eu posto aqui.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/closedeyes.gif Ai Claudio, nao tem, ou pelo menos nao conheço nenhuma forma pra voce colocar dados num dataReport sem conecta-lo a uma base de dados, mas eu posso lhe ensinar como conectar o dataReport numa base de dados sem usar o dataEnviroment....Se quizer é so dizer que eu posto aqui.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Pô, pode ser que isso já me ajude de certa maneira. Quero sim.

 

Poste ai por favor.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma base de dados, com uma tabela e coloque apenas 3 campos nessa tabela

Depois no visual Basic:

 

Esse codigo entra num modulo

CODE
Public Liga As Connection REM Aqui o seu objecto pra conexao

Public Tabela As Recordset REM aqui você tem o seu recordeset

Agora Adicione um dataRespot e coloque nele na sections1 3 RptTextBoxs

 

No evento LOAD do form coloque o seguinte codigo

CODE

Set Liga = New Connection

Liga.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source="caminhodabasededados.mdb"

No CLICK de um botao coloque o seguinte

 

CODE

Set Tabela = New Recordset

Tabela.Open "SELECT * FROM nomeTabela", Liga

With DataReport1

Set .DataSource = Nothing

.DataMember = ""

Set .DataSource = Tabela.DataSource

With .Sections("Section1").Controls

For i = 1 To .Count

If TypeOf .Item(i) Is RptTextBox Then

.Item(i).DataMember = ""

.Item(i).DataField = Tabela.Fields(i - 1).Name

End If

Next i

End With

.Show

End With

 

Ai está........Qualquer duvida poste ai, espero ter ajudado....... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, legal...

 

Vou testar. Na verdade a única coisa que eu não sabia ai era como indicar o DataSource e o DataMember para o DataReport.

 

Muito interessante isso.

 

Abração...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar aqui outra forma para você ver como se faz relatorio no Datareport sem DataEnvironment, e quanto a fazer sem Base de Dados tem sim, é só dizer onde estão os dados que você quer que saia no relatorio, pode estar num Form, em um controle, numa variável etc...

 

abra um recordset para chamar os dados do BD para impressão

 

No general declarations do Form:

 

Dim cmd_relatorio As New ADODB.Command
Dim rs_relatorio As New ADODB.Recordset

 

No Form_load:

 

Private Sub Form_Load()
With cmd_relatorio
.ActiveConnection = cnn_Sua_Connexão
.CommandType = adCmdText
.CommandText = "Select campo1, campo2, campo3 from Tabela"
Set rs_relatorio = .Execute
End With

End Sub

Agora insira um DataReport em seu Projeto e ponha uma textbox para cada campo de sua tabela, neste exemplo são três. Depois coloque na Propriedade DataField de cada text o nome do campo da tabela que será impresso no relatorio, assim:

 

ex:

 

text = DataField

 

text1 = campo1

text2 = campo2

text3 = campo3

 

agora é só chamar o relatório com o botão no form:

 

Private Sub Cmd_relatorio_Click()

With DataReport1
	Set .DataSource = rs_relatorio
	.DataMember = ""
	.Refresh
	.Show
End With
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Macedo, mas seu eu faço sem uma base de dados, só passando os dados do form para o DataReport, ele dá erro justamente dizendo que o DataSource é inválido. Como faço para evitar isso então?

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.