Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Listado con Access (https://www.clubdelphi.com/foros/showthread.php?t=73658)

elturu15 08-05-2011 05:44:13

Listado con Access
 
Hola como anda? necesito ayuda urgente jajaj...tengo el sigiente problema...tengo que hacer un listado usando delphi7 y access y tengo que listr a las Provincias con sus Ciudades y para eso hago el sigiente selec
Código Delphi [-]
ADOQuery1.SQL.Text:='SELECT Clave,Nombre,Nombre_Ciudad,Codigo_Postal  FROM Provincias LEFT JOIN Ciudades ON (Provincias.Clave = Ciudades.Clave_Provincia)  WHERE clave between '+ clave1 +' and '+ clave2 +' order by Clave';
y el problema que tengo es que al mostrarlo me aparese

Provincia: LA PAMPA
Clave: 00
Ciudad: SANTA ROSA
------------------------------------
Provincia: LA PAMPA
Clave: 00
Ciudad: GENERAL PICIO
------------------------------------
Provincia: LA PAMPA
Clave: 00
Ciudad:MIGEL RIGLOS

a esto lo muestro en un listbox y aca viene la pregunta...COMO HAGO PARA QUE ME APARESCA EL NOMBREDE LA PROVINCIA UNA SOLA VES Y DEBAJO TODAS LAS CIUDADES??
ES DECIR DE ESTA FORMA::

Provincia: LA PAMPA

Ciudad: SANTA ROSA

Ciudad: GENERAL PICIO

Ciudad:MIGEL RIGLOS


AYUDA PLISSSSS!!!

oscarac 08-05-2011 07:10:35

quieres generar un listado (Reporte) o solo mostrarlo en un Listbox?

elturu15 08-05-2011 13:37:52

Solo lo quiero mostrar en ListBox...todo el codigo es este :
Código Delphi [-]
Begin
ListBox1.Clear;
 Clave2:=ComboBox1.Text;
 Clave1:=ComboBox2.Text;
   If (Clave1>='00') and (Clave1<='99') and (Clave2>='00') and (Clave2<='99')Then
     Begin
       ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Text:='SELECT Clave,Nombre,Nombre_Ciudad,Codigo_Postal  FROM Provincias LEFT JOIN Ciudades ON (Provincias.Clave = Ciudades.Clave_Provincia)  WHERE clave between '+ clave1 +' and '+ clave2 +' order by Clave';
       ADOQuery1.Open;
       AdoQuery1.First; // nos posicionamos en el primer registro
       ADOQuery1.Active:=true;
         While not ADOQuery1.EOF do
           Begin
    {Clave3:=ADOQuery1.Fields[0].AsString;
                   Clave4:=StrToInt(clave3);
                   ListBox1.Items.Add('Clave de Provincia : '+FormatFloat('00',Clave4));
                   ListBox1.Items.Add('Nombre de Provincia : ' + ADOQuery1.Fields[1].AsString);
                   ListBox1.Items.Add('Nombre de Ciudad :' + ADOQuery1.Fields[2].AsString);
                   //ListBox1.Items.Add('Codigo Postal :' +ADOQuery1.Fields[3].AsString;);
                   ListBox1.Items.Add('----------------------------');
                   ADOQuery1.Next;
                End;

oscarac 09-05-2011 03:41:08

Se me ocurre una cosa

en query ordenalo por Provincia y cuando lo tengas recorres las provincias (y susu ciudades) y lo vas agregando al combo...
quiza eso te pueda ayudar


La franja horaria es GMT +2. Ahora son las 15:47:40.

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