Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 30-10-2017
wilcg wilcg is offline
Miembro
 
Registrado: abr 2014
Posts: 107
Poder: 11
wilcg Va por buen camino
Hola The Cid James,
quizas te sirva esto, yo uso un autoincremental de esta manera y al mismo tiempo le indico de que numero iniciar y
podras manejar el ID a tu antojo, solo haz como te indico y pruebalo y analizalo si te sirve luego lo personalizas
a tu agrado.

te menciono que uso componentes UniDac, creo que no va haber diferencias con otros componentes.

Necesitaras un Query y renombralo como Generador, vas al Fields Editor -> New Field -> en
Name -> dale un nombre ID
Type -> indica el tipo de campo a INTEGER
Component -> teva a generar un nombre algo asi GeneradorID

luego usa esta FUNCION

Código Delphi [-]
function GenerarID( tTabla, tCampoId :string; tNum :integer): Integer;
var
  NCodigo: Integer;
begin
  with Generador do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT MAX(' + tCampoId );
    SQL.Add(') AS ID FROM ' + tTabla );
    Open;
    NCodigo := GeneradorID.AsInteger;
    if NCodigo = 0 then
      Result := tNum
    else
      Result := NCodigo + 1;
    Close;
    Active := False;
  end;

  {
   USO:   GenerarID( 'clientes','id_cliente',3001);

  ejemplo
  GenerarID( 'clientes',  //Nombre de la tabla
    'id_cliente',  //Nombre del campo a incrementar, tiene que ser numerico, etc
    3001    //Aca le indicas de que numero quieres que inicie por primera vez
    );
  }
end;

NOTA: probado en PostgreSQL y Acces. en SQLite no va hay que adaptarla.
mas claro imposible...
Responder Con Cita
 



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
Problemas con autoincremental The Cid James Varios 7 27-10-2017 02:34:59
Trigger autoincremental mjjj SQL 1 24-09-2008 01:55:45
campo autoincremental Jheysson13 Varios 8 13-12-2006 22:35:34
Autoincremental Firebird Puche Firebird e Interbase 3 05-08-2006 15:51:10
Modificar AutoIncremental tarco35 Conexión con bases de datos 6 12-04-2005 20:06:23


La franja horaria es GMT +2. Ahora son las 09:14:04.


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