Errore 13 nell'apertura di un file

di il
27 risposte

27 Risposte - Pagina 2

  • Re: Errore 13 nell'apertura di un file

    surfernet ha scritto:


    Ma lbl_accessodati è un controllo? ,non dovresti recuperare la proprietà Text del controllo ed usare questa nella composizione della stringa per OpenDatabase?
    lbl_accessodati.Text
    In VB6 è Caption

    lbl_accessodati.Caption
  • Re: Errore 13 nell'apertura di un file

    Scusate l'errore,grazie oregon
  • Re: Errore 13 nell'apertura di un file

    Oregon, l'errore me lo da solo nel file exe, per questo non riesco a capire...
  • Re: Errore 13 nell'apertura di un file

    Ma allora può essere ovunque, non in quelle righe!

    Come ti ho detto prima, se non ci metti a disposizione il progetto, non si risolve perché tu non sai cercare un errore da solo.
  • Re: Errore 13 nell'apertura di un file

    Mi sa di si...
  • Re: Errore 13 nell'apertura di un file

    Metti dei msgbox sparsi nel codice per capire in che punto è l'errore. Oppure posta il progetto ... capito?
  • Re: Errore 13 nell'apertura di un file

    Andreas91 ha scritto:

    andreas91 ha scritto:


    Buongiorno a tutti,
    nel programmino che ho fatto, nell'apertura di un file database mdb se non trova il file mi da errore 13, eppure ho scritto il codice sempre così....
    Vorrei trovare un modo per far saltare l'errore.
    
    Public Function ApriDB_Libri()
      	On Error GoTo RigaErrore
    	Set DB = OpenDatabase(frm_accessodati & "\Dati.mdb", False, False, "; pwd=mario1973")
    	Set rs = DB.OpenRecordset("SELECT * FROM Libri ORDER BY autore")
      	Exit Function
    RigaErrore:
          	errormsg = MsgBox("Impossibile aprire Dati.mdb!", vbCritical, "Errore")
    	End
    End Function
    Poi ancora:
    Frm_accessodati è il form con all'interno una listbox che visualizza dei dati.
    Il problema è che se trova il file mdb regolarmente lo apre e non ci sono problemi, ma se non trova il file mi dopo avermi visualizzato la MsgBox("Impossibile aprire Dati.mdb!", vbCritical, "Errore"), mi da errore 13.
    E' evidente che Andreas91 ha trascritto un codice errato, come evidenziato da Oregono il codice così scritto non verrebbe nenche compilato.
    Andreas91 ha anche postato un nuovo codice:
    
    Public Function ApriDB_Libri()
    	On Error GoTo RigaErrore
    	Set DB = OpenDatabase(lbl_accessodati & "\Dati.mdb", False, False, "; pwd=mario1973")
    	Set rs = DB.OpenRecordset("SELECT * FROM Libri ORDER BY autore")
    	Exit Function
    RigaErrore:
    	errormsg = MsgBox("Impossibile aprire Dati.mdb!", vbCritical, "Errore")
    	End
    End Function
    questa volta l'errore non c'è perché in VB6 non è obbligatorio mettere .Caption per ottenete la proprietà Caption di una label.
    Mi sono impuntato su questa affermazione di Andreas91:
    Il problema è che se trova il file mdb regolarmente lo apre e non ci sono problemi, ma se non trova il file mi dopo avermi visualizzato la MsgBox("Impossibile aprire Dati.mdb!", vbCritical, "Errore"), mi da errore 13.
    Questo significa che Andreas91 ha un codice funzionate che si compila e va in esecuzione, se il database c'é, tutto funziona.
    Se il datadase non c'è ha un errore, il codice salta a RigaErrore: e visualizza l'MsgBox, e DOPO ha l'errore 13.
    Ribadisco che l'errore risiede nell'istruzione END, che drasticamente chiude il programma senza liberare le risorse che possono generare l'errore 13.

    Per Andreas91 ti ho chiesto nel post del 30 set 2020, 17:51:
    End chiude in modo drastico il programma, l'hai messo di proposito? Oppure ti è rimasto li per errore?
    prova a mettere prima di End
     db.Close
  • Re: Errore 13 nell'apertura di un file

    No Rubik la End non genera l'errore 13 e le risorse non c'entrano nulla. Anche il Close non è attinente all'errore.

    Probabilmente l'errore è da qualche altra parte nel codice. Se lui ci fornisce il codice da compilare e provare, si può dare una risposta concreta. Io sospetto qualche problema di formato data/orario tra sistemi in cui questo eseguibile viene lanciato.
  • Re: Errore 13 nell'apertura di un file

    L'errore potrebbe essere nel concatenare un oggetto con una stringa
    "OpenDatabase(lbl_accessodati & "\Dati.mdb..............."
    https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/type-mismatch-error-13
    non usare lbl_accessodati ma lbl_accessodati.Caption
  • Re: Errore 13 nell'apertura di un file

    La Caption dovrebbe essere sottintesa come propriet6di default per la label.
  • Re: Errore 13 nell'apertura di un file

    Provare costa poco (avendo il codice )
  • Re: Errore 13 nell'apertura di un file

    E' una vita che non programmo in VB6, ma qui c'è poco da ragionare, l'errore qualunque sia, attiva
    GoTo RigaErrore
    La Msgbox viene visualizzata, quando Andreas91 chiude la Msgbox che succede? il programma esegue la prossima istruzione che è END
    Cosa fa END?
    Perché END genera l'errore 13?
    Public Function ApriDB_Libri()
    	On Error GoTo RigaErrore
    	Set DB = OpenDatabase(lbl_accessodati & "\Dati.mdb", False, False, "; pwd=mario1973")
    	Set rs = DB.OpenRecordset("SELECT * FROM Libri ORDER BY autore")
    	Exit Function
    RigaErrore:
    	errormsg = MsgBox("Impossibile aprire Dati.mdb!", vbCritical, "Errore")
    	End
    End Function
    Quello che è scritto in altre parti del codice è ininfluente, solo un file aperto un db aperto, o altro di simile puo' generare un errore perché END gli toglie la terra da sotto i piedi...

    EDIT

    Nenche gli eventi Form_Deactivate, Form_Terminate e Form_Unload, vengono eseguiti dopo un END
  • Re: Errore 13 nell'apertura di un file

    Guarda, questa è un discussione poco utile ... se Andrea non dà segni di vita vuol dire che non gli interessa.

    Comunque, la End non va usata ed è una pessima abitudine inserirla nel codice, ma non provoca errori di tipo 13.
Devi accedere o registrarti per scrivere nel forum
27 risposte