Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-03-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Red face Problemas con un contador.

Tengo un campo llamado No_Factura, en un Formulario para procesar la transaccion de una factura, en realidad no se como hacer que cada vez que pulse el boton nuevo para elaborar otra factura, el campo No_Factura se incremente en 1 y asi sucesivamente.

Estoy trabajando con la base de datos de escritorio Paradox...

Atte. Utecyber
Responder Con Cita
  #2  
Antiguo 26-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No te sirve usar un campo autoinc?

// Saludos
Responder Con Cita
  #3  
Antiguo 29-03-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
La verdad roman .

Que es un Campo Autoinc?...

No se que es//

Atte.Utecyber
Responder Con Cita
  #4  
Antiguo 29-03-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Un campo Autoinc, es un tipo de campo que cuando ingresas un nuevo registro, este toma automáticamente un valor autoincremental, digamos tomará el valor + 1 del último registro.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 29-03-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tratándose de Paradox, te puedo decir por experiencia, que no utilices campos autoinc, para numerar facturas, seguro que el cliente en un momento dado quiere empezar por 1 el año próximo y el contador irá por donde le corresponda, además puede haber grabaciones fallidas y el contador tendría saltos.

Yo personalmente, con Paradox, utilizo una segunda tabla en donde guardo el número de la última factura, del útlimo albarán, etc...

Incluso pongo la opción que el usuario pueda modificarlo bien para comienzos de año o porque ha decidido eliminar una factura y quiere hacer otra en su lugar, yo utilizo un campo tipo texto.
04-0000001
04-0000002

El campo contador que guardo en la tabla auxiliar es de tipo numeríco, tengo otro campo en la auxiliar que se llama ejercicio, por ejemplo ahora estaría en 04 y con la concatenación del ejercicio + el número guardado +1 compongo el número de la factura.

Espero te sirva la idea.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 29-03-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Question

Gracias por tu aclaración Marcos, ..

En mi caso utilizo el Campo No_Factura en una tabla llamada Cabezera_Factura. y lo tengo declarado como un campo Numerico.

No obstante marcos, mi aplicación es sencilla, ya que este proyecto tengo que entregarlo a la universidad el cual estudio.Ing.Informatica.

Por eso e optado por utilizar un campo autoinc.

Ahora mi pregunta es

Como utilizo un campo Autoinc?

Atte.Utecyber.
Responder Con Cita
  #7  
Antiguo 29-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por UTECYBER
Como utilizo un campo Autoinc?
Pues no tienes que hacer nada especial. Cada vez que insertes un nuevo registro el campo será asignado de forma automática. Su valor lo lees como el de cualquier otro campo.

// Saludos
Responder Con Cita
  #8  
Antiguo 29-03-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Te entiendo perfectamente roman.

Pero este campo (Por Ej:Num_Factura) Yo lo tengo en la tabla Cabezera de factura como:Ej:

Nombre size tipo
No_Factura 8 Numerico *

ahora bien, como hago que sea autoinc? es decir que se incremente en uno cada vez que inserte un nuevo registro.

Atte.Utecyber
Responder Con Cita
  #9  
Antiguo 29-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Ah! Es que autoinc es un tipo de campo en sí. Debes redefinir la estructura de la tabla y seleccionar el tipo autoinc para el campo Num_Factura.

// Saludos
Responder Con Cita
  #10  
Antiguo 29-03-2004
UTECYBER UTECYBER is offline
Miembro
 
Registrado: ago 2003
Posts: 60
Poder: 21
UTECYBER Va por buen camino
Exacto,

Gracias Roman..

Definí la estructura de la tabla y seleccione el tipo autoinc, me funciono a la perfección.

Atte.Utecyber

Las grandes preguntas hacen la perfeccion.!
Responder Con Cita
  #11  
Antiguo 01-06-2004
simon simon is offline
Miembro
 
Registrado: jun 2004
Posts: 31
Poder: 0
simon Va por buen camino
Hola UTECYBE

no se si tiene repuesta de tu pregunda pero lo que quiere es un autoIncremento, el codigo es el siquiente.

procedure TFrm_Giros.Tbl_SolicitudDocumentoNewRecord(DataSet: TDataSet);
begin
if Tbl_SolicitudDocumento.State = dsInsert Then
Begin
Qry_Secuencia.Open;
Numero_Documento := Tbl_SolicitudDocumentoNumero_Documento.Value;
Tbl_SolicitudDocumentoNumero_Documento.Value := Qry_Secuencia.Fields[0].AsInteger + 1;
Qry_Secuencia.Close;
Responder Con Cita
  #12  
Antiguo 02-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Hola. Solo quiero acotar que el código sugerido por simon funcionará en aplicaciones monousuario, pero que no brinda seguridad en cuanto a la unicidad de las claves en aplicaciones multiusuario.

Por otro lado, creo que la duda de utecyber ya estaba resuelta antes. De cualquier forma hago la aclaración para quien encuentre el hilo por medio de la busqueda.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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


La franja horaria es GMT +2. Ahora son las 18:20:31.


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