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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2007
Avatar de megaredoxk
megaredoxk megaredoxk is offline
Miembro
 
Registrado: Nov 2007
Posts: 40
Poder: 0
megaredoxk Va por buen camino
Thumbs up Generar Còdigos automaticamente

un saludo muy especial compañeros del club delphi.
tengo un problemita y espero su grata ayuda.utilizo delphi6 y paradox7

tengo una tabla de inventario, Codigo/Producto/Cantidad/Costo/Valor, en la cual voy digitando los productos que tengo para la venta,lo que quiero es que el codigo se genere automaticamente, ya diseñé otra tabla llamada consecutivo donde tengo el campo Codigo_Inv el cual va almacenando el codigo anterior y lo incrementa en uno, este consejo lo leí de un foro que encontré
pero no se realizar el código fuente??????
es mejor tener otra tabla para generar el consecutivo de codigo?????

ya estube observando en otros foros pero no encuentro la respuesta.

de antemano les agradezco mucho
Responder Con Cita
  #2  
Antiguo 05-12-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: Aug 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 19
eduarcol Va por buen camino
yo utilizo una funcion para leer el correlativo cada vez que lo necesito, es esta

Código Delphi [-]
function TobRutinas.LeerCorrelativo(Campo, Accion: String; T: tTable: String;
Var
   nReintento: Integer;
   Reg: TRegistry;
   cOR: String;
begin
   //Toma la ruta real de lo datos
   nReintento := 1;
   //Lee el correlativo correspondiente al campo indicado
   if not T.Active then T.Active := True;
   T.First;
   Result := T.FieldByName(Campo).AsString;
   T.Edit;
   if Accion = 'I' then T.FieldByName(Campo).AsInteger := T.FieldByName(Campo).AsInteger + 1
   else if Accion = 'D' then T.FieldByName(Campo).AsInteger := T.FieldByName(Campo).AsInteger - 1;
   T.Post;
end;

tiene unas modificaciones de la original, la cual para poder utilizar debes tener la libreria, BDEUtil, he aqui la original

Código Delphi [-]
function TobRutinas.LeerCorrelativo(Campo, Accion: String): String;
Var
   T: tTable;
   nReintento: Integer;
begin
   //Toma la ruta real de lo datos
   T := tTable.Create(Application);
   try
      nReintento := 1;
      if AbrirTablas(T, cCorrelativo, cCorrelativo_I1) then
      begin
         //Lee el correlativo correspondiente al campo indicado
         Result := StrtoZero(T.FieldByName(Campo).AsString, 12);
         EditarRegistro(T);
         if Accion = 'I' then T.FieldByName(Campo).AsInteger := T.FieldByName(Campo).AsInteger + 1
         else if Accion = 'D' then T.FieldByName(Campo).AsInteger := T.FieldByName(Campo).AsInteger - 1;
         While nReintento < 10 do
         begin
            if GrabarsinMensaje(T) then nReintento := 10
            else nReintento := nReintento + 1;
         end;
      end;
   finally
      FreeandNil(T);
   end;
end;
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #3  
Antiguo 05-12-2007
Avatar de megaredoxk
megaredoxk megaredoxk is offline
Miembro
 
Registrado: Nov 2007
Posts: 40
Poder: 0
megaredoxk Va por buen camino
Thumbs up me puedes explicar un poco

Eduarcol gracias por ayudarme, pero serà que me puedes explicar un poco ya que soy novato lo que me alcanzo ha imaginar es que al momento de dar clic en el boton nuevo en la tabla me genere el còdigo del nuevo producto a ingresar, tu utilizas nuevas variables y me das a entender otro trozo de còdigo que lo estipulas como original.

muchas gracias Eduarcol por tu pronta respuesta
Responder Con Cita
  #4  
Antiguo 05-12-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: Aug 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 19
eduarcol Va por buen camino
vamos a dejarlo sencillo, utiliza el "Primer trozo de codigo".

Colocalo donde lo necesites, y el click del boton:

Código Delphi [-]
MiCorrelativo := LeerCorrelativo('elcampo', 'I', tbCorrelativo);

Donde:

elcampo= El campo que tienes en la tabla de correlativo
tbCorrelativo= La tabla que guarda los correlativos(EL dataset que lo conecta)
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Instalar automaticamente JULIPO MySQL 2 15-11-2007 22:20:19
Generar automaticamente número de factura efelix OOP 3 03-04-2007 19:28:20
Generar codigos de barras maravert Conexión con bases de datos 3 14-05-2006 20:04:43
cerrar automáticamente emiliu Varios 5 27-11-2005 17:37:12
Codigos de barras en Prendas de ropa ¿Generar Propios? jealousy Varios 3 17-09-2003 06:13:19


La franja horaria es GMT +2. Ahora son las 00:10:07.


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