Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263

    VB6 verificare se Msaccess è insallato

    Ho realizzato in VB6 una procedura per convertire un report di Access in un File.pdf, ma ovviamente funziona solo se Access è installato.
    Se non è così mi adatto e accetto di generare un file .html che poi faccio stampare in PDF
    Vorrei automatizzare la scelta in modo che la procedura controlli se nel PC è installato Access e indirizzi da sola la soluzione corretta.
    Credo che dovrebbe essere sufficiente sapere se qualunque versione di Access è installata perché ho aperto lo stesso report sia in Access 2000 che in Access 10.
    Qualcuno sa dirmi come posso fare?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Potresti semplicemente gestire l'errore che sicuramente avviene durante la generazione e informare l'utente che non è possibile proseguire.


    P.S. Questa NON è la sezione per il VB6 ....
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Chiedo scusa se mi sono sbagliato ma ero convinto che la sezione "Programmazione/Visual Basic e .net Framework" fosse quella giusta per VB6. Qual'è quella giusta allora?
    Per quanto concerne la risposta, io sto cercando di automatizzare la procedura in questo senso:
    - se trovo che Access è installato, automaticamente genero il File .pdf dal Report
    - se Access non c'è, automaticamente genero un file .htm
    Quindi quello che cerco è una procedura che verifichi l'esistenza di Access e in seguito (If ...) esegua la sequenza corretta.
    Grazie per chi vorrà aiutarmi.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da Rickycast Visualizza il messaggio
    Chiedo scusa se mi sono sbagliato ma ero convinto che la sezione "Programmazione/Visual Basic e .net Framework" fosse quella giusta per VB6. Qual'è quella giusta allora?
    Programmazione no, Visual Basic si

    Come generi il pdf ? Mostra il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Utilizzo una procedura (Modulo .bas) che ho trovato in Internet che prevede di posizionare due dll nella stessa Cartella in cui risiede il DB di Access nel quale sono costruiti i Report da convertire in PDF.
    Purtroppo tutti i File sono troppo grandi, anche zippati, per allegarli.
    Se vuoi posso mandarteli via Email. In questo caso dimmi come fare.
    Posso però dirti come si chiamano:

    La procedura è "modReportToPDF.bas"
    Serve anche "clsDefaultPrinter.cls"
    Le dll sono: "dynapdf.dll" e "StrStorage.dll"

    Queste sono le note dell'autore:
    'DEVELOPED AND TESTED UNDER MICROSOFT ACCESS 2000 through A2003
    ' Can be converted to A97 but you must modify the RelationSip window Blob
    ' structures to the A97 specific versions. You can find these structure declarations
    ' in the RelationShip Views project on my site.
    '
    'Copyright: Stephen Lebans - Lebans Holdings 1999 Ltd.

    Richiamo la procedura in questo modo:
    codice:
    Private Sub StampaReportPDF()
    On Error GoTo Errore_StampaReportPDF
    
        Dim msAccess As Access.Application
        Dim blRet As Boolean, NomeReport As String, NomeFilePDF As String
        Dim DataTxt As String
        
        Set msAccess = New Access.Application
        msAccess.OpenCurrentDatabase ("C:\DB\Dati.mdb")
    
        DataTxt =cStr(now())
    
            NomeReport = "Report"
            NomeFilePDF = "Report"_" & DataTxt
            blRet = ConvertReportToPDF(NomeReport, vbNullString, "C:\ReportStampati\" & NomeFilePDF & ".pdf", False, True, 150, "", "", 0, 0, 0)
        
        msAccess.CloseCurrentDatabase
        Set msAccess = Nothing
        
       Exit Sub
    Errore_StampaReportPDF:
    MsgBox "Errore nella Sub StampaReportPDF " & Err.Number & " - " & Err.Description
    End Sub
    Se Access è installato funziona benissimo. Ho provato ad installare il Runtime di Access su alcuni PC senza Access, ma non serve a niente: ci vuole proprio Access.
    Siccome mi chiedono di evitare ogni possibile difficoltà o problema agli utilizzatori vorrei fare in modo che in assenza di Access il programma generi in alternativa automaticamente un File diverso dal PDF, ad esempio un file .htm (che ovviamente devo generare non partendo da un Report di Access).
    Grazie per ogni aiuto.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Ti basta eseguire solo le righe

    codice:
    Dim msAccess As Access.Application
    Set msAccess = New Access.Application
    Set msAccess = Nothing
    quando vuoi con l'On Error per controllare se puoi usare Access
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Vediamo se ho capito:
    Nella stessa Sub che ho illustrato prima posso eseguire la procedura che stampa il PDF, ma se non è installato Access e si genera un errore posso gestire l'errore rinviando ad una diversa Sub che produce un diverso file?
    Del genere

    codice:
        ...........
        ...........
        Set msAccess = Nothing
        
       Exit Sub
    Errore_StampaPDF:
    
        Call GeneraFileHTM
    
    End Sub

    Se è così, è l'uovo di Colombo, anzi di ...Oregon.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.