• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

David_Dinis

[vb 2005 express] Como imprimir uma base de dados num Form?

5 mensagens neste tópico

alguém sabe como imprimir uma base de dados num Form?

A base de dados esta em *.mdf

vb 2005 express

Ps:Ou já agora como se imprime em vb 2005 express ouvi dizer que e muito complicado :S  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como tens a versao express não podes usar o Crystal Reports para imprimir.

Tens que mostrar os dados da tabela numa datagrid ou datagridview e e meter os dados num ficheiro de texto e imprimi-lo

Imports System.IO
Imports System
Imports System.Drawing
Imports System.Drawing.Printing
Imports System.ComponentModel

Public Class classImprimeFicheiroTexto
    Private printFont As Font
    Private streamToPrint As StreamReader
    Private Shared filePath As String



    Public Sub New(ByVal ficheiro As String, ByVal landscape As Boolean)
        filePath = ficheiro
        Printing(landscape)
    End Sub

    ' The PrintPage event is raised for each page to be printed.
    Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
        Dim linesPerPage As Single = 0
        Dim yPos As Single = 0
        Dim count As Integer = 0
        Dim leftMargin As Single = ev.MarginBounds.Left
        Dim topMargin As Single = ev.MarginBounds.Top
        Dim line As String = Nothing



        ' Calculate the number of lines per page.
        linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)



        ' Iterate over the file, printing each line.
        While count < linesPerPage
            line = streamToPrint.ReadLine()
            If line Is Nothing Then
                Exit While
            End If
            yPos = topMargin + count * printFont.GetHeight(ev.Graphics)
            ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, New StringFormat)
            count += 1
        End While

        ' If more lines exist, print another page.
        If Not (line Is Nothing) Then
            ev.HasMorePages = True
        Else
            ev.HasMorePages = False
        End If
    End Sub

    ' Print the file.
    Public Sub Printing(ByVal landscape As Boolean)
        Try
            streamToPrint = New StreamReader(filePath)
            Try
                printFont = New Font("Arial", 10)
                Dim pd As New PrintDocument
                AddHandler pd.PrintPage, AddressOf pd_PrintPage
                ' Print the document.
                If landscape Then
                    pd.DefaultPageSettings.Landscape = True
                Else
                    pd.DefaultPageSettings.Landscape = False
                End If
                pd.Print()
            Finally
                streamToPrint.Close()
            End Try
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub 'Printing


End Class

tambem pode impimir da seguinte maneira


        Dim strFile As String = "c:\teste.txt"
        Dim objProcess As New System.Diagnostics.ProcessStartInfo

            With objProcess
                .FileName = strFile
                .WindowStyle = ProcessWindowStyle.Hidden
                .Verb = "print"
                .CreateNoWindow = True
                .UseShellExecute = True
            End With
            Try
                System.Diagnostics.Process.Start(objProcess)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

cmo xamas a função? ex: ao carregar no bot imprimir.. ele imprimir.. e onde lhe dizes que so keres que ele te imprima a datagridview ????

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

depende dakilo que queres mostrar e depende do que e k keres imprimir.

dim connStr = "server=127.0.0.1\SQLEXPRESS;database=abcd;Uid=user;pwd=pass"                
Public SQL As New SqlClient.SqlConnection()
SQL.ConnectionString = connStr
  Dim SQLA As New SqlClient.SqlDataAdapter("select * from marcas", SQL)

        Dim dataset As New DataSet
        Dim table As New DataTable
        Dim colum As New DataColumn
        Dim rows As DataRow

        SQLA.Fill(dataset, "marcas")


        For Each table In dataset.Tables
            For Each rows In table.Rows
                marca_Add_art_cmbbox.Items.Add(rows("descricao"))
            Next
        Next

mais algo? Smiley

connections strings em :

www.connectionstrings.com

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora