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 13-09-2004
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
Cómo cambiar, desde Delphi, el próximo valor que tiene que dar un autogenerador

Hola,

Estoy trabajando con Delphi 6 e interbase 7.

Dentro de mi aplicación tengo un autogenerador que algunas veces, puedo necesitar que por ejemplo, en vez de darme el valor 8, me de el 10 y sigua dando valores a partir de este. El caso es que necesito que esto lo pueda gestionar la persona encargada, sin acceder a base de datos, esto es, que pueda hacerlo directamente, desde el propio programa, de modo que no tenga que pedir el cambio cada vez que lo necesite, al administrador de bases de datos, por una cuestión de rapidez.

Hay alguna manera de gestionar esto?

Muchas gracias a todos, por la ayuda de ante mano.

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #2  
Antiguo 13-09-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

La solución pasa por indicarle un incremento distinto al 1 al generador (incluso puedes pasarle un incremento negativo).

Por ejemplo, para pasar el generador del 8 al 10, haces previamente un gen_id(generador, 2).

En concreto tienes que hacer un gen_id(generado, nuevo_valor - valor_actual).

Lo cual, en una consulta parametrizada podria ser algo como :

select gen_id(generador, :valor - gen_id(generador, 0)) from rdb$database

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 17-09-2004
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
Hola guillotmarc,

Lo primero disculpa que no haya visto el mensaje hasta hoy, pero estos dias he estado sin internet.

Bueno, lo que tu me dices está muy bien si la persona que tiene que hacerlo tiene las ideas claras, pero es que estaba acostumbrada a ver el valor que había en un campo, y a escribir el siguiente o dos posteriores, dependiendo de lo que necesitase. Ese autogenerador devuelve el numero de recibo para los cobros. El caso es que necesitaría que esta persona pudiera ver el que esta actualmente, para saber cual es el último recibo que se ha expedido, para a partir de ahí poner el valor del próximo. Por ejemplo, a inicios de año tiene que cambiar totalmente la numeración de los recibos para el nuevo año, y no sería tan sencillo como sumar o restarle al generador, sino que pueda asignarle el valor que sea, puediendo ver el que había previamente.

No se si esto es factible, ni si me he explicado con claridad.

En cualquier caso, gracias, por la ayuda.

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #4  
Antiguo 17-09-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 Virginia.

Date cuenta que con el método expuesto por marc, podes dejarle a la persona introducir cualquier valor deseado, y luego pasarlo en el parámetro valor a la sentencia indicada por marc.

Para obtener el valor actual del generador, basta llamarlo con gen_id(generador, 0), tal como se ilustra también en el mismo ejemplo.

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
  #5  
Antiguo 20-09-2004
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
Bueno, supongo que tienes razón, voy a ver como hago con esto que me decis.

GRacias,

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
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 00:08:44.


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