Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Creare un Report passo passo?[vb6]

    Buona sera a tutti!
    Vorrei cortesemente sapere se c'e' qualcuno che potrebbe,postarmi passo passo come fare per creare un report!

    Ne ho sentite tante dal crystal report al data report, ho scaricato un
    applicazione per crearlo.... ma niente da fare!

    Se c'e' qualcuno che si prende a cuore questo problema.. lo ringrazio!

    Ciao a tutti........

  2. #2
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    uhm ne hai nominati tanti da cryustal ad datareport o vb?
    io ti dico darareport va che è + facile

    allora...
    tasto destro sull'exprlora soluzioni di vb (quello dove ti visualizza tutti i file)
    inserisci-->data dynamics datareport(se hai datareport)

    ti inserisce un file datareport
    selezioni il controllo dao(anche ado se vuoi)
    e lo trascini su details del report

    tasto destro sul controllo dao
    ti setti le proprieta'(senza che te le spiego no?)
    nn appena gli metti la select

    basta che aggiorni il campo sulla sinisra-->fields
    in modo che ti compaiano i campi che hai selezionato

    il resto è facile drag & drop:sexpulp:
    tutto ok ?
    per richiamarlo dal form
    codice:
    dim report as new datareport1
    report.show
    ti crei una variabile di tipo datareport
    in quanto se fai semplicemente datareport1.show
    ti da problemi->questo è un tip che ti passo io

  3. #3

    Aiuto.....

    Ho provato a fare come dici te...ma,mi hanno consigliato che e' generare un report da codice,per una questio di utilità!
    Adesso il problema è:
    Creare un report dove i dati che devono essere visualizzati al suo interno, sono gli stessi che compaiono nel datagrid.
    Cioè al click sul record del datagrid,mi redige automaticamente un report.
    Il nome del report dovrà essere Report & rec.fields(1),che è il campo "nome" & ".txt".
    Questo è il codice che mi permette di generare un report,tramite una chiamata (call report_veicolo(valori)),ma non so come farlo generare da Datagrid.

    Private Sub Report_veicolo(ByVal codVeicolo As String, ByVal nome As String, ByVal descrizione As String, ByVal immatricolazione As String, ByVal prezzo As String, ByVal caratteristiche As String, ByVal ora As String, ByVal giorno As String)
    'Open "c:\" & "Report" & "_" & rec.Fields(1).Value & ".txt" For Output As #110
    Open "c:\" & Label1.Caption & "\" & Label1.Caption & ".txt" For Output As #110
    Print #110, "_________________________________________________ ______________"
    Print #110, " "
    Print #110, " AUTO NEGOZI USATI - Report Vendita"
    Print #110, "_________________________________________________ ______________"
    Print #110, " "
    Print #110, "Data e ora di creazione del report: " & giorno & " " & " - " & " " & ora
    Print #110, " "
    Print #110, " "
    Print #110, "Codice del Veicolo: " & codVeicolo 'rec.Fields(0).Value
    Print #110, " "
    Print #110, "Nome: " & nome 'rec.Fields(1).Value
    Print #110, " "
    Print #110, "Descrizione: " & descrizione 'rec.Fields(3).Value
    Print #110, " "
    Print #110, "_________________________________________________ ______________"
    Print #110, " "
    Print #110, "Immatricolazione: " & immatricolazione 'rec.Fields(4).Value
    Print #110, " "
    Print #110, "Prezzo: " & prezzo 'rec.Fields(6).Value
    Print #110, " "
    Print #110, "Caratteristiche: " & caratteristiche 'rec.Fields(7).Value
    Close #110
    End Sub
    Se mi dai una mano mi fai un favore enorme....TNX'S

    Ciao.....

  4. #4
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    ecco come stampare il contenuto di una grid
    codice:
    Sub PrintGrid
        Dim t%, s%
        For t% = 0 To Grid1.Rows -1
            Grid1.Row = t%
            For s% = 0 To Grid1.Cols -1
                Grid1.Col = s%
                Printer.Print Grid1.Text
            Next s%
        Next t%
    End Sub

  5. #5

    risposta!

    Grazie mille.......!!!!!!

  6. #6
    mi servirebbe un riadattamento di questo codice per stampare il contenuto di una dbgrid, l'ho provato così com'è e non mi funziona.

    Grazie in anticipo

  7. #7
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    Originariamente inviato da ornella_r
    mi servirebbe un riadattamento di questo codice per stampare il contenuto di una dbgrid, l'ho provato così com'è e non mi funziona.

    Grazie in anticipo
    questo serve a stampare il contenuto di una msflexgrid per dbgrid nn ce l'ho (solo quello sopra scritto=)
    cmq se lo vuoi:forse potrebbe funszionare per dbgrid prova ...
    codice:
    Sub PrintGrid(pGrid As MSFlexGrid, sTitulo As String, pHorizontal As Boolean)
        ' pGrid = The grid to print sTitulo = Page Title
        ' pHorizontal = True for Landscape
        On Error Goto ErrorImpresion
        Dim i As Integer
        Dim iMaxRow As Integer
        Dim j As Integer
        Dim msfGrid As MSFlexGrid
        Dim iPaginas As Integer
        Printer.ColorMode = vbPRCMMonochrome
        Printer.PrintQuality = 160
        ' fMainForm.MSFlexGrid1 is an invisible msflexgrid
        ' used only for this routine put it where your want and
        ' reference it apropiately
        Set msfGrid = fMainForm.MSFlexGrid1
        msfGrid.FixedCols = 0
        msfGrid.Clear
        If pHorizontal = True Then
            Printer.Orientation = vbPRORLandscape
            iMaxRow = 44
        Else
            Printer.Orientation = vbPRORPortrait
            iMaxRow = 57
        End If
        ' calcula el número de páginas
        If pGrid.Rows Mod iMaxRow = 0 Then
            iPaginas = pGrid.Rows \ iMaxRow
        Else
            iPaginas = pGrid.Rows \ iMaxRow + 1
        End If
        msfGrid.Rows = iMaxRow
        msfGrid.Cols = pGrid.Cols
        For i = 0 To pGrid.Cols - 1
            msfGrid.ColWidth(i) = pGrid.ColWidth(i)
        Next
        screen.mousepointer = 11 ' hourglass
        ' print some logo -> comment or change as desired
        Printer.PaintPicture fMainForm.ImageList1.ListImages(1).Picture, 0, 0, 4300, 600
        ' imprime título
        Printer.CurrentY = 650
        Printer.FontName = "Courier New"
        Printer.FontBold = True
        Printer.FontSize = 12
        Printer.Print sTitulo
        Printer.Print
        ' justifica a la derecha fecha de impression
        If pHorizontal = True Then
            Printer.CurrentX = 10000
        Else
            Printer.CurrentX = 7000
        End If
        Printer.CurrentY = 0
        Printer.FontSize = 10
        Printer.Print Now & " - Pág 1 de " & iPaginas
        For i = 0 To pGrid.Rows - 2 + iPaginas
            If i Mod iMaxRow = 0 And i > 0 Then
                With msfGrid
                    .Row = 0
                    .Col = 0
                    .ColSel = 0
                    .RowSel = 0
                    If pHorizontal Then
                        Printer.PaintPicture .Picture, 20, 1250, 15000, 10350
                    Else
                        Printer.PaintPicture .Picture, 20, 1250, 11400, 13950
                    End If
                End With
                Printer.NewPage
                msfGrid.Clear
                For j = 0 To msfGrid.Cols - 1
                    ' restablece títulos
                    msfGrid.TextMatrix(0, j) = pGrid.TextMatrix(0, j)
                Next
                ' print logo
                Printer.PaintPicture fMainForm.ImageList1.ListImages(23).Picture, 0, 0, 4300, 600
                Printer.CurrentY = 650
                Printer.FontSize = 12
                Printer.Print sTitulo
                Printer.Print
                ' justifica a la derecha fecha de impresión
                If pHorizontal = True Then
                    Printer.CurrentX = 10000
                Else
                    Printer.CurrentX = 7000
                End If
                Printer.CurrentY = 0
                Printer.FontSize = 10
                Printer.Print Now & " - Pág " & i \ iMaxRow + 1 & " de " & iPaginas
                i = i + 1 ' deja títulos
            End If
            For j = 0 To msfGrid.Cols - 1
                msfGrid.TextMatrix(i Mod iMaxRow, j) = pGrid.TextMatrix(i - i \ iMaxRow, j)
            Next
        Next
        With msfGrid
            .Row = 0
            .Col = 0
            .ColSel = 0
            .RowSel = 0
            If pHorizontal Then
                Printer.PaintPicture .Picture, 20, 1250, 15000, 10350
            Else
                Printer.PaintPicture .Picture, 20, 1250, 11400, 13950
            End If
        End With
        Printer.EndDoc
        MsgBox sTitulo & vbCrLf & "Se ha(n) enviado " & iPaginas & _
            " página(s) a la impresora " &    _
            Printer.DeviceName, vbInformation, Printer.Port
        salir:
        Set msfGrid = Nothing
        pubCursorDefault
        Exit Sub
        ErrorImpresion:
        Printer.KillDoc
        MsgBox "Verify printer", vbCritical, "Printer Error"
        Resume salir
    End Sub

  8. #8
    purtroppo non funziona perchè in dbgrid esiste solo .row e non .rows e .col e non .cols :-(

  9. #9
    questa è una traccia trovata, ora dovrei riuscire a tramutarla in vb:

    Q: when i use the following command;
    Printer.Print DBGrid1
    It only prints out the first column of the first row.
    I would like to print the contents of the whole grid.


    R: DBGrid has a default property call Text.
    Text holds the value of the current grid column and selected row.
    So, all you are doing is printing the text in that cell.

  10. #10
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    Originariamente inviato da ornella_r
    purtroppo non funziona perchè in dbgrid esiste solo .row e non .rows e .col e non .cols :-(
    uhm è un bel guaio
    nn vorrei spararla grossa
    ma se cambi cols in col
    e rows in row ti va bene? io nn ho mai provato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.