Jump to content


Photo

[RESUELTO] Merezco que me cuelguen de las orejas II


  • Please log in to reply
2 replies to this topic

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 02 April 2011 - 07:25 AM

Jóvenes, buen día...

Resulta que en éste hilo yo preguntaba sobre la creación de una tabla Paradox vía una matriz..., y ahora, requiero el complemento, es decir una vez creada la tabla, necesito crearle un índice que sea congruente con la tabla recién creada.

Sean tan amables de entenderme, que tiene MUCHOS años que no trabajo con Paradox. Agradeciendo de antemano.
  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1092 posts
  • LocationMurcia, España

Posted 02 April 2011 - 08:34 AM

Pues lo mas sencillo seria añadirle un campo "ID" donde pongas el orden de cada elemento en tu matriz, y luego crees un indice por ese campo y lo uses al hacer consultas por SQL (order by id). Como se crea un indice en paradox ya depende de los componenetes y esas cosas, la verdad, no te puedo ayudar mucho (yo tambien hace 15 años que no uso estas cosas).
  • 0

#3 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1750 posts
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Posted 04 April 2011 - 10:57 AM

Pues bueno, como parece que nadie tuvo la respuesta, me doy yo mismo la respuesta...  ;) :D



delphi
  1. procedure CrearArchivo;
  2.   var
  3.     sNmbrCmp, sHra, sNmbrTbl : string;
  4.     iIndc : integer;
  5.   begin
  6.     sHra := TimeToStr(Now);
  7.     sHra := LeftStr(sHra,2)+MidStr(sHra,4,2);
  8.     sNmbrTbl := 'lp' + IntToStr(DayOfTheYear(Now)) + sHra +'.db';
  9.  
  10.     with TTable.Create(nil) do
  11.     try
  12.       DatabaseName := 'EspecializadosTmp';
  13.       TableName := sNmbrTbl;
  14.       TableType := ttParadox;
  15.  
  16.       FieldDefs.Add('Grupo',ftString,20,True);
  17.       FieldDefs.Add('Codigo',ftString,6,True);
  18.       FieldDefs.Add('Descripcion',ftString, 50, False);
  19.       FieldDefs.Add('Longitud',ftFloat,0,False);
  20.  
  21.       for iIndc := 0 to chcklstboxAcbds.Items.Count -1 do
  22.       begin
  23.         if chcklstboxAcbds.Checked[iIndc] then
  24.         begin
  25.           sNmbrCmp := chcklstboxAcbds.Items.ValueFromIndex[iIndc];
  26.           FieldDefs.Add(sNmbrCmp,ftFloat,0,False);
  27.         end;
  28.       end;
  29.  
  30.       [b]IndexDefs.Add(sNmbrTbl,'Grupo;Codigo',[ixPrimary]);[/b]
  31.  
  32.       CreateTable;
  33.     finally
  34.       Free;
  35.     end;
  36.     tblTmprl.TableName := sNmbrTbl;
  37.     tblTmprl.Exclusive := True;
  38.     tblTmprl.Active := True;
  39.   end;



Nótese la línea IndexDefs, que es la que resuelve el hilo.
  • 0




IP.Board spam blocked by CleanTalk.