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

    Aggiornamento Tabella con VB6.3

    Premesso che sono un autodidatta, stò utilizzando un programma in Access con una Sub in VB che mi da continui errori di aggiornamento ad una tabella. Studiandone il funzionamento qualcuno mi aiuta ad risolvere??? Mi sottolineate gli errori "pacchiani"?
    codice:
    Sub SalvaStatoCU()
        
    Dim wspAttivo As Workspace
    Set wspAttivo = DBEngine.Workspaces(0)
    wspAttivo.BeginTrans
    On Error GoTo errRollback
        
        Dim strStato As String
        Dim dbs As Database, rst As Recordset
        ' Visualizza il database corrente.
        Set dbs = CurrentDb
        
        ' Crea oggetto Recordset di tipo tabella.
        Set rst = dbs.OpenRecordset("StoricaStato", dbOpenTable)
        ' Inizio della transazione.
                   
             ' Cerca lo stato da chiudere
                    rst.Index = "chiusura"
                    rst.Seek "=", Me.Eli, Me.DataVecchioCU
                     If Not rst.NoMatch Then
                     rst.Edit
                     strStato = rst![CodiceStato]
                     rst![datafineStato] = Me.DataInizio
                     rst.Update
                     End If
                    rst.AddNew
                    rst![EliStato] = Me.Eli
                    rst![Entestato] = Me.CodiceEnte
                    rst![DataInizioStato] = Me.DataInizio
                    rst![CodiceStato] = strStato
                    ' Salva le modifiche.
                    rst.Update
                    rst.Close
    
    wspAttivo.CommitTrans
    Exit Sub
    errRollback:
    MsgBox "Error:" & Error$
    wspAttivo.Rollback
    Exit Sub
    
    End Sub
    PS: non capisco il funzionamento del rst.index ("chiusura"????) e rst.seek che non pesca dati da una tabella ma da un campo su una maschera.
    Siate gentili.....perdonate l'ignoranza......
    Grazie Ignazio

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Che intendi con "errori di aggiornamento" ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Dovrebbe chiudermi il campo "datafinestato" e creare un nuovo record con campo "eli" e "codice stato" uguali al record precedente e il campo "datainiziostato" e "entestato" aggiornati dalla dati immessi nella maschera di inserimento dati. Sembra come non riconosce l'istruzione: strStato=rst!codicestato.
    Stò modificando un database già costruito per altri elicotteri e questa funzione anche sull'originale ha questo bug.
    Grazie

  4. #4
    Non c'è molta partecipazione, speravo che qualcuno più competente mi aiutasse.....
    HELP ME
    L'errore che ho è che nell'esucuzione della routine mi dice che il campo CodiceStato nella tabella StoricaStato non può avere una stringa lunghezza zero. Si deduce che non effettua l'edit del valore "strstato=rst!CodiceStato". Come posso sistemare???

  5. #5
    casomai l'errore sarà qui

    rst![CodiceStato] = strStato

    controlla la variabile strStato

  6. #6
    La variabile StrStato non dovrebbe crearsi con l'istruzione Edit
    strStato=rst![CodiceStato]???
    (ci vado per intuizione....sono completamente ignorante in materia)
    Cosa e come posso controllare la variabile?????

  7. #7
    Originariamente inviato da flymarine64
    (ci vado per intuizione....sono completamente ignorante in materia)
    se sei completamente ignorante non metterti a lavorare su un progetto senza prima studiare, non ti pare? altrimenti fai solo danni.

    Comunque, no, la variabile StrStato non si crea con l'istruzione Edit, semplicemente perché l'istruzione Edit non crea variabili. Secondo, la parte di codice che assegna un valore alla variabile StrEdit è governata da una IF che evidentemente, nel tuo caso, non scatta.

  8. #8
    Scusa ma ci provo studiando man mano perchè il programma è in Access e le istruzioni VB le affronto di volta in volta.
    Comunque con l'istruzione Edit io dico:

    rst.Edit
    strStato = rst![CodiceStato]
    rst![datafineStato] = Me.DataInizio
    rst.Update


    cioè non stò dicendo che la stringa "strStato" deve essere uguale al valore "CodiceStato" dello stesso record??? in modo da memorizzare il valore da scrivere poi nel nuovo record con:

    rst.AddNew
    rst![EliStato] = Me.Eli
    rst![Entestato] = Me.CodiceEnte
    rst![DataInizioStato] = Me.DataInizio
    rst![CodiceStato] = strStato
    ' Salva le modifiche.
    rst.Update
    rst.Close

    Dove sbaglio????

  9. #9
    hai letto quello che ho scritto? hai visto che quelle istruzioni sono sotto una IF?

    e tanto per sapere come approcciare la cosa, dici di non conoscere Access, ma di programmazione sai qualcosa?

  10. #10
    Ho scritto tutta la istruzione...... non capisco la domanda sulla IF.
    Cerca di essere più "soft" , non sono un programmatore, cerco solo una mano.

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.