Ver Mensaje Individual
  #7  
Antiguo 13-08-2015
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Para completar un poco...En Bases de datos Sqls, Al hacer un "tabla.insert", no se guarda al final de tabla. Esto se hace por eficiencia, no tiene sentido irse al final de la tabla para insertar y después volver a donde se estaba.
Se busca un hueco de un registro eliminado (por ejemplo) y se inserta allí mismo.


En Paradox y demás BBDD de escritorio, el "tabla.Append" sí lo inserta al final de la tabla. El "tabla.insert" lo hace donde pueda.

Te recomiendo usar un tZQuery de esos con el sql : "select codig from tabla order by codig" y que hagas una rutina que usarás más de lo que crees, sobre todo si la aplicación es multiusuario.
Código Delphi [-]
procedure CampoALista (campo, tabla : string; Lista : TStrings);
begin 
   {crear el zquery, asignar el transaction y base de datos}
   zqry.sql.text := Format ('select %s from %s order by %s', [campo, tabla, campo]);
   zqry.Open() ; // ya está en el primer registro.
   while not zqry.eof() do begin 
      lista.Add(zqry.FieldbyName(campo). asstring));
      zqry.next();
   end;
   zqry.Free();
end;

Ahora la puedes llamar:
Código Delphi [-]
Form1.combobox1.items.Clear;
CampoALista( 'codig', 'nombretabla', Form1.combobox1.items )

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita