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
  #21  
Antiguo 14-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
hola eficsa gracias por ponerle empeño para ver si me funciona pero hasta ahora me sigue duplicando los items ese codigo si lo quito aparece nombre todo osea
Código Delphi [-]
bebidas                          gaseosa
licores                            agua mineral
                                    cerveza
                                    vinos
                                    energizantes

ahora si lo vuelvo a poner sale asi

Código Delphi [-]
bebidas                          gaseosa
licores                            agua mineral
                                    cerveza
                                    vinos
                                    energizantes
                                    gaseosa
                                    agua mineral
                                    cerveza
                                    vinos
                                    energizantes
                                    gaseosa
                                    agua mineral
                                    cerveza
                                    vinos
                                    energizantes

alguna idea que haya hecho mal en mi programa para que no me filtre ?
gracias
Responder Con Cita
  #22  
Antiguo 15-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Rofocale.
Cita:
pero hasta ahora me sigue duplicando los items ese codigo
Con el código y los datos que te adjunte no es posible.

Como no me es viable enviarte el código de ejemplo con la BD de Firebird, tuve la ingrata tarea de pasarlo a Paradox .

Tál como esperaba funciona correctamente. Te va a servir para que puedas controlar los datos ingresados en las tablas, cosa que hasta
ahora no podías. Tal vez así puedas encontrar donde está el problema.

Para probarlo create una carpeta temporal, descomprimí el archivo .zip allí (fuentes y tablas), y ejecutalo.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-06-2011 a las 10:06:14.
Responder Con Cita
  #23  
Antiguo 15-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
eficsa debido a que no hice esto desde un principio no podia saber que era lo que fallaba... y lo que falla hasta ahora son los combobox de devexpress, los quite y puse los combobox normales y estos me filtran perfectamente...
a que se debera :S
Responder Con Cita
  #24  
Antiguo 15-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
una pregunta debido a este filtrado como te digo ahora funciona bien con los combobox normales me filtra los datos de mi base de datos..

ahora te explico es un formulario pequeño el que tengo donde lleno unos datos en unos edit sobre bebidas galletas etc.. de una tienda y mediante los combobox los selecciono por categorias y los guardo

ahora a la hora de si quiero modificar el articulo lo selecciono pongo modicar me muestra todos los datos en los edit a excepcion de los combobox
siempre aparecen en blanco alguna opcion para que tambien me aparecesa en los combobox al momento de recuperar los datos

bebidas gaseosa


?
gracias
Responder Con Cita
  #25  
Antiguo 15-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

En algún punto de tu código deberás indicarle al combo donde debe situarse, algo como:
Código Delphi [-]
  with ComboBox1 do
    ItemIndex:= Items.IndexOf(DataSet.FieldByName('CAMPO').AsString);

Nota: El ejemplo es para darte una idea como poner en el ComboBox el item actualmente seleccionado en un DataSet. Ignoro el nombre del DataSet y del campo; así como también la organización del código.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 15-05-2011 a las 21:42:58.
Responder Con Cita
  #26  
Antiguo 16-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
hola tambien lo hago similar

Código Delphi [-]
cmbCategorias.ItemIndex := cmbCategorias.Items.IndexOf(Trim(sCateg));

y funcionaba perfecto antes de que se filtrar
cuando todo estaba sin filtrar este al recuperar los datos se mostraban perfectamente..
ahora probando cada linea del filtrado

Código Delphi [-]
IBQuery1.Close;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.Add('SELECT C1.NOMBRE FROM UNIDADES C1, CATEGORIAS C2');
  IBQuery1.SQL.Add('WHERE NOMBRE2 = CCATEGORIAS AND NOMBRE2 =');
  IBQuery1.SQL.Add('(SELECT CCATEGORIAS FROM CATEGORIAS C2 WHERE C2.NOMBRE =:NOMB)');
  IBQuery1.ParamByName('NOMB').AsString:= cbCategorias.Text;
  IBQuery1.Open;
  cbUnidades.Clear; <------- justo esta linea al quitarla hace que ya no filtre y siga como siempre lo tenia y tambien me muestre la posicion perfecta de cada item guardado en el combobox

ahora con el filtrado no tengo mucha idea de como hacer que tambien se muestre la posicion guardada cuando lo recupero para modificarlo

gracias
Responder Con Cita
  #27  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
ahora con el filtrado no tengo mucha idea de como hacer que tambien se muestre la posicion guardada cuando lo recupero para modificarlo
Hola.

No entiendo muy bién la situación. Es decir no veo la relación de la consulta que hemos venido trantando que sólo te devuelve el campo NOMBRE de la tabla UNIDADES para llenar un ComboBox y la asignacion de los valores de los campos a los Edits.

Tal vez si explicaras un poco más como traes los datos para que sean asignados a los Edits y como realizás la modificación...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-05-2011 a las 00:22:19.
Responder Con Cita
  #28  
Antiguo 16-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
Código Delphi [-]
procedure TfrmArticulos.RecuperaDatosBusq;
var
    sCateg, sUnis: String;

begin
    iClave := dmDatos.cdsArticulos.FieldByName('Clave').AsInteger;

    with dmDatos.qryConsulta do begin
        Close;
        SQL.Clear;
        SQL.Add('SELECT o.codigo, a.desc_corta, a.desc_larga, a.precio1,');
        SQL.Add('a.existencia, a.clave,a.minimo, a.maximo,');
        SQL.Add('a.categoria,a.unidades, a.fecha_cap,');
        SQL.Add('a.estatus,a.fotosart, c.nombre AS categorias,');
        SQL.Add('d.nombre AS unidades FROM articulos a ');
        SQL.Add('LEFT JOIN codigos o ON a.clave = o.articulo AND o.tipo = ''P''');
        SQL.Add('LEFT JOIN categorias c ON a.categoria = c.clave ');
        SQL.Add('LEFT JOIN unidades d ON a.unidades = d.clave ');
        SQL.Add('WHERE a.clave = ' + IntToStr(iClave));
        Open;
        if(not Eof) then begin
            pgeGeneral.ActivePage := tabDatos;
            txtCodigo.Text := Trim(FieldByName('codigo').AsString);
            txtDescripCorta.Text := Trim(FieldByName('desc_corta').AsString);
            txtDescripLarga.Text := Trim(FieldByName('desc_larga').AsString);
            txtFechaCap.Text := FormatDateTime('dd/mm/yyyy',FieldByName('fecha_cap').AsDateTime);
            txtPrecio1.text  := FormatFloat('#,##0.00',FieldByName('precio1').AsFloat);
            txtExis.text := floattostr(FieldByName('existencia').AsFloat);
            txtMax.text := floattostr(FieldByName('maximo').AsFloat);
            txtmin.text := floattostr(FieldByName('minimo').AsFloat);

            if FieldByName('estatus').AsString ='A' then
                cmbEstatus.ItemIndex := 0
            else
                cmbEstatus.ItemIndex := 1;

            sUnis := BuscaNombre(FieldByName('unidades').AsInteger, 'unidades');
            sCateg := BuscaNombre(FieldByName('categoria').AsInteger, 'categorias');
            cmbUnidadTipo.ItemIndex := cmbUnidadTipo.Items.IndexOf(Trim(sUnis));
            cmbCategorias.ItemIndex := cmbCategorias.Items.IndexOf(Trim(sCateg));

            MaxMin;

        end;
    end;
end;

Código Delphi [-]
function TfrmArticulos.BuscaNombre(iValor:Integer; sTabla:string):String;
begin
     with dmDatos.qryModifica do begin
        Close;
        SQL.Clear;
        SQL.Add('SELECT nombre FROM ' + sTabla + ' WHERE clave = ' + IntToStr(iValor));
        Open;
        Result := FieldByName('nombre').AsString;
        Close;
     end;
end;

con esto recuperaba los edits y combobox..
ahora con el filtrado se recupera todos los edits normal pero los combobox no se muestra lo recuperado solo salen limpios.. como para seleccionar y elegir de nuevo.. aunque claro las posiciones estan guardadas solo que no se muestran..
si le quito el filtrado si se muestran normal
Responder Con Cita
  #29  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Supongo que podrías encapsular la carga de los combos dentro de un procedimiento:
Código Delphi [-]
// Filtrar los combos 
procedure TfrmArticulos.FiltrarComboBox;
begin
  IBQuery1.Close;
  IBQuery1.SQL.Clear;
  IBQuery1.SQL.Add('SELECT C1.NOMBRE FROM UNIDADES C1, CATEGORIAS C2');
  IBQuery1.SQL.Add('WHERE NOMBRE2 = CCATEGORIAS AND NOMBRE2 =');
  IBQuery1.SQL.Add('(SELECT CCATEGORIAS FROM CATEGORIAS C2 WHERE C2.NOMBRE =:NOMB)');
  IBQuery1.ParamByName('NOMB').AsString:= cbCategorias.Text;
  IBQuery1.Open;
  cbUnidades.Clear;
  while not IBQuery1.Eof do
  begin
    cbUnidades.Items.Add(IBQuery1.FieldByName('NOMBRE').AsString);
    IBQuery1.Next;
  end;
  cbUnidades.ItemIndex:= 0;
  IBQuery1.Close
end;

// Cargar los combos ( Ahora dentro de un procedimiento )
procedure TfrmArticulos.CargarComboBox;
begin
  IBQuery1.Close;
  IBQuery1.SQL.Text:= 'SELECT * FROM CATEGORIAS ORDER BY NOMBRE';
  IBQuery1.Open;
  while not IBQuery1.Eof do
  begin
    cbCategorias.Items.Add(IBQuery1.FieldByName('NOMBRE').AsString);
    IBQuery1.Next;
  end;
  cbCategorias.ItemIndex:= 0;
  IBQuery1.Close;
  IBQuery1.SQL.Text:= 'SELECT * FROM UNIDADES ORDER BY NOMBRE';
  IBQuery1.Open;
  while not IBQuery1.Eof do
  begin
    cbUnidades.Items.Add(IBQuery1.FieldByName('NOMBRE').AsString);
    IBQuery1.Next;
  end;
  cbUnidades.ItemIndex:= 0;
  IBQuery1.Close;
  FiltrarComboBox;
end;

// FormShow ahora quedaría así: 
procedure TfrmArticulos.FormShow(Sender: TObject);
begin
  CargarComboBox;
  FiltrarComboBox;
end;

Luego al principio del procedimiento RecuperaDatosBusq, podrías hacer:
Código Delphi [-]
procedure TfrmArticulos.RecuperaDatosBusq;
var
    sCateg, sUnis: String;

begin
  CagarComboBox;
  iClave := dmDatos.cdsArticulos.FieldByName('Clave').AsInteger;
  ...
Creo que debería funcionar. Pero vas a tener que probarlo vos, yo no tengo modo de comprobarlo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #30  
Antiguo 16-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
hola eficsa solo recupera el primer combobox el segundo el de unidades sale en blanco :S
Responder Con Cita
  #31  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Rofocale.

Con tanta ida y venida de código se me olvidó borrar una línea ...

Probá quitando la última línea de código del procedimiento CargarComboBox:
Código Delphi [-]
   FiltrarComboBox; // <- Eliminar

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-05-2011 a las 17:56:46.
Responder Con Cita
  #32  
Antiguo 16-05-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y yo pense que tenia paciencia.
Amigo, eres un santo (San ecfisa), lo que no aseguro es que seas virgen y mártir
Saludos
__________________
Siempre Novato
Responder Con Cita
  #33  
Antiguo 16-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
si le quito ya no filtra aparecen repetidos todos :S
Responder Con Cita
  #34  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Caral Ver Mensaje
Hola
Y yo pense que tenia paciencia.
Amigo, eres un santo (San ecfisa), lo que no aseguro es que seas virgen y mártir
Saludos
jajaja

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #35  
Antiguo 16-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Amigo Rofocale, creo que ahora vas a tener que empezar a hacer un seguimiento del código...

No quiero que me terminen canonizando (o peor aún ) ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #36  
Antiguo 17-05-2011
Rofocale Rofocale is offline
Miembro
 
Registrado: mar 2010
Posts: 182
Poder: 15
Rofocale Va por buen camino
caral entro y malogro mi aprovechamiento hacia ti jeje
gracias eficsa de todas maneras me ayudaste en lo que realmente queria que funcionara el filtrado con el codigo que me pusiste.. ya ire viendo que es lo que falla
gracias
Responder Con Cita
  #37  
Antiguo 17-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Rofocale.

En realidad no tiene nada que ver la intervención del amigo Caral, es que no puedo continuar con las pruebas ya que se involucran otras tablas y datos a los cuales obviamente no puedo acceder...

Y no hay problema por que nos aprovechen mientras tengamos un poco de tiempo libre, estamos aquí por gusto.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
ayuda con combobox mdcynsk PHP 2 21-10-2010 15:20:37
Curiosidad While anidado con ADO lpedrazzi Conexión con bases de datos 0 30-11-2007 15:04:54
Query Anidado Ricsato SQL 4 06-11-2006 21:58:26
Ayuda con ComboBox pecosita C++ Builder 2 17-09-2006 02:38:26
Select anidado erika.martinez SQL 2 02-02-2006 12:19:57


La franja horaria es GMT +2. Ahora son las 16:15:53.


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