Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Problema com impress�o


Humm

Question

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.

Edited by Humm
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...