Buenas tardes ante todo reciba mi mas cordial saludo, mi problema es le siguiente he tratado de crear una sentencia que me cre un numero autonumerico para una factura es decir que cuando yo entre al formulario este me muestre el numero actual a prpocesar es decir 000000 al nnnnn.
ejemplo: el correlatico de una factura nº 00000001 y asi susecivamente este se valla incrementando.
gracias y espero su ayuda
Crear Un Valor Autonumerico
Objetivo: Re: Crear Un Valor Autonumerico
última edición por abarzuaf el Sabado, 12 Junio 2010, 01:50; editado 3 veces
Hola.
Puedes utilizar el componente settings.
Crea un nuevo proyecto y selecciona "Gestión de archivos de configuración".
Crea un archivo llamado nombredemiaplicacion.conf y guardalo en la siguiente ruta:(La carpeta .config puede llamarse .conf en tu distribución)
Ejemplo.
/home/minombre/.config/gambas/nombredemiaplicacion.conf
Dentro del archivo de texto. tienes que agregar lo siguiente, para que lo reconozca por primera vez.
[correlativo]
serial="0"
Agrega un Textbox en el formulario y agrega el siguiente codigo:
Saludos
Puedes utilizar el componente settings.
Crea un nuevo proyecto y selecciona "Gestión de archivos de configuración".
Crea un archivo llamado nombredemiaplicacion.conf y guardalo en la siguiente ruta:(La carpeta .config puede llamarse .conf en tu distribución)
Ejemplo.
/home/minombre/.config/gambas/nombredemiaplicacion.conf
Dentro del archivo de texto. tienes que agregar lo siguiente, para que lo reconozca por primera vez.
[correlativo]
serial="0"
Agrega un Textbox en el formulario y agrega el siguiente codigo:
' gambas class file
PRIVATE nuevoSerial AS Integer
PUBLIC SUB Form_Open()
IF Exist(Settings.Path &/ Application.Name & ".conf") THEN
nuevoSerial = 1 + Val(Settings["correlativo/serie"])
TextBox1.Text = Str(nuevoSerial)
END IF
END
PUBLIC SUB Form_Close()
IF Exist(Settings.Path &/ Application.Name & ".conf") THEN
Settings["correlativo/serie"] = Str(nuevoSerial)
END IF
END
PRIVATE nuevoSerial AS Integer
PUBLIC SUB Form_Open()
IF Exist(Settings.Path &/ Application.Name & ".conf") THEN
nuevoSerial = 1 + Val(Settings["correlativo/serie"])
TextBox1.Text = Str(nuevoSerial)
END IF
END
PUBLIC SUB Form_Close()
IF Exist(Settings.Path &/ Application.Name & ".conf") THEN
Settings["correlativo/serie"] = Str(nuevoSerial)
END IF
END
Saludos
última edición por abarzuaf el Sabado, 12 Junio 2010, 01:50; editado 3 veces
Objetivo: Re: Crear Un Valor Autonumerico
Para crear Id "unico e irrepetible", yo utilizo una variable string y le asigno el valor de fecha/hora actual, de la siguiente manera:
El Idalbaran[n] quedara como sigue: "Id26/04/2010 19:40:41"
Quizas no es un metodo muy ortodoxo la forma de hacerlo, pero me aseguro que cuando creo una nuevo registro, su ID es distinto al anterior (a menos que introduzca datos en menos de un segundo.... por ejemplo cuando leo unos datos de un archivo (no de una entrada manual) y los voy añadiendo, al array, utilizo la siguiente expresion:
Al leer el ordendor los datos en menos de un segundo, el valor diferencia el Id:
"Id26/04/2010 19:40:411" (en el mismo segundo)
"Id26/04/2010 19:40:412" (en el mismo segundo)
"Id26/04/2010 19:40:413" (en el mismo segundo)
pasa un segundo...
"Id26/04/2010 19:40:424"
Espero que te sirva...
Un saludo
Julio
El Idalbaran[n] quedara como sigue: "Id26/04/2010 19:40:41"
Quizas no es un metodo muy ortodoxo la forma de hacerlo, pero me aseguro que cuando creo una nuevo registro, su ID es distinto al anterior (a menos que introduzca datos en menos de un segundo.... por ejemplo cuando leo unos datos de un archivo (no de una entrada manual) y los voy añadiendo, al array, utilizo la siguiente expresion:
Al leer el ordendor los datos en menos de un segundo, el valor diferencia el Id:
"Id26/04/2010 19:40:411" (en el mismo segundo)
"Id26/04/2010 19:40:412" (en el mismo segundo)
"Id26/04/2010 19:40:413" (en el mismo segundo)
pasa un segundo...
"Id26/04/2010 19:40:424"
Espero que te sirva...
Un saludo
Julio
Objetivo: Re: Crear Un Valor Autonumerico
Hola, colega.
Por lo leido, es de suponer que las facturas deberian estar grabadas en un fichero Base de Datos. Normalmente, hablo por lo que conozco de MySql y Sqlite3, tienes una forma de declarar un campo que habitualmente es la clave, mediante la clausula AUTOINCREMENT y cuando grabas el registro, a este campo le das valor NULL, con lo que se grabara el ultimo mas 1 automaticamente. Si lo quieres decidir tu, puedes consultar la B.D. con un result que te facilite el valor maximo de ese campo y arrastrar el incremento manualmente y si eso no te vale, en Sqlite3 (no se como sacarlo en MySql) existe un valor OID que es el registro de orden en la consulta SELECT realizada y siempre sera distinto, mucho cuidadito con el valor OID.
Un saludo
Por lo leido, es de suponer que las facturas deberian estar grabadas en un fichero Base de Datos. Normalmente, hablo por lo que conozco de MySql y Sqlite3, tienes una forma de declarar un campo que habitualmente es la clave, mediante la clausula AUTOINCREMENT y cuando grabas el registro, a este campo le das valor NULL, con lo que se grabara el ultimo mas 1 automaticamente. Si lo quieres decidir tu, puedes consultar la B.D. con un result que te facilite el valor maximo de ese campo y arrastrar el incremento manualmente y si eso no te vale, en Sqlite3 (no se como sacarlo en MySql) existe un valor OID que es el registro de orden en la consulta SELECT realizada y siempre sera distinto, mucho cuidadito con el valor OID.
Un saludo
Página 1 de 1
No puede crear mensajesNo puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario
Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.
Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo
Página generada en:: 0.408s (PHP: -77% SQL: 177%)
Consultas SQL: 45 - Debug off - GZIP Activado