Ciao a tutti,
ho inserito queste righe all'interno di un button di prova, ma riscontro delle difficoltà.
Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
'intercetto il numero di riga
Dim riga1 As Short = e.RowIndex
'reperisco id per cancellazione
riga1 = DataGridView1.Rows(riga).Cells(0).Value
il secondo blocco di istruzioni:
Private Sub CancellaRecordToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CancellaRecordToolStripMenuItem.Click
'istruzione di cancellazione record
MsgBox(riga1)
Dim strConn As String = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\REPOS\ACQUA\UTENZE.accdb")
Dim con As OleDb.OleDbConnection = New OleDb.OleDbConnection
Dim ds As DataSet
Dim da As OleDb.OleDbDataAdapter
Dim bs As BindingSource
con.ConnectionString = strConn
con.Open()
Dim sql As String
sql = "select * from acqua order by ID desc"
ds = New DataSet("dsUTENZE")
da = New OleDb.OleDbDataAdapter(sql, con)
da = New OleDb.OleDbDataAdapter("SELECT * FROM ACQUA order by data_bol", con)
da.Fill(ds, "ACQUA")
bs = New BindingSource()
bs.DataSource = ds
bs.DataMember = "ACQUA"
DataGridView1.DataSource = bs
con.Close()
In questa riga se inserisco valore 1 dentro Rows() mi cancella una riga ma se inserisco riga1 mi restituisce un errore del tipo:
System.IndexOutOfRangeException: 'Nessuna riga alla posizione 26.'
ds.Tables("ACQUA").Rows(riga1).Delete()
Dim MioCommandBuilder As New OleDb.OleDbCommandBuilder(da)
da.Update(ds, "ACQUA")
ds.Tables("ACQUA").AcceptChanges()
End Sub
Come posso risolvere il problema?
Grazie
Ultima modifica effettuata da FABIO1968 il 09/05/2019 alle 17:22 |