Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Historial en una Tabla...

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Historial en una Tabla... Responder citando

HOLA!!!

La situacion es la sgte:

Tengo una TTable al cual le tengo asignada una tabla de historial, la cual tiene 4 campos:

1) Consecutivo
2) Fecha
3) Diagnostico
4) Solucion

Y tengo un TEdit, 2 TMemo's, y 2TButton's. En el edit va la fecha, en un memo va el diagnostico, en otro memo va la solucion y los dos botones me van mostrando el siguiente registro del consecutivo a buscar.

Es decir, con el boton siguiente busca en la tabla historial por el consecutivo a buscar (Con TableX->Next), hasta encontrar un registro con el mismo consecutivo.

El problema es que con el boton "anterior", se me queda en un ciclo infinito al momento pinchar "anterior" cuando esta en el primer registro que sale el consecutivo.

Yo lo tengo asi:

{
int id=0;
int id2=0;
int enc=0;

id=EditX->Text.ToInt();

while (id!=id2)
{TableX->Prior();

id2=TableX->FieldValues["consecutivo"];

if(id==id2)
{enc=1;
}
}

if(enc==1)
{//aqui pongo que, una ves encontrado
el consecutivo, me muestre la fecha en
el edit, el diagnostico en un memo, y
la solucion en el otro memo.
}
}

Eso es lo que tengo. Se que esta mal pero no se que es.

GRACIAS!!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Esa me parece una manera algo complicada de localizar un registro,
el bucle seguira corriendo si nunca se igualan Id y Id2, esto es lo que puede estar sucediendo.

Prueba lo siguente:
Código:
TLocateOptions Opc;

TableX->Locate("Consecutivo", EditX->Text, Opc);


Funciona con cualquier tipo de DataSet aunque el campo de busqueda no este indexado
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

OK, pero lo si le doy TableX->Locate("cosecutivo", variable, lo) creo que no sigue con un registro que este mas adelante y que tenga el mismo consecutivo... eso creo...

Ahora el problema que me ataca es que como hago para devolverme en la tabla con un locate o con algo por el estilo...

Si alguien no ha entendido mi peticion porfavor haganmelo saber...

GRACIAS!!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.