Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
hacer filtro

hola que tal amigos, tengo una duda hice una form de busqueda de un articulo e hice un filtro cuando yo escribo lo que quiero buscar si me lo encuentra pero cuando le doy aceptar no me arroja ese articulo a la pantalla anterior osea pantalla maestro porque sera, mando mi codigo haber si alguien me ayuda gracias
Código Delphi [-]
 
procedure TFbusart.Edit1Change(Sender: TObject);
Var Filtro : string;
begin
if (edit1.Text <> '') then
begin
  ATArticulos.Filtered := false;
  if cbfiltro.Text = 'codigo' then filtro := 'cveart like '''+edit1.Text + '*'''
  else if cbfiltro.Text = 'Descripcion' then filtro := 'descripcion like '''+ edit1.Text + '*'''
  else if cbfiltro.Text = 'Linea' then filtro := 'linea like '''+ edit1.Text+ '*''';
  ATArticulos.Filter := Filtro;
  ATArticulos.Filtered := True
  end
  else ATArticulos.Filtered := false;
end;
 
procedure TFbusart.FormCreate(Sender: TObject);
begin
ATarticulos.Open
end;
 
procedure TFbusart.FormDestroy(Sender: TObject);
begin
ATArticulos.Close
end;
 
procedure TFbusart.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = vk_down then
dbgrid1.SetFocus;
end;
 
procedure TFbusart.btnaceptarClick(Sender: TObject);
begin
cveart:= ATArticuloscveart.AsString
end;
 
procedure TFbusart.btncancelaClick(Sender: TObject);
begin
cveart := '';
close;
end;
 
procedure TFbusart.DBGrid1DblClick(Sender: TObject);
begin
Btnaceptarclick(dbgrid1);
end;
end.

Última edición por marcoszorrilla fecha: 05-03-2008 a las 22:30:16.
Responder Con Cita
  #2  
Antiguo 05-03-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Solo debes hacer esto:

Código Delphi [-]
procedure TFbusart.Edit1Change(Sender: TObject);
Var Filtro : string;
begin
if (edit1.Text <> '') then
begin
  ATArticulos.Filtered := false;
  if cbfiltro.Text = 'codigo' then begin
        filtro := 'cveart like '''+edit1.Text + '*''';
        ATArticulos.Filter := Filtro;
       ATArticulos.Filtered := True;
      end;
  if cbfiltro.Text = 'Descripcion' then begin
        filtro := 'descripcion like '''+ edit1.Text + '*''';
       ATArticulos.Filter := Filtro; 
       ATArticulos.Filtered := True;
      end;
  if cbfiltro.Text = 'Linea' then begin
       filtro := 'linea like '''+ edit1.Text+ '*''';
      ATArticulos.Filter := Filtro;
      ATArticulos.Filtered := True;
     end;
  end
  else ATArticulos.Filtered := false;
Close;
end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 06-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

que tal amigo que tal ya le puse el codigo que pusiste y no queda hace lo mismo no me arroja nada que sera
Responder Con Cita
  #4  
Antiguo 06-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
quizas el problema este en la llamada, porq no colocas el codigo de donde lo llamas a ver que puede suceder.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 06-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
Filtro

de hecho tengo la form principal de clientes y la form de busqueda el codigo lo estoy poniendo en la form de busqueda adonde tengo el filtro ahi debe de ir supongo yo
Responder Con Cita
  #6  
Antiguo 06-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
Filtro

mira en la pantalla principal de articulos tengo este codigo para que be abra el otro form de busqueda

procedure TFarticul.BtnBuscarClick(Sender: TObject);
begin
Fbusart := TFbusart.Create(Self);
try
Fbusart.ShowModal;
finally
if fbusart.cve_art <> '' then
adoqarticulos.Locate('cveart',fbusart.cve_art,[]);
Fbusart.Free;
Responder Con Cita
  #7  
Antiguo 06-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
ok, estas bien, solo faltaria saber que esta devolviendo, coloca un break point en la linea if fbusart.cve_art <> '' then y fijate que valor toma el cve_art, avisa la respuesta para seguir aislando el problema
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 07-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

perdon por mi ingorancia pero como soy novato en esto apenas estoy agarrando la onda como inserto el break point gracias
Responder Con Cita
  #9  
Antiguo 07-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Parate sobre la linea y presiona el boton F5, cuando el programa ejecute esa linea se detendra, le das F8 para que pase a la siguiente linea y colocando el mouse encima veras que valor obtiene.

Recuerda que para obtener el valor de la variable debe ser despues de asignado.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #10  
Antiguo 07-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

que tal mira ya lo hice le precione la tecla f5 y dspues les precione la f8 y se ejecuto y me mando a la form principal donde se inician todas las forms y mando estos registros gracias

Thread Start: Thread ID: 3476. Process tienda.exe (3308)
Process Start: C:\produc\tienda.exe. Base Address: $00400000. Process tienda.exe (3308)
Module Load: tienda.exe. Has Debug Info. Base Address: $00400000. Process tienda.exe (3308)
Module Load: ntdll.dll. No Debug Info. Base Address: $7C910000. Process tienda.exe (3308)
Module Load: KERNEL32.dll. No Debug Info. Base Address: $7C800000. Process tienda.exe (3308)
Module Load: OLEAUT32.dll. No Debug Info. Base Address: $770F0000. Process tienda.exe (3308)
Module Load: ADVAPI32.dll. No Debug Info. Base Address: $77DA0000. Process tienda.exe (3308)
Module Load: RPCRT4.dll. No Debug Info. Base Address: $77E50000. Process tienda.exe (3308)
Module Load: Secur32.dll. No Debug Info. Base Address: $77FC0000. Process tienda.exe (3308)
Module Load: GDI32.dll. No Debug Info. Base Address: $77EF0000. Process tienda.exe (3308)
Module Load: USER32.dll. No Debug Info. Base Address: $7E390000. Process tienda.exe (3308)
Module Load: msvcrt.dll. No Debug Info. Base Address: $77BE0000. Process tienda.exe (3308)
Module Load: ole32.dll. No Debug Info. Base Address: $774B0000. Process tienda.exe (3308)
Module Load: MSIMG32.dll. No Debug Info. Base Address: $76330000. Process tienda.exe (3308)
Module Load: VERSION.dll. No Debug Info. Base Address: $77BD0000. Process tienda.exe (3308)
Module Load: COMCTL32.dll. No Debug Info. Base Address: $58C30000. Process tienda.exe (3308)
Module Load: IMM32.dll. No Debug Info. Base Address: $76340000. Process tienda.exe (3308)
Responder Con Cita
  #11  
Antiguo 07-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
obviamente eso no es lo que necesitabamos,

Donde se marco la linea roja, sobre que instruccion exactamente, colocala sobre la instruccion que viene luego del finally.

Otra mas:

lees el valor de esta variable: cve_art, y lo asignas a esta cveart := '';

Estoy casi seguro que ese es el detalle.
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #12  
Antiguo 07-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

se paro la franja roja en la instruccion de begin
en la form maestra donde inician todas las forms
begin
Application.Initialize;
Application.CreateForm(Tdatamodule1, datamodule1);
Application.CreateForm(TFprincipal, Fprincipal);
Application.CreateForm(TFarticul, Farticul);
Application.CreateForm(TFtempo, Ftempo);
Application.CreateForm(TFLinea, FLinea);
Application.CreateForm(TFsub, Fsub);
Application.CreateForm(TFClien, FClien);
Application.CreateForm(TFProv, FProv);
Application.CreateForm(TFCompras, FCompras);
Application.CreateForm(TFBProv, FBProv);
Application.CreateForm(TFinve, Finve);
Application.CreateForm(TFbusart, Fbusart);
Application.CreateForm(TFbuscaClie, FbuscaClie);
Application.CreateForm(TFUsuario, FUsuario);
Application.CreateForm(TFVende, FVende);
Application.Run;
Responder Con Cita
  #13  
Antiguo 07-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
revisa lo que te comentaba de las variables. creo que alli esta el problema
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #14  
Antiguo 07-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

no queda tu crees mira lo raro es que tengo en otro programa la funcion y si me lada te voy a pasar el codigo que tiene en la form principal de articulos

procedure TFProductos.BitBtn4Click(Sender: TObject);
begin
FBuscaArticulo:=TFBuscaArticulo.Create(self);
try
FBuscaArticulo.ShowModal;
finally
If FBuscaArticulo.Cod_Parte <> '' then
ADOQArticulos.Locate('CodParte',FBuscaArticulo.Cod_Parte,[]);
FBuscaArticulo.Free;
end;
end
;

en en la form que tiene el filtro esta asi

procedure TFBuscaArticulo.Edit1Change(Sender: TObject);
var Filtro : String;
begin
If (Edit1.Text <> '') then
begin
ATArticulos.Filtered := False;
If CBFiltro.Text = 'Código' then Filtro := 'CodParte Like '''+Edit1.Text + '*'''
else If CBFiltro.Text = 'Descripción' then Filtro := 'Descripcion Like '''+ Edit1.Text + '*'''
else If CBFiltro.Text = 'Categoría' then Filtro := 'Categoria Like '''+ Edit1.Text + '*''';
ATArticulos.Filter := Filtro;
ATArticulos.Filtered := True
end
else ATArticulos.Filtered := False;
end;
procedure TFBuscaArticulo.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
IF Key = VK_DOWN then
DbGrid1.SetFocus;
end;
procedure TFBuscaArticulo.BitBtn1Click(Sender: TObject);
begin
CodParte := ATArticulosCodParte.AsString;
Cod_Parte := ATArticulosCodParte.AsString;
Close;
end;
procedure TFBuscaArticulo.BitBtn2Click(Sender: TObject);
begin
CodParte := '';
Cod_Parte := '';
Close;
end;
procedure TFBuscaArticulo.DBGrid1DblClick(Sender: TObject);
begin
BitBtn1Click(DBGrid1);
end;
en donde no le entiendo es en los procedimientos que estan en rojo haber si me puedes esplicar el porque van asi y que funcion se lleva a cabo los que te marque en rojo este codigo en el otro programa si funciona bien
Responder Con Cita
  #15  
Antiguo 07-03-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Es porque tienes que declararlas como variables, eso es lo que sucede;

Código Delphi [-]
procedure TFBuscaArticulo.BitBtn1Click(Sender: TObject);
Var CodParte, Cod_Parte: string;
begin
   CodParte := ATArticulosCodParte.AsString;
   Cod_Parte := ATArticulosCodParte.AsString;
   Close;
end;
procedure TFBuscaArticulo.BitBtn2Click(Sender: TObject);
Var CodParte, Cod_Parte: string;
begin
    CodParte := '';
   Cod_Parte := '';   
   Close;
end;

y por favor trata de usar las etiquetas.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #16  
Antiguo 07-03-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Lo que te pasa es sencillo estas buscando en la variable cve_art, pero el valor se lo asignas a cveart, ves la diferencia no es la misma variable. Por eso una esta vacia y no te da el valor
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #17  
Antiguo 07-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

pues creeras que no queda algo me esta fallando y no m edoy cuenta ya hasat borre todo y lo volvi a escribir por si fue un teclaso y nada cuando le doy f9 el run me manda directamente a cve_Art el renglon q te puse en rojo

procedure TFbusart.btnaceptarClick(Sender: TObject);
var cveart, cve_art: string;
begin
cveart := ATArticuloscveart.AsString
cve_art := ATArticuloscveart.AsString
close;
end;
procedure TFbusart.btncancelaClick(Sender: TObject);
var cveart, cve_art: string;
begin
cveart := '';
cve_art := '';
end;

ya no se que hacer
Responder Con Cita
  #18  
Antiguo 07-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
procedure TFbusart.btnaceptarClick(Sender: TObject);
var cveart, cve_art: string;
begin
cveart := ATArticuloscveart.AsString;
cve_art := ATArticuloscveart.AsString;
close;
end;
procedure TFbusart.btncancelaClick(Sender: TObject);
var cveart, cve_art: string;
begin
cveart := '';
cve_art := '';
end;
Saludos
Responder Con Cita
  #19  
Antiguo 08-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

hola caral oye ya le puse todo el codigo como me lo escribes y nada siguen sin mandarme el codigo seleccionado a la pantalla maestro
Responder Con Cita
  #20  
Antiguo 08-03-2008
spia spia is offline
Miembro
 
Registrado: ago 2007
Posts: 35
Poder: 0
spia Va por buen camino
filtro

caral quieres q te pase el codigo de la form de articulos como esta y tambien la de la form donde esta el filtro porque ya lo rebise todo y lo volvi hacer y no agarra
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo puedo hacer un filtro booleano en paradox? Forest Tablas planas 8 24-05-2007 06:48:49
Mal filtro vicrati Conexión con bases de datos 2 11-04-2004 19:36:51
Como hacer un filtro con meses Ricsato Conexión con bases de datos 3 09-12-2003 14:07:16
Filtro manu Conexión con bases de datos 2 19-11-2003 15:36:57
Filtro y EOF javiermorales Conexión con bases de datos 2 07-10-2003 15:28:08


La franja horaria es GMT +2. Ahora son las 00:19:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi