Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 22
epuigdef Va por buen camino
El tema de crear nuevos campos en el resultado de la consulta no creo que te funcione.

Deberías hacerlo a mano, recorriendo los resultados y montando la grid desligada de la base de datos.

Algo así como:

En un Query montas la sentencia select * from tabla order by oficina

Creas una grid con 1 columna y 2 filas.

La idea es ir buscando la ruta en la grid, y si no está añadirla. Por esto montamos una función que devuelva la columna de la ruta, y cree la nueva columna si la ruta no está:

Código Delphi [-]
Function obtener_Columna(ruta : String) : Integer;

Var i , resultado: Intreger;

Begin

Resultado := -1;

For i :0 1 to Grid.ColCount – 1 do

If Grid[0, i] = ruta then resultado = i;

If resultado = -1 then //no está la ruta

Begin

Grid.ColCount := Grid.ColCount + 1;

Resultado := Grid.ColCount – 1;

Grid[0, resultado] := ruta;

End;

Obtener_columna := resultado;

End;


Y recorremos los resultados del query montando la tabla:

Código Delphi [-]
Var oficinaActual : Integer;

Fila, Columna : Integer;

OficinaActual := -1;

Fila := 1;

While not(query.eof) do

Begin

If (query.fieldByName(‘oficina’).AsInteger <> oficinaActual then //cambio de oficina

Begin

Grid.Rowcount := Grid.RowCount + 1;

Fila := Grid.RowCount – 1;

Grid[Fila, 0] := query.fieldByName(‘oficina’).AsString

OficinaActual := query.fieldByName(‘oficina’).AsInteger;

End;

Columna := obtener_Columna(query.fieldByName(‘ruta’).AsStirng);

Grid[Fila, Columna] := query.fieldByName(‘Ingreso’).AsString

Query.next;

End;

Ten en cuenta que el código lo he escrito directamente aquí, o sea que habrá algun error, pero la idea espero que te hays quedado clara.

Un saludo

Edu

Última edición por jmariano fecha: 23-09-2005 a las 13:06:58. Razón: Formateo del código usando las etiquetas [delphi]
Responder Con Cita
  #2  
Antiguo 23-09-2005
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
Thumbs up Gracias

Gracias lo voy a poner en practica
Responder Con Cita
  #3  
Antiguo 23-09-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Saludos

Revisa estos Hilos:
http://www.clubdelphi.com/foros/arch...ncias+cruzadas
http://www.clubdelphi.com/foros/showthread.php?t=17253
Especialmente este post: http://www.clubdelphi.com/foros/show...95&postcount=2

Creo que te pueden ayudar mucho
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 23-09-2005
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
Gracias

Gracias los voy a checar

Saludos
Responder Con Cita
  #5  
Antiguo 23-09-2005
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
Ayuda con SQL

Es muy útil sólo que en mi caso una oficina puede tener movimiento hasta en 500 rutas y tendria que poner fijos los numeros de las rutas para poder convertirlas a columnas y si en algún momento se da de alta otra ruta pues tendría que estar modificando el query.
Voy a utilizar esto combinado con tablas temporales para almacenar el movimiento de cada ruta.
Michismias gracias me ayudo un chorral como decimos por aca en el Norte.
Saludos
Responder Con Cita
  #6  
Antiguo 23-09-2005
Avatar de edgusano
edgusano edgusano is offline
Miembro
 
Registrado: abr 2004
Ubicación: Medellin Colombia
Posts: 180
Poder: 23
edgusano Va por buen camino
En que motor de base de datos quieres obtener los resultados que planteas?¿
__________________
Optimus Prime
Responder Con Cita
  #7  
Antiguo 23-09-2005
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
En SQL 2000


gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 22:35:48.


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