Anticipo che, dopo aver messo tutti i codici di tutte le Sub all'interno del blocco Try, non sono più riuscito a ripetere l'errore. Comunque, per Oregon, ecco di seguito il codice della Sub incriminata e di quella da questa richiamata:
Se serve altro sono a disposizione.codice:Private Sub ModifListaReg() Try Dim rcrdst As New ADODB.Recordset, sSQL As String ListaRegioni.Items.Clear() sSQL = "DELETE RegioniSelezionate.* FROM RegioniSelezionate;" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) If SeleReg = 0 Then sSQL = "INSERT INTO RegioniSelezionate ( Reg, Regione ) SELECT Regioni.Reg, Regioni.Regione FROM Regioni;" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) Else sSQL = "INSERT INTO RegioniSelezionate ( Reg, Regione ) SELECT DISTINCT DatiTerritoriali.Reg, DatiTerritoriali.Regione FROM DatiTerritoriali INNER JOIN AgentiPerVendite ON DatiTerritoriali.CodAg = AgentiPerVendite.CodAg WHERE (((AgentiPerVendite.Selezionato)=-1));" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) End If sSQL = "UPDATE Regioni SET Regioni.Selezionato = 0;" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) sSQL = "UPDATE Regioni INNER JOIN RegioniSelezionate ON Regioni.Reg = RegioniSelezionate.Reg SET Regioni.Selezionato = -1;" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) sSQL = "SELECT Regioni.Reg, Regioni.Regione, Regioni.Selezionato FROM Regioni;" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) If rcrdst.State <> ConnectionState.Closed Then rcrdst.Close() rcrdst.ActiveConnection = Nothing Application.DoEvents() End If Thread.Sleep(150) CaricaRegioni() Thread.Sleep(150) SeleReg = 0 Catch ex As Exception Debug.Print(ex.ToString) MessageBox.Show(ex.Message) MessageBox.Show("Stack Trace: " & vbCrLf & ex.StackTrace) MessageBox.Show("Errore nella Sub ''ModifListaReg'' della Form ''SeleVendite'': " & Err.Number & " - " & Err.Description) End Try End Sub Private Sub CaricaRegioni() ' ATTENZIONE: TUTTO QUESTO MODULO LAVORA SUL DB LOCALE!! Try Dim rcrdst As New ADODB.Recordset, sSQL As String Dim i As Integer ' Seleziona la Query in funzione di Riservato e poi la esegue - Crea la tabella RegioniSel ' ************************************************************ If Riservato = -1 Then sSQL = "SELECT Regione, Selezionato FROM Regioni WHERE (((Selezionato)=-1));" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) ElseIf Riservato = 0 Then sSQL = "SELECT Regione, Selezionato FROM Regioni WHERE ((Regione)<>'ESTERO') AND ((Selezionato)=-1)" rcrdst.Open(sSQL, CnDBLocale, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic) End If ' Popola ListaRegioni ' ******************* For i = 0 To rcrdst.RecordCount - 1 ListaRegioni.Items.Add(rcrdst("Regione").Value) ' Carica la Lista Categorie ListaRegioni.SetSelected(i, 0) rcrdst("Selezionato").Value = 0 rcrdst.Update() rcrdst.MoveNext() Next i If rcrdst.State <> ConnectionState.Closed Then rcrdst.Close() rcrdst.ActiveConnection = Nothing Application.DoEvents() End If Catch ex As Exception Debug.Print(ex.ToString) MessageBox.Show(ex.Message) MessageBox.Show("Stack Trace: " & vbCrLf & ex.StackTrace) MessageBox.Show("Errore nella Sub ''CaricaRegioni'' della Form ''SeleVendite'': " & Err.Number & " - " & Err.Description) End Try End Sub

Rispondi quotando