Salve ragazzi volevo chiedervi delle informazioni in merito ad un problem che ho riscontrato.
Ho un programma che effettua determinate operazioni. In realtà lui calcola Tutto il lavoro che ha fatto un dipendente in un arco di tempo. Calcolado assenze presenze società di appartenenza e così via.
Il mio problema è questo:
Quando lancio per la prima volta l'elaborazione il programma funziona correttamente, ma se lancio l'elaborazione una seconda volta il programma mi restituisce il seguente errore:
"Riferimento a un oggetto non impostato su un'istanza di oggetto"
vi posto il codice dove si blocca la freccia indica il punto dove mi restituisce l'errore
For i As Integer = 0 To x Step 1
If Not bkw_Elab.CancellationPending Then
dv_Dati.AddNew() <--------------------------------------------
dv_Dati(i).BeginEdit()
dv_Dati(i).Item("Matric") = str_Matric
dv_Dipendenti.RowFilter = String.Format("Matric like '{0}'", str_Matric)
dv_Dati(i).Item("Cognome") = dv_Dipendenti(0).Item("Cognome")
dv_Dati(i).Item("Nome") = dv_Dipendenti(0).Item("Nome")
dv_Dipendenti.RowFilter = Nothing
dv_Dati(i).Item("Data") = datime_Inizio.AddDays(i).Date.ToShortDateString
dtime_tmp = CType(dv_Dati(i).Item("Data"), Date)
dv_Dati(i).Item("Giorno") = cOperazioni.Traduci(dtime_tmp.Date.DayOfWeek.ToString)
dv_Dati(i).EndEdit()
Else
bkw_Elab.ReportProgress(0, "Stato: Operazione interrotta")
End If
Next
Fatto strano che però non riesco a capire è il seguente:
Quando lancio l'elaborazione la seconda volta l'errore non mi vine restituito subito ma bensì dopo aver fatto una volta il ciclo for.
Infatti appena lancio l'elaborazione (per la seconda volta) il porgramma mi completa per una volta il ciclo for cioè con i=0 ma poi al secondo giro cioè con i=1 mi restituisce l'errore.
Ogni volta che rilancio l'elaborazione eseguo anche il codice
dv_dati = new dataview
per eliminare completamente quello che apparteneva alla prima elaborazione.
Sto leggermente impazzendo. Dove sto sbagliando?
Potreste gentilmente darmi una mano non ci sto capendo più niente. Vi ringrazio infinitamente.