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

    [VB6] Errore: 'Nome origine Dati non trovato'

    Intanto Buona Pasqua a Tutti...
    Allora...
    Nel Form load uso questo codice...

    Private Sub Form_Load()
    windir = Environ$("WINDIR") & "\SYSTEM32\"
    If Not Dir(windir & "vb6.dll") = "vb6.dll" Then
    MsgBox "Questa copia non è autorizzata", vbCritical, "ATTENZIONE!"
    ' chiama seriale
    Protez = Shell(App.Path & "\Seriale.exe", 1)
    End
    Else
    LeggiFile
    ''''stringa di connessione al db..
    StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Percorso & "';Persist Security Info=False"
    End If

    End Sub

    Non riesco a capire come mai..se lo apro da visual basic..funziona perfettamente..Quando invece apro il programma compilato .exe a volte funziona a volte no...

    Praticamente quando si blocca...succede questo..
    Mi appare l' msgbox.. e dopo un istante si blocca il programma ..mi dice..'Nome Origine Dati non Trovato e driver predefinito non specificato'.

    Non capisco cosa sbaglio..perchè la stringa di connessione non dovrebbe leggerla..se mi appare l'msgbox.. E poi non capisco perchè 6 volte su 10 funziona..ma ke succede le altre 4?!!..

    Qualcuno vede errori..che io non vedo?

    PS. Non so se mi sono spiegata bene..
    amo molto parlare di niente..è l'unico argomento di cui so tutto

  2. #2
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    ciao

    1)ma ti si blokka in apertura programma oppure durante il suo funzionamento?
    2) ricevi errori di runtime quando si blokka?
    3) cosa fa la funzione leggifile ?
    4) hai controllato in debug la stringa "& Percorso &" se ricevi il percorso esatto?

    Buona Pasqua

  3. #3
    Ciao ti ringrazio x la risposta..

    Cmq alla fine ho risolto..se vedi il codice sopra..
    Praticamente nell'IF...gli dico ke se non trova il file vb6.dll mi deve dare un messaggio "Copia nn autorizzata" e poi aprire un programmino: 'seriale.exe'..

    L'errore sta prima dell'ELSE...invece di end ...devo scrivere unload me ..
    Il programma deve chiudersi..perchè l'utente non ha inserito il codice di attivazione del programma..

    Errore di distrazione

    Ciao e Buona Pasqua anke a te
    amo molto parlare di niente..è l'unico argomento di cui so tutto

  4. #4
    Risolto? Ma quando mai...
    Non avevo provato bene...Il programma compilato non funziona...Dopo l'msgbox mi da errore...Errore di run time -2147467259. Nome Origine Dati non Trovato e driver predefinito non specificato..

    Se invece lo eseguo da vb6..non si blocca..

    Non ne capisco il motivo.. la routine...LeggiFile non dovrebe leggerla visto ke si trova nell'else..e neanche la stringa di connessione..
    amo molto parlare di niente..è l'unico argomento di cui so tutto

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    nn so , cerca di catturare l'errore con "on error", ti mando un link sperando ti possa servire.
    run time error
    :master:

  6. #6
    Ciaoo Ti ringrazio ancora x l'interessamento....ma non ne vengo fuori... Sigh
    amo molto parlare di niente..è l'unico argomento di cui so tutto

  7. #7
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao basy82,
    sembrerebbe che la connessione con il DB sia già avvenuta.
    Prova a mettere un Exit Sub prima di Unload Me .
    A ben vedere, sarebbe opportuno prima di chiudere il programma verificare che la connessione ad DB sia anch'essa chiusa (ed annullare eventiali rs).
    Potresti inserire questa funzione per verificare ed eventualmente chiudere la connessione:
    Codice PHP:
    'Verifica lo stato della connessione:
    Public Function GetState(intState As Integer) As String
        Select Case intState
            Case adStateClosed
                GetState = "adStateClosed"
            Case adStateOpen
                GetState = "adStateOpen"
        End Select 
    La usi così:
    Codice PHP:
    'Verifica e Chiude/cancella il recordSet:
            If GetState(RSTpr7.State) = "adStateOpen" Then
                RSTpr7.Close
                Set RSTpr7 = Nothing
            End If
            '
    Verifica e Chiude/Cancella la connessione:
            If 
    GetState(ConPr7.State) = "adStateOpen" Then
                ConPr7
    .Close
                Set ConPr7 
    Nothing
            End 
    If 
    LM

  8. #8
    Ciao e GRazie anke a te...x la risp.
    Proverò come dici tu...(chiudendo il recordset se risulta aperto...) e spero che funzioni..

    Cmq non riesco a capire... dove si apra sto recordset!!! visto che sono sul form load e gli dico di uscire(cioè di scaricarmi il form) ancor prima di leggere la stringa di connessione..
    Non capisco neanche perchè se lo eseguo da visual basic...non si blocca...

    Bah a volte la logica...non serve..
    amo molto parlare di niente..è l'unico argomento di cui so tutto

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E invece la logica e' sempre risolutiva ... l'errore sta da qualche parte nel tuo progetto.

    Utilizzi dei controlli Data o ADODC in cui hai specificato la stringa di connessione nelle proprieta' del controllo stesso?

  10. #10
    Ciao Oregon
    Beh la risposta è no...per aprire la connessione al db faccio tutto da codice...

    All'interno di un modulo mi sono creata diverse funzioni...per quanti recordset uso...e gli passo l'sql..

    Poi per aprire i recordet faccio x esempio... call apriRs(MiaSql)..

    :master:
    amo molto parlare di niente..è l'unico argomento di cui so tutto

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.