Asunto: Registrar/Visualizar por orden de ingreso la bitacora
Tengo un Form1 donde selecciono el nivel de cargo y su contrañeña antes de ingresar al FormularioPrincipal, si es correcta la contraseña pues seguidamente coloco este codigo para que me registre el NomUsuario, FechaIngreso,HoraIngreso, etc...en cuanto la contrañesa sea correcta.
Tbitacora es donde si visualizará los usuarios que ingresaron al sistema, TBitacora tiene los campos como ser el codigobitacora 1, 2,3,4,...
DM.TBitacora.Last;
DM.Tbitacora.Edit;
DM.Tbitacora.Insert;
n:=DM.Tbitacora.RecordCount+1;
DM.Tbitacora['CodigoB']:=n;
DM.Tbitacora.FieldByName('CiB').AsInteger:=DM.Tusuario['CiUsuario'];
DM.Tbitacora.FieldByName('NomB').AsString:=DM.Tusuario['NomUsuario'];
DM.Tbitacora.FieldByName('ApePB').AsString:=DM.Tusuario['ApePU'];
DM.Tbitacora.FieldByName('NivelB').AsString:=DM.Tusuario['NivelU'];
DM.Tbitacora.FieldByName('Fec_Ingreso').AsDateTime:=Date;
DM.Tbitacora.FieldByName('Hr_Ingreso').AsDateTime:=Time;
DM.Tbitacora.FieldByName('CodigoU').AsString:=DM.Tusuario['CodigoU'];
Fprincipal.Show;
Luego ingreso al sistemaPrincipal normal....pero no me registra los datos en Tbitacora, solo se registra en cuanto ingreso a ese FormBitacora, sino no entrara a ver quienes ingresaron, no lo registra.
El codigo que puse para ver quienes ingresaron al sistema es
procedure TFprincipal.Bitacora1Click(Sender: TObject);
begin
Fbitacora.ShowModal;
end;
Si hago click para ver la bitacora, recien me actualiza y por otra parte me lo ordena por codigoBitacora 1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,24,25,26,27,28,29,3,30,31....4,40,41...5,6,7,8,9
Yo quisiera que me aparezca por orden de fecha ingreso, entonces use un Query(TBtablas), donde programe para que saliera en orden de fechaingreso, pero no me actualizaba, ni por mas que haga click en FormBitacora, por lo menos con Tbitacora al hacer click para ver este formbitacora me aparecia aunque sea en ese orde...
Publicado:
Dom Mar 21, 2010 6:34 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Registrar/Visualizar por orden de ingreso la bitacora
Anuncios
Siempre que hagas un "edit" o un "insert" tienes que hacer un "post" para guardar los datos, en tu caso, tras el:
Las otras dos líneas no son necesarias y no producen ningún efecto beneficioso, más bien el .Last puede que ralentice un poco el proceso. El .Insert ya deja el TBitacora en modo edición.
Publicado:
Mar Mar 23, 2010 11:57 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Registrar/Visualizar por orden de ingreso la bitacora
Anuncios
Otra recomendación, si me la permites, aunque no es imprescindible, es que la línea:
Código:
n := DM.Tbitacora.RecordCount + 1;
La sustituyas por una función que ejecute una consulta SQL del tipo:
Código:
function obtenerNumeroSiguiente () : integer;
begin
DM.TConsulta.Close;
DM.TConsulta.SQL.Clear;
DM.TConsulta.SQL.Add ('select count(*) NumReg from bitacora');
try
DM.TConsulta.Open;
Result := DM.TConsulta.FieldByName('NumReg').AsInteger + 1;
DM.TConsulta.Close;
except
Result := -1;
raise;
end;
end;
Hola!
Le cuento que coloqué la Funcion, pero me desconocia algunos campos de Bitacora. Lo que hice fue realizar una consulta solo de seleccion y relacionarla al DBGrid por medio de su DataSource y coloque el sigte codigo antes de visualizar o hacer click para ver el FormBitacora:
Código:
Q.QB.Close;
Q.QB.SQL.Add ('select * from BDbitacora Order by Fec_Ingreso,Hr_Ingreso');
Q.QB.Open;
Fbitacora.ShowModal;
Me Registra en orden y sin problema.
Graciaaaaaaaass!!!
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A