Insertar datos en ACCESS

09/04/2007 - 14:17 por Jennifer | Informe spam
Buenas!!!

Estoy intentando meter en una tabla de access unos datos que tengo en un
listbox. La sentencia que utilizo es la siguente:
string sSQL;
sSQL = "INSERT INTO TMenu(TMEN_TITULO_MENU) VALUES('Menu 1') ";

Esto lo hace bien.

Esta tabla tiene un campo autonumerico y me gustaria saber como puedo sacar
el campo autonumerico que le asigna al dato que acabo de meter. ¿El
@@identity se puedo utilizar? Lo he intentado y no lo he conseguido.

Gracias.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
09/04/2007 - 15:07 | Informe spam
"Jennifer" wrote in message
news:
Estoy intentando meter en una tabla de access unos datos que tengo en un
listbox. La sentencia que utilizo es la siguente:
string sSQL;
sSQL = "INSERT INTO TMenu(TMEN_TITULO_MENU) VALUES('Menu 1') ";

Esto lo hace bien.

Esta tabla tiene un campo autonumerico y me gustaria saber como puedo
sacar el campo autonumerico que le asigna al dato que acabo de meter. ¿El
@@identity se puedo utilizar? Lo he intentado y no lo he conseguido.



No, el @@Identity es solo para SQL Server; con Access no funciona.
Con Access la única solución que yo conozco es volver a leer el registro
que has grabado para ver qué valor ha metido en el autonumérico. Si el
programa es multiusuario, te interesará hacer la grabación y la subsiguiente
lectura dentro de una transacción para que no se te graben entre medias otro
registro desde otro puesto y te devuelva el valor del otro registro en lugar
del tuyo.
Respuesta Responder a este mensaje
#2 Jennifer
09/04/2007 - 16:05 | Informe spam
Gracias.


"Alberto Poblacion"
escribió en el mensaje news:
"Jennifer" wrote in message
news:
Estoy intentando meter en una tabla de access unos datos que tengo en un
listbox. La sentencia que utilizo es la siguente:
string sSQL;
sSQL = "INSERT INTO TMenu(TMEN_TITULO_MENU) VALUES('Menu 1') ";

Esto lo hace bien.

Esta tabla tiene un campo autonumerico y me gustaria saber como puedo
sacar el campo autonumerico que le asigna al dato que acabo de meter. ¿El
@@identity se puedo utilizar? Lo he intentado y no lo he conseguido.



No, el @@Identity es solo para SQL Server; con Access no funciona.
Con Access la única solución que yo conozco es volver a leer el
registro que has grabado para ver qué valor ha metido en el autonumérico.
Si el programa es multiusuario, te interesará hacer la grabación y la
subsiguiente lectura dentro de una transacción para que no se te graben
entre medias otro registro desde otro puesto y te devuelva el valor del
otro registro en lugar del tuyo.

Respuesta Responder a este mensaje
#3 Alhambra-Eidos Kiquenet
09/04/2007 - 16:16 | Informe spam
En este caso, para Sql SERVER, cuál sería la opción más aceptable, nos é si
habrá una infalible para averiguar el Identity que se haya insertado.

Miguel Egea escribió un artículo sobre ello pero no tengo su referencia, si
alguien la conoce...

Saludos
Respuesta Responder a este mensaje
#4 Alberto Poblacion
09/04/2007 - 17:59 | Informe spam
"Alhambra-Eidos Kiquenet"
wrote in message news:
En este caso, para Sql SERVER, cuál sería la opción más aceptable, nos é
si
habrá una infalible para averiguar el Identity que se haya insertado.



Para SQL Server sí que funciona lo del SELECT @@IDENTITY después de
haber insertado el registro.
Respuesta Responder a este mensaje
#5 Octavio Hernandez
09/04/2007 - 23:49 | Informe spam
Aquí dice que @@IDENTITY ** SI ** funciona también para Access a partir
de Access 2000, e incluso pone un ejemplo (yo no lo he probado).

http://msdn2.microsoft.com/en-us/library/ks9f57t0(vs.71).aspx

Saludos - Octavio



"Jennifer" escribió en el mensaje
news:
Buenas!!!

Estoy intentando meter en una tabla de access unos datos que tengo en un
listbox. La sentencia que utilizo es la siguente:
string sSQL;
sSQL = "INSERT INTO TMenu(TMEN_TITULO_MENU) VALUES('Menu 1') ";

Esto lo hace bien.

Esta tabla tiene un campo autonumerico y me gustaria saber como puedo
sacar el campo autonumerico que le asigna al dato que acabo de meter. ¿El
@@identity se puedo utilizar? Lo he intentado y no lo he conseguido.

Gracias.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida