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

    VB6 Connessione a .mdb - non funziona in Windows 10

    Intanto Buona Pasqua (gli ospiti se ne sono andati, ...).
    Lo so che VB6 non è più attuale, ma non ho ancora avuto il coraggio di affrontare VB.net: spero che ci sia ancora qualcuno ad aiutarmi.
    Ho scritto una piccola procedura per stampare un Fie.xls in .pdf.
    Funziona tutto lanciando il file .exe fino a Windows 7. In Windows 10 non funziona.
    Da quanto ho potuto verificare, credo che l'errore dipenda dalla chiamata della connessione: se metto un apice davanti alla chiamata e alla procedura coinvolta, l'errore non si verifica.
    Questa è la procedura che da errore:

    codice:
    Sub Stampa()
    On Error GoTo Errore_Stampa
     
        Dim msAccess As Access.Application
        Dim rcrdst As ADODB.Recordset
        Dim sSQL As String
        Dim blRet As Boolean, NomeReport As String, NomeFilePDF As String
     
        Set msAccess = New Access.Application
        msAccess.OpenCurrentDatabase (MainDir & "PrgOrdNsf\DB\Conversioni.mdb")
     
        If MsgBox("Stampare anche l'Ordine per il Cliente?", vbYesNo) = vbYes Then
            NomeReport = "Ordine_XLS_per_Cli"
            NomeFilePDF = Cliente & "_Ord_Nsf_" & DataTxt
            blRet = ConvertReportToPDF(NomeReport, vbNullString, MainDir & "\OrdiniPerClienti\" & NomeFilePDF & ".pdf", False, True, 150, "", "", 0, 0, 0)
        End If
            NomeReport = "Ordine_XLS"
            NomeFilePDF = "OrdNsfCli_" & Cliente & "_" & DataTxt
            blRet = ConvertReportToPDF(NomeReport, vbNullString, MainDir & "\ArchivioOrdini\" & NomeFilePDF & ".pdf", False, True, 150, "", "", 0, 0, 0)
       
        msAccess.CloseCurrentDatabase
        Set msAccess = Nothing
     
        Exit Sub
    Errore_Stampa:
        MsgBox "C'è un errore nella stampa dei File .pdf"
    End Sub

    È però possibile che siano anche le stringhe che eseguono la conversione a generare l'errore e non ho avuto modo di verificarlo
    So però che se faccio eseguire il codice con queste variazioni, rilevo l'errore:

    codice:
    Sub Stampa()
    On Error GoTo Errore_Stampa
     
        Dim msAccess As Access.Application
        Dim rcrdst As ADODB.Recordset
        Dim sSQL As String
        Dim blRet As Boolean, NomeReport As String, NomeFilePDF As String
     
        Set msAccess = New Access.Application
        msAccess.OpenCurrentDatabase (MainDir & "PrgOrdNsf\DB\Conversioni.mdb")
     
        If MsgBox("Stampare anche l'Ordine per il Cliente?", vbYesNo) = vbYes Then
            NomeReport = "Ordine_XLS_per_Cli"
            NomeFilePDF = Cliente & "_Ord_Nsf_" & DataTxt
    '        blRet = ConvertReportToPDF(NomeReport, vbNullString, MainDir & "\OrdiniPerClienti\" & NomeFilePDF & ".pdf", False, True, 150, "", "", 0, 0, 0)
        End If
            NomeReport = "Ordine_XLS"
            NomeFilePDF = "OrdNsfCli_" & Cliente & "_" & DataTxt
    '        blRet = ConvertReportToPDF(NomeReport, vbNullString, MainDir & "\ArchivioOrdini\" & NomeFilePDF & ".pdf", False, True, 150, "", "", 0, 0, 0)
       
        msAccess.CloseCurrentDatabase
        Set msAccess = Nothing
     
        Exit Sub
    Errore_Stampa:
        MsgBox "C'è un errore nella stampa dei File .pdf"
    End SubErrore_Stampa:
        MsgBox "C'è un errore nella stampa dei File .pdf"
    End Sub
    Come si può vedere, le due stringhe che generano la stampa .pdf son inibite, mentre quelle della connessione no.
    Quindi l'errore dovrebbe essere proprio lì.
    Spero che qualcuno sappia indicarmi una connessione valida per tutti i S.O. o che, al limite mi spieghi come fare una procedura condizionale che verifichi quale S.O. si sta utilizzando e di conseguenza quale procedura adottare.
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    A parte il fatto che la sezione per il Visual Basic non è questa, comunque non hai dato il preciso messaggio d'errore che ottieni e in quale linea ...
    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
    Scusami oregon, ma qual'è la sezione per Visual Basic?
    L'errore che mi viene restituito è il seguente: 2147024156 - Errore di automazione. Per eseguire l'operazione richiesta è necessaria l'esecuzione con privilegi elevati.
    Quindi ho eseguito il file .exe come Amministratore e non ho più avuto questo errore.
    La domanda adesso è questa: come si fa a far eseguire un file .exe sempre come Amministratore senza dover tutte le volte selezionare l'opzione?
    In ogni caso, a questo punto mi da altri errori; posso esporli qui o devo aprire una nuova discussione?
    Grazie

  4. #4
    Utente di HTML.it L'avatar di Rickycast
    Registrato dal
    Apr 2007
    residenza
    CHIERI (TO)
    Messaggi
    263
    Chiedo umilmente scusa, ho scritto una stupidagine: per fare eseguire un file .exe come Amministratore in via definitiva, basta andare sulle sue Proprietà e settarlo come tale.
    Grazie ancora.

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.