Ver Mensaje Individual
  #4  
Antiguo 16-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
bueno, esto es algo complicadillo de explicar (es queno me explico muy bien yo ), pero veamos si logro explicarlo

Tenemos 3 Edits y un RadioGroup. Según la selección del RG debemos seleccionar uno u otro Edit para sacar la consulta SQL. Bien, como te comentaba en el mensaje anterior, puedes hacerlo mediante la propiedad ItemIndex de éste

Código:
Qry_BusquedaRegistro.Close;
Qry_BusquedaRegistro.Prepared;
case RadioGroup1.ItemIndex of
  0 : Qry_BusquedaRegistro.Parameters.ParamByName('Numero_Documento').Value := DBEdit1.Text;
  1 : Qry_BusquedaRegistro.Parameters.ParamByName('Numero_Documento').Value := DBEdit2.Text;
  2 : Qry_BusquedaRegistro.Parameters.ParamByName('Numero_Documento').Value := DBEdit3.Text;
end;
Qry_BusquedaRegistro.Open;
if Qry_BusquedaRegistro.IsEmpty then
ShowMessage('El Numero de Registro No Existe');
Para el tema de devolver un registro... qué quieres, devolver todo el registro o sólo un campo de éste?
Dependiendo de lo que quieras hacer, puedes crear un TStringList y rellenarlo con todos los campos que quieras devolver (una linea por cada uno de ellos para facilitar su recuperación después) o bien tener una variable de tipo Variant a la que le asignas la columna que quieras devolver.
Tanto un método como el otro, las variables han de ser públicas de la pantalla de búsquedas para luego, desde el form llamador, acceder a ellas una vez cerrada la pantalla y antes de liberarla de memoria (con Free o como lo hagas).

Si quieres un ejemplo de todo este rollo, en mi web tienes el componente TDbSearchDialog que precisamente hace eso (montar unas querys, búsquedas según valores, ordenaciones y la posibilidad de devolver tantas columnas como se quieran). Por supuesto con código fuente para que lo puedas ojear (o cambiar si fuera el caso)

Pues nada, espero que esto te ayude
Responder Con Cita