Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81

    Escita improvvisa da una routine

    Salve a tutti,
    chiedo un vostro utlissimo aiuto per risolvere uno strano problema che mi è capitato. Vengo e mi spiego.

    codice:
    Private Sub Connetti()
       With CONN
          .ConnectionString = "Provider = Microsoft.Jet.OleDB.4.0;" & _
                                "Data source = " & App.path & "\" & "Inventory.mdb"
          .ConnectionTimeout = 5 'numero dei secondi di timeout
          .CursorLocation = adUseClient 'tipo di cursore
          .Mode = adModeShareDenyNone 'nessuna limitazione
          .Open 'apertura ricordarsi di chiuderla
       End With
       With RS
          .ActiveConnection = CONN ' imposta a che connessione si riferisce
          .LockType = adLockOptimistic ' imposta il tipo di lock
       End With
       With RSP
          .ActiveConnection = CONN ' imposta a che connessione si riferisce
          .LockType = adLockOptimistic ' imposta il tipo di lock
       End With
       With RS_Tmp
          .ActiveConnection = CONN ' imposta a che connessione si riferisce
          .LockType = adLockOptimistic ' imposta il tipo di lock
       End With
    End Sub
    
    Private Sub Form_Load()
    Call DeleteTMP
    For i = 0 To (padre.childNodes(4).childNodes.length - 1)
    ListSW.AddItem (padre.childNodes(4).childNodes(i).childNodes(0).Text)
    Soft = padre.childNodes(4).childNodes(i).childNodes(0).Text
    Call TableTMP
    Next
    End If
    End Sub 
    
    Private Sub TableTMP()
    
    SQL_Tmp = "Select * from SoftwareTMP"
    
    With RS_Tmp
        .Open SQL_Tmp
        If Soft <> "" Then
        .AddNew
        !PRGName = Trim(Soft)
        .Update
        End If
        .Close
    End With
    SQL_Tmp = ""
    
    End Sub
    
    Private Sub DeleteTMP()
    
    SQL_Tmp = "Select * from SoftwareTMP"
    
    With RS_Tmp
        .Open SQL_Tmp
        If .RecordCount <> 0 Then
            .MoveLast
            Do Until .BOF
                .Delete
                .MovePrevious
            Loop
        End If
        .Close
    End With
    SQL_Tmp = ""
    
    End Sub
    In fase di esecuzione, entrando nella DeleteTMP routine, dopo aver eseguito il .Delete, esce inaspettatamente dalla routine (senza segnalare alcun errore, neppure in fase di debug) e ritorna nella form load. A questo punto esegue TableTMP e anche qui, dopo il .open esce. Xchè???

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    usa la gestione degli errori nel form_load e vedi l'errore che ti ritorna.
    Ans.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81
    ans, ti ringrazio per la risposta, ma avevo dimenticato che sulla form load avevo messo un on error resume next...

    Cmq, adesso mi da' questo errore sul .delete

    "Insufficiet key column information for updating or refreshing"

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    per rimuovere record xchè non usi l'istruzione sql Delete ?
    Ans.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    81
    avevo già pensato ad usare questa soluzione... xò mi chiedo quale possa essere il motivo per cui, in un primo momento, il metodo rs.delete funzionava e improvvisamente non ne ha voluto saperne... Inoltre che cavolo significa quell'errore di "insufficient key...etc etc etc"???

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.