PRINTREPORT

IRENKO 01/10/2009 13:10:06
#324170
Pessoal, estou tentando imprimir um relatorio sem mostra o mesmo, ou seja, mandando direto na impressora com o seguinte comando:

DataReq.PrintReport False, rptRangeAllPages

dá a msg de erro:

DataField[ô]Requisitado[ô] not found

mas eu defini o Datafield na propriedade do relatorio

o engraçado que com DataReq.Show, funciona. Eis meu codigo:

Private Sub Command2_Click()

Set RstImp = New ADODB.Recordset

RstImp.Open [Ô]SELECT [LM],Data,Requisitante,Setor,Cliente,Produto,Desenho,Ltd,Controle,Contrato FROM DadosReq WHERE [LM] Like [ô]%[Ô] & Text1.text & [Ô]%[ô][Ô], Banco2, adOpenDynamic, adLockOptimistic



If Not RstImp.EOF Then

Set DataReq.DataSource = RstImp

DataReq.DataMember = [Ô][Ô]

If IsNull(RstImp!Ltd) Then
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBOrigem[Ô]).Caption = [Ô]LM Nº[Ô] & [Ô] [Ô] & RstImp([Ô]LM[Ô])
Else
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBOrigem[Ô]).Caption = [Ô]LM Nº[Ô] & [Ô] [Ô] & RstImp([Ô]LM[Ô]) & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & [Ô]LTD Nº[Ô] & [Ô] [Ô] & RstImp([Ô]Ltd[Ô])
End If
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBReq[Ô]).Caption = [Ô]Controle......:[Ô] & [Ô] [Ô] & RstImp([Ô]Controle[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBLM[Ô]).Caption = RstImp([Ô]LM[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBData[Ô]).Caption = Format(RstImp([Ô]Data[Ô]), [Ô]DD/MM/YYYY[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBContrato[Ô]).Caption = RstImp([Ô]Contrato[Ô])
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBNome[Ô]).Caption = [Ô]Emitido por......:[Ô] & [Ô] [Ô] & RstImp([Ô]Requisitante[Ô]) & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & [Ô]SEPLA[Ô]
If IsNull(RstImp!Desenho) Or RstImp!Desenho = [Ô]-[Ô] Then
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBDesenho[Ô]).Caption = [Ô]Desenho :[Ô] & [Ô] [Ô] & [Ô]-------[Ô]
Else
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBDesenho[Ô]).Caption = [Ô]Desenho :[Ô] & [Ô] [Ô] & RstImp([Ô]Desenho[Ô])
End If
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBRequisitante[Ô]).Caption = [Ô]Requisitante/Setor :[Ô] & [Ô] [Ô] & RstImp([Ô]Setor[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBConta[Ô]).Caption = [Ô]Conta a Debitar :[Ô] & [Ô] [Ô] & [Ô]6416[Ô]
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBPagina[Ô]).Caption = [Ô]Página..:[Ô] & [Ô] [Ô] & [Ô]%p de %p[Ô]
DataReq.Sections([Ô]Final[Ô]).Controls.Item([Ô]LBRecebido[Ô]).Caption = [Ô]Requisitante[Ô] & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & RstImp([Ô]Setor[Ô])

DataReq.WindowState = vbMaximized
DataReq.PrintReport False
DataReq.PrintReport False, rptRangeAllPages

Else
RstImp.Close
MsgBox [Ô]Não foram encontrados Registros[Ô], vbInformation, [Ô]Aviso[Ô]
End If

Set RstImp1 = New ADODB.Recordset
Set RstImp1 = Banco2.Execute([Ô]SELECT Requisitado,Atendido,Dispositivo,Material,Codigo,LM FROM Requisicao Where LM Like [ô]%[Ô] & Text1.text & [Ô]%[ô][Ô])
If Not RstImp1.EOF Then
[ô]Define o DataSource do relatório
Set DataReq.DataSource = RstImp1
DataReq.DataMember = [Ô][Ô]
DataReq.PrintReport False, rptRangeAllPages

End If
End Sub
TECLA 01/10/2009 20:22:51
#324223
Resposta escolhida
Observando o código postado, o trecho DataReq.PrintReport se repete 3 vezes.
Em qual delas ocorre o erro?

Private Sub Command2_Click()

Set RstImp = New ADODB.Recordset

RstImp.Open [Ô]SELECT [LM],Data,Requisitante,Setor,Cliente,Produto,Desenho,Ltd,Controle,Contrato FROM DadosReq WHERE [LM] Like [ô]%[Ô] & Text1.text & [Ô]%[ô][Ô], Banco2, adOpenDynamic, adLockOptimistic



If Not RstImp.EOF Then

Set DataReq.DataSource = RstImp

DataReq.DataMember = [Ô][Ô]

If IsNull(RstImp!Ltd) Then
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBOrigem[Ô]).Caption = [Ô]LM Nº[Ô] & [Ô] [Ô] & RstImp([Ô]LM[Ô])
Else
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBOrigem[Ô]).Caption = [Ô]LM Nº[Ô] & [Ô] [Ô] & RstImp([Ô]LM[Ô]) & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & [Ô]LTD Nº[Ô] & [Ô] [Ô] & RstImp([Ô]Ltd[Ô])
End If
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBReq[Ô]).Caption = [Ô]Controle......:[Ô] & [Ô] [Ô] & RstImp([Ô]Controle[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBLM[Ô]).Caption = RstImp([Ô]LM[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBData[Ô]).Caption = Format(RstImp([Ô]Data[Ô]), [Ô]DD/MM/YYYY[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBContrato[Ô]).Caption = RstImp([Ô]Contrato[Ô])
DataReq.Sections([Ô]Cab1[Ô]).Controls.Item([Ô]LBNome[Ô]).Caption = [Ô]Emitido por......:[Ô] & [Ô] [Ô] & RstImp([Ô]Requisitante[Ô]) & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & [Ô]SEPLA[Ô]
If IsNull(RstImp!Desenho) Or RstImp!Desenho = [Ô]-[Ô] Then
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBDesenho[Ô]).Caption = [Ô]Desenho :[Ô] & [Ô] [Ô] & [Ô]-------[Ô]
Else
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBDesenho[Ô]).Caption = [Ô]Desenho :[Ô] & [Ô] [Ô] & RstImp([Ô]Desenho[Ô])
End If
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBRequisitante[Ô]).Caption = [Ô]Requisitante/Setor :[Ô] & [Ô] [Ô] & RstImp([Ô]Setor[Ô])
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBConta[Ô]).Caption = [Ô]Conta a Debitar :[Ô] & [Ô] [Ô] & [Ô]6416[Ô]
DataReq.Sections([Ô]Cab[Ô]).Controls.Item([Ô]LBPagina[Ô]).Caption = [Ô]Página..:[Ô] & [Ô] [Ô] & [Ô]%p de %p[Ô]
DataReq.Sections([Ô]Final[Ô]).Controls.Item([Ô]LBRecebido[Ô]).Caption = [Ô]Requisitante[Ô] & [Ô] [Ô] & [Ô]-[Ô] & [Ô] [Ô] & RstImp([Ô]Setor[Ô])

DataReq.WindowState = vbMaximized
DataReq.PrintReport False
DataReq.PrintReport False, rptRangeAllPages


Else
RstImp.Close
MsgBox [Ô]Não foram encontrados Registros[Ô], vbInformation, [Ô]Aviso[Ô]
End If

Set RstImp1 = New ADODB.Recordset
Set RstImp1 = Banco2.Execute([Ô]SELECT Requisitado,Atendido,Dispositivo,Material,Codigo,LM FROM Requisicao Where LM Like [ô]%[Ô] & Text1.text & [Ô]%[ô][Ô])
If Not RstImp1.EOF Then
[ô]Define o DataSource do relatório
Set DataReq.DataSource = RstImp1
DataReq.DataMember = [Ô][Ô]
DataReq.PrintReport False, rptRangeAllPages

End If
End Sub


Outra coisa, porque duplicou a linha abaixo?
DataReq.PrintReport False
DataReq.PrintReport False, rptRangeAllPages
Tópico encerrado , respostas não são mais permitidas