Visual Basic - Insertar registro en access con ADO

Life is soft - evento anual de software empresarial
 
Vista:

Insertar registro en access con ADO

Publicado por Sergio (7 intervenciones) el 10/08/2004 13:46:30
Hola ¿cómo va todo?
¿m podeis hechar un cable? Tengo un problemilla.

Resulta que tengo una base de datos en access a la que accedo con ado. En las tablas de access en la que la clave principal es un autonumerico, no me ocurre este problema. El problema es en una tabla que no es autonumerica.

Una vez conectado a la base de datos y habiendo definido correctamente todas las variables hago lo siguiente

SQL = "SELECT * " & _
"FROM LineasEnc "
AbrirConsulta (SQL) 'EJECUTA LA SENTENCIA SQL POR MEDIO DE ADO
For i = 1 To FlxGd.Rows - 2
Consulta.AddNew
Consulta.Fields!CodEnc = j
Consulta.Fields!Linea = i
Consulta.Fields!Cant = FlxGd.TextMatrix(i, 4)
Consulta.Fields!CodProd = FlxGd.TextMatrix(i, 1)
Consulta.Update

Cuando ejecuta la linea Consulta.Update me da error. ¿se inserta así un registro en access por medio de ADO, o estoy equivocado??

Otra cosilla, como hos he explicado antes tengo tablas autonumericas.
La historia es que tengo que ir haciendo pruebas de inserciones en dichas tablas. Llega un momento que por ejemplo, tengo 7 registros.
Al borrarlos para empezar de nuevo y grabando los cambios, vuelvo a insertar registros, y ahora ya no empieza desde la posición 1, sino que empieza automaticamente desde la 8 (ultimo registro +1). ¿cómo puedo resetearlo a 1?

Muchas gracias
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

RE:Insertar registro en access con ADO

Publicado por narg_95 (20 intervenciones) el 12/08/2004 01:37:52
mira, con respecto a la primera pregunta, yo inserto los datos no con el recordset sino ejecutando una sentencia SQL, me explico:

Dim id_estudiante as integer
Dim estudiante as string
id_estudiante=10
estudiante="andres"
Dim Sn as new Connection
sn.open "me abre la base de datos"
sn.execute "Insert into ESTUDIANTE (id_estudiante,estudiante) " & _
"values (" + id_estudiante + ",'" + estudiante + "')"

y ya.. asi se inserta, ademas practicas sentencias SQL q son importantes...

Y con respecto a tu segunda duda, lo que yo siempre he hecho, es NO crear campos autonumericos por acces, yo lo hago directamente desde el aplicativo. Me explico, yo no creo el tipo de dato como Autonumerico sino Numerico, y cada vez que voy a insertar datos, hago una consulta que me saque el valor maximo de ese campo y le sumo 1 y ese es el valor de mi nuevo campo...

espero me hayas entendido... bye
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar