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

Imprimir Uma Datagrid


Ander

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0

é porque eu estou usando uma pesquisa se eu for selecionar todo o record set que preenche o grid não vai funcionar minha pesquisa segue abaixa o condigo da minha pesquisa

Private Sub DataList1_Click()

Dim strconsulta As String

strconsulta = "Select * from Clientes Where Atividade = '" & DataList1.BoundText & "' OR Atividade2 = '" & DataList1.BoundText & "' OR Atividade3 = '" & DataList1.BoundText & "'"

With Adodc2

.RecordSource = strconsulta

.Refresh

End With

With DataGrid1

.ClearFields

.ReBind

End With

Label1.Caption = "Relação de Empresa com o Ramo: " & DataList1.Text

End Sub

Eu quero Imprimir o resultado desta pesquisa que apracer no meu DataGrid

Por Favor me de uma luz

Link para o comentário
Compartilhar em outros sites

  • 0
é porque eu estou usando uma pesquisa se eu for selecionar todo o record set que preenche o grid não vai funcionar minha pesquisa segue abaixa o condigo da minha pesquisa

Seu recordset tem os dados da consulta (afinal de contas, não é a partir dele que você preenche a DataGrid? rolleyes.gif ).

Não sei se é bem o que você está esperando, mas tente fazer:

set rs = adodc2.recordset 'só pra encurtar o nome
do while not rs.eof
  printer.print rs.fields("campo1").value, rs.fields("campo2").value, rs.fields("campo3").value
  rs.movenext
loop
printer.enddoc

Execute isso aí e veja o resultado. Troque os nomes dos campos, é claro.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Eu coloquei esse codigo em um botão porem deu o seguinte erro:

Compile erro:

Variable not define

Private Sub Command3_Click()

Set rs = Adodc2.Recordset 'só pra encurtar o nome

Do While Not rs.EOF

Printer.Print rs.Fields("Codigo").Value, rs.Fields("Clientes").Value, rs.Fields("Atividade1").Value

rs.MoveNext

Loop

Printer.EndDoc

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Eu coloquei esse codigo em um botão porem deu o seguinte erro:

Compile erro:

Variable not define

O erro é que a variável não está definida (variable not defined). Ou seja, falta declarar:

dim rs as ADODB.Recordset

Isso porque deve ter um Option Explicit lá no General Declarations (se você tirá-lo, não há necessidade de declaração de cada variável).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

cara deu certo porem agora eu quero que apareça a caixa de dialoga da impressora estou usando esse codigo porem da um erro

Compile error:

User-defined type not define

esse é o codigo que estou usando

no botão imprimir esse codigo:

Private Sub Command3_Click()

If (MsgBox("Deseja imprimir a consulta?", vbYesNo, "Imprimir Arquivo") = vbYes) Then

DisplayPrinterProperties Printer.DeviceName

Else

Set rs = Adodc2.Recordset 'só pra encurtar o nome

Do While Not rs.EOF

Printer.Print rs.Fields("Codigo").Value, rs.Fields("Clientes").Value, rs.Fields("Atividade").Value

rs.MoveNext

Loop

End If

Printer.EndDoc

End Sub

E para exibir a caixa da impressora esse codigo:

Public Function DisplayPrinterProperties(DeviceName As String) As Boolean

'Exibe a caixa de dialogo da impressora

'PARAMETRO: DeviceName: O nome da impressora padrão

'COMO CHAMAR : DisplayPrinterProperties Printer.DeviceName

On Error GoTo ErrorHandler

Dim lAns As Long, hPrinter As Long

Dim typPD As PRINTER_DEFAULTS

typPD.pDatatype = 0

typPD.pDesiredAccess = PRINTER_ALL_ACCESS

typPD.pDevMode = 0

lAns = OpenPrinter(Printer.DeviceName, hPrinter, typPD)

If lAns <> 0 Then

lAns = PrinterProperties(Me.hWnd, hPrinter)

DisplayPrinterProperties = lAns <> 0

End If

ErrorHandler:

If hPrinter <> 0 Then ClosePrinter hPrinter

End Function

poderia me ajudar novamente obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

mas a onde eu ponho isso no meu cido para não imprimir os null

meu codigo

Private Sub Command3_Click()

On Error Resume Next

If Err.Number = 32755 Then

Exit Sub ' sai fora da sub e não imprime nada

End If

Printer.Print Label1

Set rs = Adodc2.Recordset 'só pra encurtar o nome

Do While Not rs.EOF

Printer.Print rs.Fields("Codigo").Value, rs.Fields("Clientes").Value, rs.Fields("E_Mail").Value, rs.Fields("E_Mail1").Value, rs.Fields("E_Mail2").Value

rs.MoveNext

Loop

Printer.EndDoc

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

IsNull() retorna um boolean indicando se o campo é nulo (True) ou não (False). Ou seja, você vai ter que testar se o campo é nulo e se ele for você deverá imprimir algo em seu lugar (ou não, dependendo do que você quer). Iif() é bastante útil nesse caso.

Abraços,

Graymalkin

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...