Hola amigos y gracias por leerme.
Tengo un problema. Tengo un proyecto en Visual Basic .Net:
1. Utilizo el Explorador de servidores para crear la conexión de la Base de Datos que es de Access.
Una vez hecho esto, arrastro la tabla al formulario. Creo el DataAdapter y el Data set.
De esta forma me queda en el explorador de soluciones ds1.xsd.
2. Creo los TextBox y los botones en el formulario.
3. En el Load del Form1 invocamos la sentencia Fill.
Creo un DataView (dv), para filtrar los registros que quiero que aparezcan y pongo a true: AllowEdit, AllowNew y AllowDelete.
Añado los DataBindings a los TextBox.
4. En el botón "Nuevo Registro" pongo la sentencia:
"Me.BindingContext(dvProductos).AddNew()"
Y hasta aquí bien, por que me crea un registro en blanco y me pone el número de la ID siguiente a la última existente en la Base de Datos. Y la marca en el TextBox indicado.
El problema me presenta cuando quiero hacer lo mismo en otro proyecto, pero sin utilizar el Explorador de servidores para crear la conexión de la Base de Datos. Lo hago por código:
1. En el Load creo OleDbConnection, OleDbDataAdapter, DataSet y Fill.
Creo un DataView (dv), para filtrar los registros que quiero que aparezcan y pongo a true: AllowEdit, AllowNew y AllowDelete.
Añado los DataBindings a los TextBox.
2. Creo los TextBox y los botones en el formulario.
3. En el botón "Nuevo Registro" pongo la sentencia:
"Me.BindingContext(dvProductos).AddNew()"
Pero aquí si me crea nuevo registro (limpia los TextBox), pero no me da el número del ID siguiente.
Bueno, concretando:
Quisiera saber por que al utilizarlo manualmente, por código, no me da el número del ID al crear nuevo registro y cuando utilizo el Explorador de servidores si.
Por código no me sale el nombre del ID hasta que no quito el proyecto y lo vuelvo a ejecutar.
Si alguien quiere mas información, decirmelo y os puedo mandar dos ejemplos de las dos formas que he mencionado para mayor claridad en ZIP.
¿Alguien me podría ayudar?.
Saludos y perdonar con el tocho que os he mandado.