Salve ragazzi ho un problemino con l'aggiornamento dei dati da un form all'atro.Di seguito sotto indico il codice che mi aggiorna dei dati su due tabelle diverse.Fino a qui tutto a posto, ma quando vado a fare il Load del form che mi visualizza i dati su di una listview non mi si aggiorna subito ma solo dopo una volta chiuso e riaperto il Form.Sapete aiutarmi per sapere dove ho sbagliato Grazie.
Private Sub ToolbarButton1_Click()
If XPCombo1.Text = "" Then
MsgBox "Inserire L'operatore nel campo operatore " & "Operatore." & " è vuoto"
Exit Sub
End If
Dim DB As ADODB.Connection
Dim rubrica As ADODB.Recordset
Dim storico As ADODB.Recordset
Dim strCnn As String
'Debug.Print txtFirst.Text
'Connessione al Db
Set DB = New ADODB.Connection
strCnn = "" _
& "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & App.Path & "/Agenda.mdb"
' & "Persist Security Info=False"
DB.Open strCnn
'Aggiorno la rubrica
Set rubrica = New ADODB.Recordset
rubrica.LockType = adLockOptimistic
rubrica.Open "Rubrica", DB, , , adCmdTable
'Aggiungo la data di chiusura
rubrica.Find "ID=" & txtFirst.Text
'Debug.Print rubrica("Stanza")
rubrica("DataChiusura") = Dtp2.Value
rubrica.UpdateBatch
rubrica.Delete adAffectCurrent
Set storico = New ADODB.Recordset
storico.LockType = adLockOptimistic
storico.Open "Storico", DB, , , adCmdTable
storico.AddNew
'Aggiorno la tabella storico
storico("ID") = txtSname.Text
storico("Piano") = txtSmob.Text
storico("Stanza") = txtCph.Text
storico("O_F") = txtHph.Text
storico("Call_Center") = txtSeno.Text
storico("Operatore_SIT") = txtScname.Text
storico("DataApertura") = txtSdept.Text
storico("Motivo Segnalazione") = Txtmotivo.Text
storico("Personale Intervenuto") = XPCombo1.Text
storico("DataChiusura") = Dtp2.Value
storico("Ora Intervento") = DataOra1.Value
storico("Note Intervento") = txtAdd.Text
storico.UpdateBatch
'Chiusura
rubrica.Close
storico.Close
DB.Close
Form1.Show
Unload Me
End Sub
---------------------------------------------------------
Questo è il codice con il quale richiamo i dati sul Form1
Private Sub Form_Activate()
List1.Refresh
MDIForm1.Enabled = False
List1.SmallIcons = ImageList1
Dim itmX As ListItem
Dim DB As Database
Dim sQL As String
List1.ListItems.Clear
sQL = "select * from Rubrica "
Set DB = OpenDatabase(App.Path & "\Agenda.mdb")
Set rs = DB.OpenRecordset(sQL)
Do Until rs.EOF
If rs.Fields("Priorità").Value = False Then
Set itmX = List1.ListItems.Add(, , "tips", , 1)
Else
Set itmX = List1.ListItems.Add(, , "tips", , 2)
End If
With rs
itmX.Text = .Fields("ID")
itmX.SubItems(1) = .Fields("O_F")
itmX.SubItems(2) = .Fields("Piano")
itmX.SubItems(3) = .Fields("Stanza")
itmX.SubItems(4) = .Fields("Call_Center")
itmX.SubItems(5) = .Fields("Operatore_SIT")
itmX.SubItems(6) = .Fields("DataApertura")
itmX.SubItems(7) = .Fields("OraApertura")
itmX.SubItems(8) = .Fields("Motivo segnalazione")
If rs.Fields("Priorità").Value = True Then
itmX.ForeColor = vbRed
For i = 1 To List1.ColumnHeaders.Count - 1
itmX.ListSubItems(i).ForeColor = vbRed
Next i
Else
itmX.ForeColor = vbGreen
For i = 1 To List1.ColumnHeaders.Count - 1
itmX.ListSubItems(i).ForeColor = vbGreen
Next i
End If
rs.MoveNext
End With
Loop
rs.Close
End Sub