La sub carica la uso nel form_load e dopo aver salvato...codice:Private Sub Form_Load() query4 = "SELECT apparatiusati.idlinea, apparaticonnessi.Apparato, Linea.idcentralino FROM Linea " & _ "INNER JOIN (apparaticonnessi INNER JOIN apparatiusati ON apparaticonnessi.idapparato = apparatiusati.idapparato) " & _ "ON Linea.idlinea = apparatiusati.idlinea;" appusati.Open query4, conn, 3, 3 end sub Private Sub carica() appusati.Requery appusati.MoveFirst Do While Not appusati.EOF If appusati("idlinea") = linea("idlinea") Then List2.AddItem (appusati("apparato")) If appusati("apparato") = "Centralino" Then List2.ItemData(List2.NewIndex) = appusati("idcentralino") Frame6.Enabled = True Else List2.ItemData(List2.NewIndex) = 0 Frame6.Enabled = True End If End If appusati.MoveNext Loop end sub Private Sub Salva_Click() Set generica = Nothing generica.Open "apparatiusati", conn, 3, 3 Do While Not generica.EOF If generica("idlinea") = linea("idlinea") Then If generica("idapparato") = 1 Then linea("idcentralino") = 0 End If generica.Delete generica.Update End If generica.MoveNext Loop If List2.ListCount > 0 Then For i = 0 To List2.ListCount - 1 List2.ListIndex = i If List2.text = "Centralino" Then If centralino.EOF = True And centralino.BOF = True Then MsgBox ("Attenzione, non è presente in memoria nessun centralino! Prima di poter selezionare il centralino bisogna inserirlo") Exit Sub Else linea("idcentralino") = centralino("idcentralino") End If End If generica.AddNew generica("idlinea") = linea("idlinea") generica("idapparato") = List2.ItemData(List2.ListIndex) generica.Update Next generica.Close End If end sub