Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Problema com impress�o


Humm

Pergunta

seguinte.. tenho um codigo que manda imprimir para uma mini impressora bematech diretamente pela LPT1..

Open port For Output As #1

Print #1, fanta

Print #1, ende

Print #1, ende2

Print #1, Format(telef, "(@@) @@@@-@@@@")

Print #1, www

Print #1, "------------------------------------------------"

Print #1, "PEDIDO: " & Format(Me.COD_PED, "00000000") & " VIA LOJA " & Format(Me.DT_HR, "dd/mm/yyyy hh:mm")

Print #1, "FORMA PAGAMENTO: " & Me.FORMA.Column(1)

Print #1, "ENTREGADOR: " & Me.COD_DELIV.Column(1)

Print #1, "PLACA: " & Me.COD_DELIV.Column(2)

Print #1, "------------------------------------------------"

Print #1, "CLIENTE: " & Format(Me.COD_CLI, "00000")

Print #1, Me.COD_CLI_NOME.Column(1)

Print #1, DLookup("[C_ENDER]", "TIK_CLI")

Print #1, DLookup("[C_BAIRRO]", "TIK_CLI")

Print #1, ConcatenarTel("tels", "cod_cli", "tel", Me.COD_CLI)

Print #1, "------------------------------------------------"

'RECIBO_ITENS

Dim conn As ADODB.Connection

Dim cmd As ADODB.Command

Dim rs As ADODB.Recordset

Set conn = CurrentProject.Connection

Set cmd = New ADODB.Command

cmd.ActiveConnection = conn

cmd.CommandText = "SELECT PEDIDOS_ITENS.COD_PED, PEDIDOS_ITENS.COD_PROD, " & _

"PRODUTOS.DESCR & "" "" & PEDIDOS_ITENS.PE AS PROD, PEDIDOS_ITENS.QTDE, PEDIDOS_ITENS.preço " & _

"FROM PEDIDOS_ITENS INNER JOIN PRODUTOS ON PEDIDOS_ITENS.COD_PROD = PRODUTOS.COD_PROD " & _

"WHERE PEDIDOS_ITENS.COD_PED = " & Me.COD_PED

Set rs = cmd.Execute

VIA_LOJA:

rs.MoveFirst

Do While Not rs.EOF

Print #1, Format(rs("COD_PROD"), "00000") & " " & rs("PROD")

Print #1, rs("QTDE") & " X " & Format(rs("preço"), "CURRENCY")

rs.MoveNext

Loop

Print #1, ""

Print #1, "TOTAL PEDIDO: " & Format(Me.TOTAL_PED, "CURRENCY")

Print #1, "TROCO ENVIADO: " & Format(Nz(Me.TROCO), "CURRENCY")

Print #1, "TOTAL À RECEBER: " & Format(Me.TOTAL_REC, "CURRENCY")

For i = 1 To 10

Print #1, ""

Next i

If MsgBox("Destaque e verifique se a Via Loja foi impressa corretamente.", vbYesNo, "Impressora") = vbNo Then

GoTo VIA_LOJA

End If

VIA_CLIENTE:

Print #1, fanta

Print #1, ende

Print #1, ende2

Print #1, Format(telef, "(@@) @@@@-@@@@")

Print #1, www

Print #1, "------------------------------------------------"

Print #1, "PEDIDO: " & Format(Me.COD_PED, "00000000") & " VIA CLIENTE " & Format(Me.DT_HR, "dd/mm/yyyy hh:mm")

Print #1, "FORMA PAGAMENTO: " & Me.FORMA.Column(1)

Print #1, "ENTREGADOR: " & Me.COD_DELIV.Column(1)

Print #1, "PLACA: " & Me.COD_DELIV.Column(2)

Print #1, "------------------------------------------------"

Print #1, "CLIENTE: " & Format(Me.COD_CLI, "00000")

Print #1, Me.COD_CLI_NOME.Column(1)

Print #1, DLookup("[C_ENDER]", "TIK_CLI")

Print #1, DLookup("[C_BAIRRO]", "TIK_CLI")

Print #1, ConcatenarTel("tels", "cod_cli", "tel", Me.COD_CLI)

Print #1, "------------------------------------------------"

rs.MoveFirst

Do While Not rs.EOF

Print #1, Format(rs("COD_PROD"), "00000") & " " & rs("PROD")

Print #1, rs("QTDE") & " X " & Format(rs("preço"), "CURRENCY")

rs.MoveNext

Loop

Print #1, ""

Print #1, "TOTAL PEDIDO: " & Format(Me.TOTAL_PED, "CURRENCY")

Print #1, "TROCO ENVIADO: " & Format(Nz(Me.TROCO), "CURRENCY")

Print #1, "TOTAL À RECEBER: " & Format(Me.TOTAL_REC, "CURRENCY")

For i = 1 To 10

Print #1, ""

Next i

If MsgBox("Destaque e verifique se a Via Cliente foi impressa corretamente.", vbYesNo, "Impressora") = vbNo Then

GoTo VIA_CLIENTE

End If

VIA_COZINHA:

Print #1, "------------------------------------------------"

Print #1, "PEDIDO: " & Format(Me.COD_PED, "00000000") & " VIA COZINHA " & Format(Me.DT_HR, "dd/mm/yyyy hh:mm")

Print #1, "ENTREGADOR: " & Me.COD_DELIV.Column(1)

Print #1, "------------------------------------------------"

rs.MoveFirst

Do While Not rs.EOF

Print #1, Format(rs("COD_PROD"), "00000") & " " & rs("PROD")

Print #1, " X " & rs("QTDE")

rs.MoveNext

Loop

For i = 1 To 10

Print #1, ""

Next i

If MsgBox("Destaque e verifique se a Via Cozinha foi impressa corretamente.", vbYesNo, "Impressora") = vbNo Then

GoTo VIA_CLIENTE

End If

Close #1

cmd.ActiveConnection.Close

Set rs = Nothing

Set cmd = Nothing

Set conn = Nothing

'DoCmd.Close acForm, "PEDIDOS"

'DoCmd.OpenForm "ATENDIMENTO"

então esse codigo imprime 3 vias de um recibo.. acontece que eu quero pausar cada via com uma pergunta pra saber se foi impresso corretamente, como ta no codigo..

coloco a msgbox no local correto, mas ao rodar o codigo, ela começa a imprimir e para na metade do primeiro recibo aguardando eu responder a msgbox..

como fazer para ela imprimir tudo até cada msgbox?

já resolvi.. é so dar um close #1 para cada bloco de impressao.

Editado por Humm
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Testa RecordSet vazia, coloca assim por exemplo:

If rs.BOF And rs.EOF Then

GoTo Sair

End If

no texto da consulta tu usa Parâmetros, igual ta no outro post ali que acho que foi você mesmo que teve problemas com o Double jogando valor direto. Eu costumo usar algo como Campo e @Campo, onde o @ entra na frente do nome do parâmetro, pra ficar mais fácil em inserts onde você copia e cola os campos e sai colocando @ na frente, enfim... Questão de padrão meu

E no final, antes de setar rs = nada, você da um rs.close, em algumas versões do access pode dar pau e impedir que feche o programa por causa da rs aberta

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...