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

    errore di run-time 3021?

    Sono anni che programmo in Visual Basic ma ora mi trovo a sbattermi su un errore di run-time '3021'!
    La cosa assurda è che se provo il programmino su piattaforma Visual Basic funziona benissimo, ma se creo il file .exe e provo mi da quel cacchio di errore!
    Cmq questo è il codice anche se sono convinto che sta bene:


    'trovo id del record per poi modificare i campi
    Set con = datab.OpenRecordset("SELECT connessioni.utente_id FROM connessioni, utenti WHERE utenti.cognome='" & fine_cognome.Text & "' AND utenti.nome='" & combonome.Text & "' AND utenti.id=connessioni.utente_id AND connessioni.durata='no'")
    idriga = con.Fields("utente_id")
    con.Close


    'calcolo il totale di alcuni campi che ho creato
    totale = (varminu * (minuti.Text)) + (varstam * (Text.Text))
    totale = 0 + Format(totale, "#####.##")

    'mod valori
    Set con = datab.OpenRecordset("SELECT * FROM connessioni WHERE connessioni.utente_id=" & idriga & " AND connessioni.durata='no';")

    con.Edit
    con.Fields("inizio") = inizio.text
    con.Fields("durata") = minuti.Text
    con.Fields("Stampe") = Text.Text
    con.Fields("tot") = totale
    con.Update

    con.Close
    MsgBox ("TOTALE " & vbCrLf & "€ " & totale)
    Unload Me



    AIUTATEMI VI PREGO ....STO SOFFRENDO TROPPO!!!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ciao e benvenuto nel forum di "Programmazione".

    Presumo tu stia parlando di Visual Basic 6, ad ogni modo devi sempre specificare il linguaggio di programmazione anche nel titolo della discussione, come da Regolamento, che ti suggerisco di leggere per conoscere le norme del "buon postare" e di convivenza pacifica all'interno di quest'area.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'errore indica che un recordset e' vuoto e tu ne vuoi utilizzare una riga.

    Per prima cosa, dovresti riuscire a capire (magari aggiungendo dei MsgBox) se si verifica in

    idriga = con.Fields("utente_id")

    o in

    con.Edit

  4. #4
    Scusami ...conosco le regole ma sono euforico! Sto impazzendo.

    Cmq ti spiego meglio, nella tab. connessioni esistono questi campi:

    utente_id >> con valore già inserito in un altro form
    inizio >> con valore già inserito in un altro form
    durata >> con valore già inserito in un altro form, ma ora devo modificare
    Stampe >> non ha valore e non è obbligatorio
    tot >> non ha valore e non è obbligatorio
    durata >> non ha valore e non è obbligatorio

    nella tab. utenti ci sono le generalità di ogni utente nome, cognome, ecc. però ogni utente ha un id (che l'ho utilizzato per creare la relazione con la tab. 'connessioni' campo 'utente_id' "uno a molti") di tipo contatore a questo punto ho fatto una query per trovare id appartenente al record

    SELECT connessioni.utente_id FROM connessioni, utenti WHERE utenti.cognome='" & fine_cognome.Text & "' AND utenti.nome='" & combonome.Text & "' AND utenti.id=connessioni.utente_id AND connessioni.durata='no'


    una volta trovato id e appoggiato sulla variabile 'idriga' cerco 'utente_id' nella tab. connessioni

    SELECT * FROM connessioni WHERE connessioni.utente_id=" & idriga & " AND connessioni.durata='no'

    ...questo valore del campo esiste! anche perchè il programma funziona CORRETTAMENTE su piattaforma Visual Basic, ma NON FUNZIONA nel momento in cui creo il file progetto.exe e lo eseguo dandomi dandomi l'errore di run-time 3021!!!

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da jamby
    Scusami ...conosco le regole ma sono euforico! Sto impazzendo.
    Capisco...ma nella pazzia, mi confermeresti la versione di VB che stai utilizzando?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Confermo è Visual Basic 6

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Prima di tutto, perche' hai aperto un altro thread identico?
    Così, per darti una mano, costringi a leggere tutti e due ...

    Comunque, dovresti per un attimo "sospendere l'euforia" e, senza dirmi cosa fa il tuo programma, dirmi se hai aggiunto dei MsgBox nel tuo programma prima e dopo le righe che ti ho indicato, per capire dove si manifesta l'errore ...

  8. #8
    Ho provato con il metodo MsgBox() per poter visualizzare il valore di idriga, così facendo ho costatato che risulta valorizzata.


    Ho provato if rs.recordcount = 0 then exit sub per evitare l'errore e per capire se un campo risuta vuoto, ma niente da fare!


    Il Data Base è solo uno e si collega solo a quello, tant'è vero che il programma in Visual Basic funziona perfettamente e non mi da nessun errore, ma se lo avvio dal file exe mi chiude il programma dandomi errore e riaprendolo dal file exe la procedura di prima è andata a buon fine!!
    :master:

    AUITOOO.....

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Hai individuato durante quale operazione ti da' il problema?

    Ovvero, sai in quale parte del codice *sicuramente* viene generato l'errore?

  10. #10
    Sembra che nel momento che faccio una query sulla tab. 'connessioni' di problemi! Ho provato con Delete, AddNew, e mi da lo stesso problema ...sotto vb nulla in esecuzione dal file exe Errore di mamma Microsoft! Cmq mi sto demoralizzando, mamma Microsoft dovrebbe migliorare, è un'assurdità che il programma funziona sotto VB ma in esecuzione impazzisce... provo a rifare tutto il form e vi faccio sapere.
    P.S. potrebbe essere che VB6 non supporti Access XP?

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.