Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-11-2010
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Question InsertRecord con campo autonumerico de access y delphi7

Compañeros,

Estoy intentando insertar un registro nuevo en una tabla de access cuyo primer campo es autonumerico, pero el comando de delphi 7 ...
Código Delphi [-]
TPEDHDR.InsertRecord([null,CltActual,CltNombre....])

me da un error de que el primer campo no debe de modificarse.

Lo que estoy tratando de hacer es lo siguiente:
Estoy añadiendo un encabezado de pedido y el campo autonumerico es el numero de pedido. Despues de esto debo de añadir el detalle del pedido y poner en un campo de la tabla del detalle del pedido el campo autonumerico que se generó al insertar el encabezado del pedido, por lo que necesito saber que numero se le asignó al pedido en el encabezado del pedido.

¿que falla tiene el comando arriba mostrado?
¿Cual es la mejor manera de insertar un registro y saber que numero le fue asignado al campo autonumerico?

Gracias compañeros del Club.
Responder Con Cita
  #2  
Antiguo 16-11-2010
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Cita:
TPEDHDR.InsertRecord([null,CltActual,CltNombre....])
Si el primer valor (null) es el campo autonumérico, no debes de ponerlo, sólo tienes que poner los campos que se grabarán en la DB

Sobre el número que ha insertado en el campo autonumérico, sólo tienes que hacer una SQL para recuperar el dato como:
Código SQL [-]
SELECT
    MAX(CAMPOAUTO) AS NUMPEDIDO
  FROM Pedidos

Espero que te sirva.

un saludo.
Responder Con Cita
  #3  
Antiguo 16-11-2010
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Cita:
Empezado por olbeup Ver Mensaje
Si el primer valor (null) es el campo autonumérico, no debes de ponerlo, sólo tienes que poner los campos que se grabarán en la DB
Gracias por la respuesta.

Lo que me quieres decir es que debo de poner la instruccion como
Código Delphi [-]
TPEDHDR.InsertRecord([CltActual,CltNombre,....])

¿De esta manera, si la tabla tiene 12 columnas, y la primera es el campo autonumérico, solo debo de especificar 11 valores en el comando InrertRecord?

Por otro lado. Me surge la duda con relación al numero de pedido asignado obteniendolo con el comando MAX, porque hay la posibilidad que pudiera haberse dado de alta otro pedido adicional y obtuviera el numero del segundo pedido, en lugar del primero. ¿Puede suceder esto?

Gracias por sus respuestas.

Saludos...
Responder Con Cita
  #4  
Antiguo 06-12-2010
Avatar de saldanaluis
saldanaluis saldanaluis is offline
Miembro
 
Registrado: nov 2006
Ubicación: Monterrey NL México
Posts: 122
Poder: 18
saldanaluis Va por buen camino
Lo que hice fue usar el comando Append de Delphi, dado que al hacer el Post me deja el registro insertado como registro actual y de ahi tomo el numero asignado por el campo autonumérico.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
reindexar campo autonumerico nosferatu177 SQL 0 23-10-2007 00:47:14
Modificar campo autonumerico Carlex MS SQL Server 3 07-09-2006 17:06:47
campo autonumerico con letra Cosgaya Tablas planas 2 13-11-2005 11:52:45
campo autonumerico pharaonhx MySQL 4 14-04-2005 21:13:50
campo autonumerico en interbase pharaonhx Firebird e Interbase 4 02-03-2005 19:25:51


La franja horaria es GMT +2. Ahora son las 10:50:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi