Hola a todos!
Mi problema es el siguiente: Tengo un Form el cual lo abro con los datos de un registro que quiero modificar.
Pero tengo un código que lo unico que hace es añadirme otro registro mas...en vez de modificar el ó los campos que quiero.
El código es:
'====================================================================================
'====================================================================================
Try
'Crear la Tabla
Dim tablaVales As String = "SELECT * FROM Vales WHERE Id=" & txtId.Text
' Crear un nuevo objeto del tipo DataAdapter
Using da = New OleDbDataAdapter(tablaVales, conexion)
' Crear los comandos de insertar, actualizar y eliminar
Dim cb As New OleDbCommandBuilder(da)
dt = New DataTable
' Llenar la tabla con los datos indicados
da.Fill(dt)
' Crear un nuevo registro
Dim dr As DataRow = dt.NewRow()
' Asignar los datos de los textbox a la fila
'asignarDatos(dr)
dr("Numero") = txtNumero.Text
dr("Fecha") = dataFecha.Value
dr("Familia") = cboFamilia.Text
dr("Maquina") = cboDescripcion.Text
dr("Horas") = txtHoras.Text
dr("Precio") = txtPrecio.Text
dr("Total") = txtTotal.Text
' Añadir la nueva fila a la tabla
dt.Rows.Add(dr)
' Guardar físicamente los datos en la base
da.Update(dt)
dt.AcceptChanges()
' Si es el primer registro de la base,
' volver a leer los datos para actualizar los IDs
If CInt("0" & dr("Id").ToString) = 0 Then
dt = New DataTable
da.Fill(dt)
End If
'Cerramos el Form
Me.Close()
End Using
'====================================================================================
'====================================================================================
He probado cambiar la consulta y poner UPDATE.. pero no me reconoce la tabla, me dice que el indice esta a cero... y no me hace nada.
Agradeceria cualquier duda.
Gracias