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 |
¿No te sirve usar un campo autoinc?
// Saludos |
La verdad roman .
Que es un Campo Autoinc?... No se que es// :confused: :( Atte.Utecyber |
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! |
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. |
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. :confused: |
Cita:
// Saludos |
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. :confused: Atte.Utecyber |
¡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 |
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.! |
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; |
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. ;) |
La franja horaria es GMT +2. Ahora son las 14:35:58. |
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