PDA

Ver la Versión Completa : Ayuda con DBgrid pleaseeeee


pabliyo
24-12-2007, 11:13:41
Hola!

Tengo un DBgrid con varias columnas, una de ellas es el nombre de alumnos (nombre completo con apellidos), tengo tambien un boton para buscar dichos alumnos, pero lo que yo quiero es buscarlos por el apellido y no tener que poner el nombre entero con sus dos apellidos........no se si me explico. tampoco se si se puede hacer de esta forma, asique estaría agradecido si me echais un cable

PD:no seais muy duros conmigo que estoy empezando con esto de delphi!!

saludos

Palmiro
24-12-2007, 11:55:53
Hola... Creo haber entendido lo que estas preguntando...
No es para reclamarte nada, pero la consultas que estas haciendo es muy facil de encontrarla en el foro, ya que muchos antes que vos la hicieron, ademas encontras la respuesta mas rapido y no debes esperar a que alguien te conteste...

Si es lo que entendi que pides, a ver si esto te sirve:



procedure TfrmPersonasGestion.cmdBuscarClick(Sender: TObject);
begin
if txtBuscarApellido.Text <> '' then
begin
if rdbApellido.Checked then
begin
dsPersonas.DataSet.Filter:= 'PerApe like ' + chr(39)+ txtBuscarApellido.Text+'*'+chr(39);
dsPersonas.DataSet.Filtered:= True;
end
else
if rdbNombre.Checked then
begin
dsPersonas.DataSet.Filter:= 'PerNom like ' + chr(39)+ txtBuscarApellido.Text+'*'+chr(39);
dsPersonas.DataSet.Filtered:= True;
end;
end
else
dsPersonas.DataSet.Filtered:= False;
lblRegistro.Caption:= 'Registro ' + IntToStr(dsPersonas.DataSet.RecNo) +' de ' + IntToStr(dsPersonas.DataSet.RecordCount);
end;





Bueno espero poder ayudado con tu duda...
Quizas no sea el mejor codigo pero funciona.... te propongo a que lo mejores..

pabliyo
26-12-2007, 16:59:42
Creo que no has entendido lo que pretendo hacer, intentare ser más claro. Tengo un DBGrid con varias columnas entre ellas la columna USUARIO en donde se guarda el nombre completo del usuario (nombre completo = nombre+apellido1+apellido2), ejemplo: Paco Martinez Sanchez. Lo que pretendo es filtrar dicha tabla con el primer apellido. Para filtrar tengo un TEdit para introducir el apellido y un boton filtrar y que me salga en la tabla solo el usuario/s con apellido Martinez. El problema es que tengo guardado el nombre completo en una columna, si guardara el nombre en una columna y los apellido en otras dos columnas seria mas facil, pero pretenmdo hacerlo de este modo.

un saludo

Alejandro73
26-12-2007, 22:58:52
Hola

Creo que lo que trataron de explicar mas arriba es esto

IF @tipo=0
BEGIN
SELECT *
FROM Persona
WHERE (Persona.Apellido_Paterno Like '%'+ @apaterno+'%')
Order By Nombres, Apellido_Paterno, Apellido_Materno
END
ELSE
BEGIN
SELECT *
FROM Persona
WHERE (Persona.identificacion_persona Like @apaterno+'%')
Order By Nombres, Apellido_Paterno, Apellido_Materno
END

El Like te permite buscar por subcadenas entonces si tienes el nombre y los dos apellidos puedes utilizar esto, digitando en el edit parte del apellido a buscar se filtraran estos, luego es cosa solo de mostrarlos, recuerda que tienes asociado al DBGrid una consulta.

Saludos

Alejandro
Valparaiso - CHILE