Bueno la duda es la siguiente tengo un error al modificar y no encuentro cual es el problema ya que la funcion creo que no esta mal, lo que tengo que hacer es seleccionar una fila del datagridview y al precionar un boton cambiar un valor de una columna de pendiente a realizado pero esto me esta generando un error que buscando tampoco eh logrado ayar cual sea el problema.
El error es : "No coinciden los tipos de datos en la expresion de criterios."
aca les dejo mi codigo en el form:
Private Sub BtnRealizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRealizar.Click
Dim resp As DialogResult
Try
resp = MessageBox.Show("¿Seguro que desea realizar este Pedido?", "Realizar", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If resp = Windows.Forms.DialogResult.Yes Then
Seleccion()
If Me.MigrillaListar.SelectedRows.Count > 0 Then
Dim f As New VisualizacionParaRealizar()
Dim Fila As DataGridViewRow ' variable utilizada para recorrer un For Each
Dim dr As DataRow
Dim fechaVencimiento As Date
Dim Estado As String = "Realizado"
'Asignamos a la variable dv, el contenido de la grilla MiGrillaListar (Como un Puntero)
Dim dv As DataView = DirectCast(MigrillaListar.DataSource, DataView)
'Copiamos la estructura de la grilla (cantidad, nombres y tipo de Columnas)
f.TablaPedidos = dv.Table.Clone
'Usamos un For Each para recorrer cada una de las filas seleccionadas de MiGrillaListar
For Each Fila In Me.MigrillaListar.SelectedRows
'Creamos una nueva fila con la estructura correspondiente y la asignamos a la variable temporal "dr"
dr = f.TablaPedidos.NewRow
'Ahora recorremos cada una de las celdas de la fila
For i = 0 To Fila.Cells.Count - 1
'Copiamos de manera manual el contenido de cada una de las celdas
dr.Item(i) = Fila.Cells(i).Value
Next
miSistema.ModificarEstado(Fila.Cells(1).Value, Fila.Cells(2).Value, Fila.Cells(3).Value, Fila.Cells(4).Value, Fila.Cells(5).Value, Fila.Cells(6).Value, Fila.Cells(7).Value, Fila.Cells(8).Value, Fila.Cells(9).Value, fechaVencimiento, Fila.Cells(11).Value, Fila.Cells(12).Value, Fila.Cells(13).Value, Fila.Cells(14).Value, Fila.Cells(16).Value, Estado)
Next
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Y este es mi codigo Modificar:
Public Overrides Sub Modificar(ByVal Objeto As Object)
Dim unPedido As Pedido = CType(Objeto, Pedido)
Dim unaConnection As OleDbConnection
unaConnection = Me.Conectar
'Carga los Pedidos en un DataSet
Dim unDataSetPedido As New DataSet
Dim unDataAdapterPedido As New OleDbDataAdapter("SELECT * FROM Pedido WHERE NroFactura = " & CStr(CType(Objeto, Pedido).NroFactura), unaConnection)
unDataAdapterPedido.Fill(unDataSetPedido, "Pedido")
'Agrega la nueva fila
Dim unaFila As DataRow = unDataSetPedido.Tables(0).Rows(0)
Dim unCommandBuilder As New OleDbCommandBuilder(unDataAdapterPedido)
unaFila.Item("Estado") = unPedido.Estado
'Actualiza
unDataAdapterPedido.Update(unDataSetPedido, "Pedido")
'Libera recursos
unCommandBuilder.Dispose()
unDataAdapterPedido.Dispose()
unDataSetPedido.Dispose()
unaConnection.Dispose()
End Sub
el error se genera cuando hace el fill de unDataAdapterPedido
ojala puedan ayudarme!