IMPRESSAO NO PRINT.PRINTER OU DATAENVEROMENT
Pessoal, Bom dia
Mais uma vez estou para pedir ajuda a voces
O meu problema é o seguinte:
Tenho um BANCO DE DADOS ACCESS, com o nome[Ô]Hospital[Ô], e dentro dele uma das tabela, qual eu quero usar chama-se
[Ô]ATENDIMENTO[Ô], essa tabela tem o campo chamado [Ô]DATA[Ô],
no formulario tenho duas caixas de texto com os nomes Wdataini e outra com o nome Wdatafim. O que eu quero é atraves dessa consulta imprimir o resultado com o tipo de impressão PRINTER.PRINT. Gostaria que voces me ajudassem a montar um tipo de fazer uma procura nos dados informada acima e jogar o resultado, tanto para impressão na tela com o impressora
Uso Visual Basic 6 - DAO 3.6
Caso alguem possa me ajudar, desde ja agradeço[txt-color=#0000f0] [/txt-color]
Mais uma vez estou para pedir ajuda a voces
O meu problema é o seguinte:
Tenho um BANCO DE DADOS ACCESS, com o nome[Ô]Hospital[Ô], e dentro dele uma das tabela, qual eu quero usar chama-se
[Ô]ATENDIMENTO[Ô], essa tabela tem o campo chamado [Ô]DATA[Ô],
no formulario tenho duas caixas de texto com os nomes Wdataini e outra com o nome Wdatafim. O que eu quero é atraves dessa consulta imprimir o resultado com o tipo de impressão PRINTER.PRINT. Gostaria que voces me ajudassem a montar um tipo de fazer uma procura nos dados informada acima e jogar o resultado, tanto para impressão na tela com o impressora
Uso Visual Basic 6 - DAO 3.6
Caso alguem possa me ajudar, desde ja agradeço[txt-color=#0000f0] [/txt-color]
Eu fiz há algum tempo algo parecido, usei 2 combobox para fazer a pesquisa e colocava o resultado em um listbox, e depois tinha a opção de salvar em arquivo .txt e imprimir direto do listbox.
**** Form ****
_________________________________________________
Dim rsBanco as Database
Const DBPath = [Ô]CaminhoDoSeBanco\[Ô]
_________________________________________________
Function Consulta()
List1.Clear
Dim rsSuaTabela As Recordset
Dim Consulta_Inicio As Integer
Dim Consulta_Final As Integer
Consulta_Inicio = Val(cboConsulta_Inicio.Text)
Consulta_Final = Val(cboConsulta_Final.Text)
Set dbBanco = OpenDatabase(DBPath & [Ô]SeuBanco.mdb[Ô])
Set rsSuaTabela = dbBanco.OpenRecordset([Ô]SELECT * FROM tbl_SuaTabela WHERE Consulta BETWEEN [Ô] & Consulta_Inicio & [Ô] and [Ô] & Consulta_Final & [Ô] ORDER BY SuaPreferencia[Ô])
[ô] Carrega list box
Do Until rsBanco.EOF
List1.AddItem _
Format(rsSuaTabela.Fields([Ô]SeuIndex[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item1[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item2[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item3[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item4[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item5[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item6[Ô]), [Ô]000#[Ô]) & [Ô] -[Ô] & _
Format(rsBanco.Fields([Ô]Data[Ô]), [Ô]dd/mm/yyyy[Ô])
List1.ItemData(List1.NewIndex) = rsSuaTabela.Fields([Ô]SeuIndex[Ô])
‘A função format não é obrigatória, como o impressão é feita direto do ListBox, dependendo do tipo de dados ela fica irregular e no
[ô]meu caso para fazer o alinhamento, eu fiz este Format para colocar os zeros a esquerda qdo os numeros de retorno da consulta
[ô]tinham menos de 4 digitos
rsSuaTabela.MoveNext
Loop
rsSuaTabela.Close
Set rsSuaTabela = Nothing
End Function
_______________________________________________________
Private Sub cmdSalvarList_Click()
Call SaveL(List1, App.Path & [Ô]\ SeuTitulo .txt[Ô])
End Sub
________________________________________________________
Private Sub cmdPrint_Click()
Call PrintL(List1)
End Sub
________________________________________________________
**** Modulo *******
Função para salvar em txt
Public Function SaveL(aList As ListBox, sPath As String)
Dim Nbr As Long
On Error Resume Next
Open sPath For Output As #1
Print #1, [Ô]SeuTitulo[Ô], Now [ô] Titulo , Data e Hora
Print #1,
For Nbr = 0 To aList.ListCount - 1
Print #1, aList.List(Nbr)
Next Nbr
Close #1
End Function
__________________________________________________________
Função imprimir
Public Function PrintL(aList As ListBox)
Dim Nbr As Long
[ô]Titulo
Printer.FontBold = True
Printer.FontSize = 12
Printer.Print Tab(4), [Ô]SeuTitulo[Ô], Now [ô] Titulo, Data e Hora
Printer.Print
For Nbr = 0 To aList.ListCount - 1
Printer.FontBold = False
Printer.FontSize = 11
Printer.Print aList.List(Nbr)
Next Nbr
Printer.EndDoc
End Function
Espero que isto te ajude
Boa sorte
**** Form ****
_________________________________________________
Dim rsBanco as Database
Const DBPath = [Ô]CaminhoDoSeBanco\[Ô]
_________________________________________________
Function Consulta()
List1.Clear
Dim rsSuaTabela As Recordset
Dim Consulta_Inicio As Integer
Dim Consulta_Final As Integer
Consulta_Inicio = Val(cboConsulta_Inicio.Text)
Consulta_Final = Val(cboConsulta_Final.Text)
Set dbBanco = OpenDatabase(DBPath & [Ô]SeuBanco.mdb[Ô])
Set rsSuaTabela = dbBanco.OpenRecordset([Ô]SELECT * FROM tbl_SuaTabela WHERE Consulta BETWEEN [Ô] & Consulta_Inicio & [Ô] and [Ô] & Consulta_Final & [Ô] ORDER BY SuaPreferencia[Ô])
[ô] Carrega list box
Do Until rsBanco.EOF
List1.AddItem _
Format(rsSuaTabela.Fields([Ô]SeuIndex[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item1[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item2[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item3[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item4[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item5[Ô]), [Ô]000#[Ô]) & [Ô] - [Ô] & _
Format(rsBanco.Fields([Ô]Item6[Ô]), [Ô]000#[Ô]) & [Ô] -[Ô] & _
Format(rsBanco.Fields([Ô]Data[Ô]), [Ô]dd/mm/yyyy[Ô])
List1.ItemData(List1.NewIndex) = rsSuaTabela.Fields([Ô]SeuIndex[Ô])
‘A função format não é obrigatória, como o impressão é feita direto do ListBox, dependendo do tipo de dados ela fica irregular e no
[ô]meu caso para fazer o alinhamento, eu fiz este Format para colocar os zeros a esquerda qdo os numeros de retorno da consulta
[ô]tinham menos de 4 digitos
rsSuaTabela.MoveNext
Loop
rsSuaTabela.Close
Set rsSuaTabela = Nothing
End Function
_______________________________________________________
Private Sub cmdSalvarList_Click()
Call SaveL(List1, App.Path & [Ô]\ SeuTitulo .txt[Ô])
End Sub
________________________________________________________
Private Sub cmdPrint_Click()
Call PrintL(List1)
End Sub
________________________________________________________
**** Modulo *******
Função para salvar em txt
Public Function SaveL(aList As ListBox, sPath As String)
Dim Nbr As Long
On Error Resume Next
Open sPath For Output As #1
Print #1, [Ô]SeuTitulo[Ô], Now [ô] Titulo , Data e Hora
Print #1,
For Nbr = 0 To aList.ListCount - 1
Print #1, aList.List(Nbr)
Next Nbr
Close #1
End Function
__________________________________________________________
Função imprimir
Public Function PrintL(aList As ListBox)
Dim Nbr As Long
[ô]Titulo
Printer.FontBold = True
Printer.FontSize = 12
Printer.Print Tab(4), [Ô]SeuTitulo[Ô], Now [ô] Titulo, Data e Hora
Printer.Print
For Nbr = 0 To aList.ListCount - 1
Printer.FontBold = False
Printer.FontSize = 11
Printer.Print aList.List(Nbr)
Next Nbr
Printer.EndDoc
End Function
Espero que isto te ajude
Boa sorte
Tópico encerrado , respostas não são mais permitidas