Tengo un datagrid filtrado entre fechas con una columna checkbox. Me
interesa que se actualice la base de datos con los checkbox marcados, tengo
el siguiente código:
Dim conexion As OleDbConnection = New OleDbConnection("Provider=
Microsoft.Jet.OLEDB.4.0;Data Source=C:\FACTURACION\FACTURACION.MDB")
Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select
FACTURAR,NUMEROALBARAN,FECHAALBARAN FROM ALBARAN WHERE FECHAALBARAN
>=@FINICIO AND FECHAALBARAN<=@FFIN ORDER BY FECHAALBARAN", conexion)
Dim ds As DataSet = New DataSet
da.SelectCommand.Parameters.AddWithValue("@FINICIO ",
Me.FINICIO.Value.Date)
da.SelectCommand.Parameters.AddWithValue("@FFIN", Me.FFIN.Value.Date)
da.Fill(ds)
Me.DataGridFACTURADO.DataSource = ds.Tables(0)
Dim dt As DataTable = DirectCast(DataGridFACTURADO.DataSource,
DataTable)
For Each row As DataRow In dt.Rows
If Not row.IsNull("FACTURAR") Then
MessageBox.Show(row.Item("FACTURAR").ToString)
End If
Dim sql As String = "UPDATE ALBARAN SET FACTURAR=TRUE"
Dim cmd As New OleDbCommand(sql, conexion)
conexion.Open()
cmd.ExecuteNonQuery()
conexion.Close()
Next
He probado también con el where de esta forma:
Dim sql As String = "UPDATE ALBARAN SET FACTURAR=TRUE WHERE
FECHAALBARAN>=@FINICIO AND FECHAALBARAN<=@FFIN"
y en la línea:
For Each row As DataRow In dt.Rows
me da el siguiente error:
Referencia a objeto no establecida como instancia de un objeto.
Lo he probado con variables y me da el mismo error