IMPRIMIR SAIDA DE DADOS?
Ola gostaria de saber como imprimir os dados que estou dando saida do programa.Mas só a saida e não o banco de dados inteiro entederam.Obs(Programa que estou criando e de estoque de alimentos e preciso imprimir a entrada e a saida dos alimento ,mas só a entrada e a saida e não o banco de dados inteiros.via dao.
Prezado, boa tarde!
Você quer fazer a impressão de informações do estoque?
Caso seja, pode usar o data report ou usar impressão pelo print.
Usando o data report
1o. Monte o relatório da forma que você quer que seja exibido.
2o. faça um código que preencha o relatório;
ex.
Private Sub periodo()
[ô]inicia conexao
Mycon.Open [Ô]dsn=est1112[Ô]
[ô]inicial recordset
Set myrs = New ADODB.Recordset
With mycmd
Set .ActiveConnection = Mycon
.CommandType = adCmdText
.CommandText = [Ô]select cob001.ddata, cob001.nf, cob001.duplicata, cob001.cliente, tblcliente.nome, cob001.vvalor, cob001.vencimento, cob001.tipo from tblcliente RIGHT JOIN cob001 ON tblcliente.codigo = cob001.cliente where vencimento >= [ô][Ô] & Format(Me.mskInicial, [Ô]YYYY/MM/DD[Ô]) & [Ô][ô] and vencimento <= [ô][Ô] & Format(Me.mskFinal, [Ô]YYYY/MM/DD[Ô]) & [Ô][ô] and consolidado = 0 order by vencimento[Ô]
Set myrs = .Execute
End With
[ô]adiciona informações no cabeçalho do relatório
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblInicial[Ô]).Caption = Format(Me.mskInicial, [Ô]dd/mm/yyyy[Ô])
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblEmp[Ô]).Caption = emp
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblFinal[Ô]).Caption = Format(Me.mskFinal, [Ô]dd/mm/yyyy[Ô])
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblrelatorio[Ô]).Caption = [Ô]RELATÓRIO DE DUPLICATAS A RECEBER[Ô]
[ô]passa a referencia para o relatório
Set rptcob000.DataSource = myrs
[ô]abre o relatório
rptcob000.Show vbModal
myrs.Close
Set myrs = Nothing
Set mycmd = Nothing
Mycon.Close
End Sub
relatório usando o print
Private Sub imprimir()
Dim Linhas As Integer
Dim rsselecao As New ADODB.Recordset
Dim rsselecao2 As New ADODB.Recordset
On Error GoTo errimprimir
[ô]verifica se foi informado o número da ordem de compra
If Me.txtCodigo = [Ô][Ô] Then
MsgBox [Ô]Favor informar número ordem compra.[Ô], vbInformation, [Ô]Objetivo[Ô]
Exit Sub
End If
[ô]abre a conexão
Mycon.Open [Ô]dsn=est1112[Ô]
[ô]busca as informações no banco de dados
With mycmd
Set .ActiveConnection = Mycon
.CommandType = adCmdText
.CommandText = [Ô]SELECT est004.NumeroOrdemCompra, est004.TipoOrdemCompra, est004.CodigoFornecedor, est002.Nome, est004.TipoPagamento, est004.Vencimento, est004.Chegada, est004.Observacao, est004.transportadora FROM est002 INNER JOIN est004 ON est002.Codigo = est004.CodigoFornecedor where est004.numeroordemcompra = [ô][Ô] & Me.txtCodigo & [Ô][ô][Ô]
Set myrs = .Execute
[ô]
.CommandText = [Ô]SELECT est003.NumeroOrdemCompra, est003.fechado, est003.CodigoBarras, est001.Descricao, est003.Qtde, est003.vValor, est003.subTotal FROM est001 RIGHT JOIN est003 ON est001.Codigo = est003.CodigoBarras where est003.numeroordemcompra = [ô][Ô] & Me.txtCodigo & [Ô][ô] [Ô]
Set rsselecao = .Execute
.CommandText = [Ô]select est003.numeroordemcompra, sum(est003.subtotal) as soma from est003 where est003.numeroordemcompra= [ô][Ô] & Me.txtCodigo & [Ô][ô] group by est003.numeroordemcompra[Ô]
Set rsselecao2 = .Execute
End With
linha = 1
[ô]preenche os dados
Do While Not rsselecao.EOF
If linha = 1 Then
cabecalho
End If
linha = linha + 1
Printer.Print Tab(5); rsselecao!codigobarras; Tab(25); rsselecao!Descricao; Tab(80); rsselecao!qtde; Tab(95); Format(rsselecao!vvalor, [Ô]###,##0.00[Ô]); Tab(105); Format(rsselecao!subtotal, [Ô]###,##0.00[Ô])
[ô]Printer.Print ; [Ô]-------------------------------------------------------------------------------------------------------[Ô]
Printer.Print
rsselecao.MoveNext
Loop
Printer.Print ; [Ô]........................................................................................[Ô]; Tab(90); [Ô]TOTAL GERAL[Ô]; Tab(105); Format(rsselecao2!SOMA, [Ô]###,##0.00[Ô]);
Printer.EndDoc
Saida:
Set myrs = Nothing
Set rsselecao = Nothing
Set rsselecao2 = Nothing
Set mycmd = Nothing
Mycon.Close
errimprimir:
With Err
If .number <> 0 Then
MsgBox [Ô]ERRO AO IMPRIMIR:[Ô] & vbCrLf & vbCrLf & [Ô]Houve um erro ao imprimir ordem de compra[Ô] & vbCrLf & vbCrLf & [Ô] favor verificar se o número existe ou se a ordem não foi fechado[Ô], vbInformation, [Ô]Objetivo[Ô]
.number = 0
GoTo Saida
End If
End With
End Sub
Caso não seja isso explique com mais detalhes.
Att
Você quer fazer a impressão de informações do estoque?
Caso seja, pode usar o data report ou usar impressão pelo print.
Usando o data report
1o. Monte o relatório da forma que você quer que seja exibido.
2o. faça um código que preencha o relatório;
ex.
Private Sub periodo()
[ô]inicia conexao
Mycon.Open [Ô]dsn=est1112[Ô]
[ô]inicial recordset
Set myrs = New ADODB.Recordset
With mycmd
Set .ActiveConnection = Mycon
.CommandType = adCmdText
.CommandText = [Ô]select cob001.ddata, cob001.nf, cob001.duplicata, cob001.cliente, tblcliente.nome, cob001.vvalor, cob001.vencimento, cob001.tipo from tblcliente RIGHT JOIN cob001 ON tblcliente.codigo = cob001.cliente where vencimento >= [ô][Ô] & Format(Me.mskInicial, [Ô]YYYY/MM/DD[Ô]) & [Ô][ô] and vencimento <= [ô][Ô] & Format(Me.mskFinal, [Ô]YYYY/MM/DD[Ô]) & [Ô][ô] and consolidado = 0 order by vencimento[Ô]
Set myrs = .Execute
End With
[ô]adiciona informações no cabeçalho do relatório
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblInicial[Ô]).Caption = Format(Me.mskInicial, [Ô]dd/mm/yyyy[Ô])
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblEmp[Ô]).Caption = emp
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblFinal[Ô]).Caption = Format(Me.mskFinal, [Ô]dd/mm/yyyy[Ô])
rptcob000.Sections([Ô]st000[Ô]).Controls([Ô]lblrelatorio[Ô]).Caption = [Ô]RELATÓRIO DE DUPLICATAS A RECEBER[Ô]
[ô]passa a referencia para o relatório
Set rptcob000.DataSource = myrs
[ô]abre o relatório
rptcob000.Show vbModal
myrs.Close
Set myrs = Nothing
Set mycmd = Nothing
Mycon.Close
End Sub
relatório usando o print
Private Sub imprimir()
Dim Linhas As Integer
Dim rsselecao As New ADODB.Recordset
Dim rsselecao2 As New ADODB.Recordset
On Error GoTo errimprimir
[ô]verifica se foi informado o número da ordem de compra
If Me.txtCodigo = [Ô][Ô] Then
MsgBox [Ô]Favor informar número ordem compra.[Ô], vbInformation, [Ô]Objetivo[Ô]
Exit Sub
End If
[ô]abre a conexão
Mycon.Open [Ô]dsn=est1112[Ô]
[ô]busca as informações no banco de dados
With mycmd
Set .ActiveConnection = Mycon
.CommandType = adCmdText
.CommandText = [Ô]SELECT est004.NumeroOrdemCompra, est004.TipoOrdemCompra, est004.CodigoFornecedor, est002.Nome, est004.TipoPagamento, est004.Vencimento, est004.Chegada, est004.Observacao, est004.transportadora FROM est002 INNER JOIN est004 ON est002.Codigo = est004.CodigoFornecedor where est004.numeroordemcompra = [ô][Ô] & Me.txtCodigo & [Ô][ô][Ô]
Set myrs = .Execute
[ô]
.CommandText = [Ô]SELECT est003.NumeroOrdemCompra, est003.fechado, est003.CodigoBarras, est001.Descricao, est003.Qtde, est003.vValor, est003.subTotal FROM est001 RIGHT JOIN est003 ON est001.Codigo = est003.CodigoBarras where est003.numeroordemcompra = [ô][Ô] & Me.txtCodigo & [Ô][ô] [Ô]
Set rsselecao = .Execute
.CommandText = [Ô]select est003.numeroordemcompra, sum(est003.subtotal) as soma from est003 where est003.numeroordemcompra= [ô][Ô] & Me.txtCodigo & [Ô][ô] group by est003.numeroordemcompra[Ô]
Set rsselecao2 = .Execute
End With
linha = 1
[ô]preenche os dados
Do While Not rsselecao.EOF
If linha = 1 Then
cabecalho
End If
linha = linha + 1
Printer.Print Tab(5); rsselecao!codigobarras; Tab(25); rsselecao!Descricao; Tab(80); rsselecao!qtde; Tab(95); Format(rsselecao!vvalor, [Ô]###,##0.00[Ô]); Tab(105); Format(rsselecao!subtotal, [Ô]###,##0.00[Ô])
[ô]Printer.Print ; [Ô]-------------------------------------------------------------------------------------------------------[Ô]
Printer.Print
rsselecao.MoveNext
Loop
Printer.Print ; [Ô]........................................................................................[Ô]; Tab(90); [Ô]TOTAL GERAL[Ô]; Tab(105); Format(rsselecao2!SOMA, [Ô]###,##0.00[Ô]);
Printer.EndDoc
Saida:
Set myrs = Nothing
Set rsselecao = Nothing
Set rsselecao2 = Nothing
Set mycmd = Nothing
Mycon.Close
errimprimir:
With Err
If .number <> 0 Then
MsgBox [Ô]ERRO AO IMPRIMIR:[Ô] & vbCrLf & vbCrLf & [Ô]Houve um erro ao imprimir ordem de compra[Ô] & vbCrLf & vbCrLf & [Ô] favor verificar se o número existe ou se a ordem não foi fechado[Ô], vbInformation, [Ô]Objetivo[Ô]
.number = 0
GoTo Saida
End If
End With
End Sub
Caso não seja isso explique com mais detalhes.
Att
sim só informações da saida do estoque entendeu náo o estoque inteiro e sim o a saida,tipo tudo o que eu for dando saida fica gravado em uma label ou text ou algo que permita esse tipo de coisa para depois eu imprimir e mandar junto com o s produtos que eu dei saida ,pra quando os produtos chegararem ao seu destino a pessoa que receber possa conferir tudo entendeu...
Tópico encerrado , respostas não são mais permitidas