GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Problemas com impressão em rede...
Go
Novo
Procurar
Notificar
Ferramentas
Responder
  
-star Rating Vote!  Login/Cadastrar 
Programador Pleno

postado
Boa tarde pessoal ...
Tenho uma dúvida cruel que não estava nos meus planos...
O problema é o seguinte, tenho um sistema de vendas, desenvolvido em Access 2000. A impressão do comprovante de venda é feita através de apenas impressora matricial Epson LX-300. Para imprimir este documento, estou utilizando o método:

Open "LPT1" For Output As #1
Print #1, "Dados"
Print #1, "Dados"
Close #1

Este tipo de impressão é mais confiável de erros do que os relatórios em access, só que o problema é que ele não esta funcionando em rede nesta loja.
Estou achando que o problema é na rede, já coloquei IP nas placas de rede, instalei i NetByu e nada, nem dá erro.... Que será que é ???
A instalação da impressora, estou informando que imprimo em formato MS-DOS e capturo a LPT1, mas mesmo assim nada...
Agradeço aos amigos...
 
Postagens: 171 | Localização: Campinas / Sumaré | Registrado: 11 February 2004Reply With QuoteReport This Post
Programador Pleno

postado Hide Post
Você está abrindo a porta LPT1 no seu código, q é a impressora local, isto só funcionará se vc mapear a impressora da rede nesta porta no micro cliente, vc pode fazer isto por windows (consulte o help do windows) ou por DOS:

net use LPT1 \\micro\impressora

Vc tb pode usar outra porta LPT (tipo no caso do micro cliente tb tiver uma impressora, vc teria q mapear em outra porta para as duas funcionarem perfeitamente)

net use LPT2 \\micro\impressora

No seu código vc precisará direcionar então a impressão para a lpt2


Hoje melhor que ontem,
Amanhã melhor que hoje!!!

Cleverson Cologni
www.insidesoft.com.br
 
Postagens: 203 | Localização: Toledo, Paraná, Brasil | Registrado: 21 June 2001Reply With QuoteReport This Post
Estagiário

postado Hide Post
No Access existe uma estrututa chamada PrtDevNames que captura os dados de uma impressora previamente escolhida na caixa de escolha de impressoras e a porta para impressão na mesma, num formato de string do tipo " ) winspool HP LaserJet 1100 (MS) Ï\\MAQ002\HPLaserJet OS ät C:\I ", sendo que a porta da impressora é \\MAQ002\HPLaserJet, que se obtem acessando um dos membros da estrutura PrtDevNames. Se alguém quiser utilizar pode me contactar que passo um exemplo completo. Um abraço.
 
Postagens: 20 | Registrado: 19 December 2005Reply With QuoteReport This Post
Programador Júnior

postado Hide Post
Olá Vinho,

Bem se tiver como disponibilizar o exemplo por gentileza envie para o meu e-mail:

leirsoneng@yahoo.com.br

Abraços


Leirson
leirsoneng@yahoo.com.br
Engº / Programador
 
Postagens: 95 | Localização: Belo Horizonte | Registrado: 22 March 2002Reply With QuoteReport This Post
Analista Júnior

Figura de  Soclikar
postado Hide Post
Olá Vinho;

Tenho interesse. O meu e-mail: soclikar@bol.com.br


...

Sucesso ...

A um velho ditado que diz: ... quem "procura" acha.
 
Postagens: 640 | Localização: Linhares/ES - Brazil | Registrado: 28 September 2004Reply With QuoteReport This Post
Programador Júnior

postado Hide Post
Vinho
Por favor mande este exemplo pra mim também.
eduardocampinas@uol.com.br
 
Postagens: 90 | Registrado: 07 September 2005Reply With QuoteReport This Post
Estagiário

postado Hide Post
quote:
Postado originalmente por Vinho:
Antes de tudo defina essas estruturas abaixo em um módulo global :

Type zwtDevNamesStr2
rgb As String * 100
End Type

Type zwtDevNames2
DriverOffSet As Integer
DeviceOffSet As Integer
OutputOffSet As Integer
DEFAULT As Integer
End Type


Type zwtDevModeStr2
rgb As String * 68
End Type

Type zwtDevMode2
dmDeviceName As String * 64
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmResolution As Integer
dmTTOption As Integer
End Type

No módulo form_open do formulário em que o usuário irá digitar os dados que servirão de filtro para o relatório escreva a instrução
Docmd runmacro "Configurar Impressora", irá aparecer a caixa de escolha com as impressoras instaladas.

No botão ok desse formulário escreva a instrução

PortaImpressora = ObtemPortaImpressora(Me.name)
Open PortaImpressora For Output As #1

e finalmente a função que pega a porta é a seguinte :

Function ObtemPortaImpressora (NomeFormulário)

Dim dmName As zwtDevNamesStr2, ModoDispName As zwtDevNames2
Dim dmMode As zwtDevModeStr2, ModoDispMode As zwtDevMode2
Dim porta As String, REL As String, i As Integer

If Not IsNull(Forms(NomeFormulário).PrtDevNames) Then
dmName.rgb = Forms(NomeFormulário).PrtDevNames
dmMode.rgb = Forms(NomeFormulário).PrtDevMode
LSet ModoDispName = dmName
LSet ModoDispMode = dmMode
For i = 1 To 100
If Asc(Mid(dmName.rgb, ModoDispName.OutputOffSet + i, 1)) <> 0 Then
porta = Mid(dmName.rgb, ModoDispName.OutputOffSet + 1, i)
Else
i = 200
End If
Next i
If Right(porta, 1) = ":" Then
porta = Left(porta, Len(porta) - 1)
End If
porta = CStr(porta)
If IsNull(porta) Or IsEmpty(porta) Or porta = "" Then
MsgBox "Não foi possível capturar a porta da impressora !"
End If
Else
MsgBox "Não foi possível obter a porta da impressora, será fornecido LPT1 como padrão !"
ObtemPortaImpressora = "LPT1"
Exit Function
End If

ObtemPortaImpressora = porta

End Function

Compartilhe o que você sabe, todos saem ganhando.
 
Postagens: 20 | Registrado: 19 December 2005Reply With QuoteReport This Post
  Powered by Social Strata  
 

GD Access    GD Access    Grupo de Discussão  Ir para Categorias  Grupos técnicos  Ir para Fóruns  Access    Problemas com impressão em rede...

©