io ho uno usercontrol inserito su una form con una serie di controlli tra cui dei combobox, che vengono aggiunti a runtime da codice a seconda del numero di campi di una tabella access, il nome dei combo box è Destinazione & un numero progressivo da 1 a n a secondo del numero di campi. il codice non genera alcun "errore" o eccezione ma se elimino dal codice inserito il ciclo for each ctrl in ....... la tabella viene aggiornata correttamente mentre mentre quando vado a eseguire il codice for each ctrl in ...... il comando update viene eseguito senza generare errori o eccezioni mentre l'aggiornamento non avviene .ctrladd e lo user control presente sulla form, AggiornaRecord e un metodo dello usercontrol grazie per l'aiuto nel caso voi possiate darmi qualche indicazione a riguardo.posto nuovamente il codice correttamente
codice:Public Sub AggiornaRecord(ByRef ctrlAdd As UserModificaViaggio.UserModificaViaggio1, ByRef IDVIAGGIO As Integer, ByRef CheckDestinazione As Control) ConnParcoMacchine.ConnectionString = ParcoMacchineConnString sql = "SELECT * FROM VIAGGI;" Try ConnParcoMacchine.Open() Catch ex As Exception MessageBox.Show(ex.Message) End Try daParcoMacchine.SelectCommand = New OleDbCommand(sql, ConnParcoMacchine) dsParcoMacchine.Clear() daParcoMacchine.FillSchema(dsParcoMacchine, SchemaType.Source) daParcoMacchine.Fill(dsParcoMacchine, "VIAGGI") ConnParcoMacchine.Close() Dim cmdBuilderPosta As New OleDb.OleDbCommandBuilder(daParcoMacchine) cmdBuilderPosta.QuotePrefix = "[" cmdBuilderPosta.QuoteSuffix = "]" daParcoMacchine.InsertCommand = cmdBuilderPosta.GetInsertCommand daParcoMacchine.UpdateCommand = cmdBuilderPosta.GetUpdateCommand Dim strFilter As String strFilter = "[IDVIAGGIO]=" & IDVIAGGIO Dim drPosta() As DataRow drPosta = dsParcoMacchine.Tables("VIAGGI").Select(strFilter) Dim myDr2 As DataRow Try For Each myDr2 In drPosta myDr2.Item("TARGA") = ctrlAdd.ComboBoxTarga1.Text myDr2.Item("KM ATTUALI") = ctrlAdd.TextBoxKMArrivo1.Text myDr2.Item("ORA PARTENZA") = ctrlAdd.TextBoxOraPartenza1.Text myDr2.Item("ORA ARRIVO") = ctrlAdd.TextBoxOraArrivo1.Text myDr2.Item("DATA") = ctrlAdd.TextBoxData1.Text myDr2.Item("DESTINAZIONE1") = ctrlAdd.ComboBoxDestinazione1.Text NumeroColonne() Dim i As Integer = 1 Dim iControl As Integer = 2 Dim ctrl As Control Dim sProva As String Dim sProva1 As String If iNumeroColonne > 12 Then For Each ctrl In ctrlAdd.Controls If ctrl.Name = "Destinazione" & i.ToString Then sProva = ctrl.Text.ToString sProva1 = "DESTINAZIONE" & iControl.ToString myDr2.Item(sProva1) = ctrl.Text.ToString iControl = iControl + 1 i = i + 1 End If Next End If Next daParcoMacchine.Update(dsParcoMacchine, "VIAGGI") Catch ex As Exception MsgBox("errore", MsgBoxStyle.Critical, "errore") End Try dsParcoMacchine.Clear() End Sub

Rispondi quotando