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è???