Visual Basic.NET - Guardar Cambios Nuevo Registro

 
Vista:

Guardar Cambios Nuevo Registro

Publicado por Sherezade (7 intervenciones) el 30/06/2008 15:33:54
Buenas tardes.
Les comento la causa de mi gran atasco, por si pudieran echarme una mano.
Tengo una pequeña aplicación. En el formulario de creación de nuevos registros, cuento con varios checkbox, de los cuales, el campo "Activo", quiero que sea true de forma predeterminada. Fisicamente, lo consigo, pero al guardar los cambios me guarda todos menos este, me lo guarda como false.
Por otro lado, para facilitar la introdución de datos, tengo un botón, que al presionar, me abre un formulario de búsqueda con un datagridview (utilizo VB 2005 y Access - antes de que se me olvide mencionarlo-). Al hacer doble click, el formulario se cierra y los datos aparecen en el formulario principal de creación de registros.
Todo, tanto guardar los cambios del checkbox, como que me muestre los datos del formulario de búsqueda, me funciona correctamente si estoy modificando el registro, pero no cuando lo creo.
Les muestro el código que estoy utilizando:

cn.ConnectionString = Origen

cn.Open()

da = New OleDb.OleDbDataAdapter("Select * from Alb order by id", cn)

dacli = New OleDb.OleDbDataAdapter("Select * from Clientes", cn)
da.Fill(ds, "Alb")

dacli.Fill(ds, "Clientes")



Dim claves(0) As DataColumn

claves(0) = New DataColumn

claves(0) = ds.Tables("Alb").Columns("ID")

ds.Tables("Alb").PrimaryKey = claves



Dim cb As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(da)

cn.Close()



Me.cboAgencia.DataSource = DS.Tables("clientes")

Me.cboAgencia.DisplayMember = "cliente"

Me.cboAgencia.ValueMember = "IdCliente"

Me.txtId.DataBindings.Clear()

Me.ckActiva.DataBindings.Clear()

------------------------------


bs.DataSource = ds

bs.DataMember = "Alb"





Me.txtId.DataBindings.Add(New Binding("text", bs, "ID", True))

Me.ckActiva.DataBindings.Add(New Binding("CHECKED", bs, "ACTIVA", True))

----------------------------
Private Sub Nuevo()

bs.EndEdit()

bs.AddNew()

If ds.Tables("ID").Rows.Count > 1 Then
Me.txtId.Text = ds.Tables("Alb").Rows(ds.Tables("Alb").Rows.Count - 1).Item("id") + 1
Else
Me.txtId.Text = 1
End If

Me.ckActiva.CheckState = CheckState.Checked
Me.ckFacturado.CheckState = CheckState.Checked
``````````````````
Privates Sub Guardar()

bs.EndEdit()


If Not ds.GetChanges() Is Nothing Then



da.Update(ds, "Alb")

ds.AcceptChanges()

Me.statusAviso.Text = "Datos guardados..."

End If

Si alguien me pudiera echar una mano, me haría un gran favor. De todos modos, muchas gracias por vuestra atención

Saludos cordiales!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder