Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
conectar un grid o un db grid a un query

buenas chicos necesito que en un gridme muestre determinada informacion, para lo cual utilizo el siguiente codigo:

Código Delphi [-]
b:=combobox1.Text;
     a:=combobox1.Items.IndexOf(b)+1;
     fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
     fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
     query1.Close;
     query1.SQL.Clear;
     query1.SQL.Add('select fecha from ciber');
     query1.SQL.Add(' where fecha between :Fechain and :Fechafin');
     query1.ParamByName('Fechain').Value:=fecha1;
     query1.ParamByName('Fechafin').Value:=fecha2;
     query1.Open;

perdon si los molesto, agradezco toda ayuda que me brinden, que Dios los Bendiga
Responder Con Cita
  #2  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Perdon pero no entiendo.
Lo que entiendo:
1-tienes un combobox
2-este aparentemente contiene parte de la informacion de una fecha.
3-haces un query y muestras una infromacion que se filtra en base a el combobox y los parametros.
Pregunto:
Cual es el problema, el dbgrid supongo que contendra la infromacion del query?, en este caso unicamente la fecha.
Perdon douglas, soy tan novato o mas que tu, no entiendo lo que quieres.
Tal vez si lo explicas un poco mas?
Saludos
Responder Con Cita
  #3  
Antiguo 31-10-2007
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
si pudieras explicar un poco mejor lo que necesitas mostrar en el grido y las condiciones que se deben cumplir para que muestre los datos sería un poco mas fácil ayudarte
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #4  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
caral mil gracias por responder.

el combobox me sirve para determinar el mes que quieren ver en el grid, lo que me devuelve el query es el numero de mes el cual me sirve para complementar la fecha, la cual va del dia 1 al 31, es esta bien,

lo que necesito es, saber como hacer que esa condicion se aplique al grid, como puedo hacerlo, perdon que te ponga en tantas molestias.

lo que necesito es enviar al grid la fecha del primer dia del mes al ultimo dia del mes y que por medio del combobox, elijan el mes que desean ver

Última edición por douglas fecha: 31-10-2007 a las 03:10:59.
Responder Con Cita
  #5  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
douglas, perdona que te insista, no lo entiendo y de verdad perdona pero me parece algo rara tu pregunta.
Veamos:
Tienes un query, el que contiene la informacion filtrada en base a una fecha.
Este devuelve el numero de mes.
Que quieres que te Muestre el dbgrid?
para mi lo que mostraria seria eso, el numero del mes, que mas?.
Que es lo que quieres hacer, que en vez del combobox uses un dbgrid?
Que la informacion se muestre en el dbgrid?.
Que?
Perdona, soy muy lento.
Saludos
Responder Con Cita
  #6  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
no perdon que te ponga en estas, mira la situacion es que en la tabla hay almacenados, la fecha, el costo, el impuesto, la gancia diaria de un ciber.

lo que deseo hacer es que al escoger el usuario el mes en el combobox, me despliegue en el grid la informacion de ese mes.

en serio me da mucha pena contigo molestarte tanto.
Responder Con Cita
  #7  
Antiguo 31-10-2007
Avatar de HenryAraniva
HenryAraniva HenryAraniva is offline
Miembro
 
Registrado: jun 2005
Ubicación: El Salvador
Posts: 44
Poder: 0
HenryAraniva Va por buen camino
ok. creo que ya entendi un poco, lo que podrías hacer es usar un dbgrid, un datasource y el query. y en el evento onchage del combobox podrías poner
b:=combobox1.Text;
a:=combobox1.Items.IndexOf(b)+1;
fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from ciber where fecha between'+fecha1+' and '+Fecha2);
query1.Open;
__________________
Cuando la única herramienta es un martillo todos los problemas tienen cara de clavo
Responder Con Cita
  #8  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
El ejemplo de HenryAraniva, esta muy interesante.
En el wiki del club he puesto varios ejemplos entre ellos uno que filtra con combobox y dbgrid, se que usas paradox, estos estan en access, pero te daran mucha idea de como hacerlo.
Si despues de verlo continuas con la duda, la trataremos de resolver, te parece?.
Nota: Los ejemplos tienen la base de datos.
Saludos
Responder Con Cita
  #9  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
estaba examinando tu ejemplo, puchis que inteligente eres, wow pero tu usas ado conecttion y ado querys, yo solamente uso querys, y pormedio de el conectas al grid, pero, yo uso solamente query, probare cambiar mi query por el adoquery, espero que no me afecte.

de verdad te agradezco mucho, comentare lo que me pase. gracias e muchisimas gracias,
Responder Con Cita
  #10  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
perdon, pero al cambiarme a adoquery no me funciona el query1.parambyname, que puedo utilizar.
Responder Con Cita
  #11  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
douglas, el usar ADO o BDE es lo mismo, o casi lo mismo, la diferencia es que ADO hace la conexion directamente, eso ayuda mucho y simplifica las cosas, no hay que usar alias Etc.
No confies mucho en este novato, siempre busca mas informacion, aqui hay gente que es profesional en esto, yo ni siquiera soy programador.
Saludos
Responder Con Cita
  #12  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
jeje gracias e enserio que buena persona sos, pero cuando quise colocar al grid el query no aparece, pero con tu ado query si, mmm porque puede ser eso
Responder Con Cita
  #13  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
ADoQuery1.Parameters.ParamByName( )
Saludos
Responder Con Cita
  #14  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Otra vez no entiendo.
Si usas ADO, todos los componentes tienen que ser ado, no los puedes mezclar con bde.
Te aconsejo que si puedes conectar paradox con ado lo hagas, no he utilizado paradox nunca asi que no sabria si se puede o no.
Como te dije anteriormente, en el wiki hay varios ejemplos, incluso varios programas completos, lo que te interesa es aprender viendo el codigo, revisalos, todos son libres.
Ya sabes que en lo que mi humilde conocimiento te sirva con gusto te ayudo.
Saludos
Responder Con Cita
  #15  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
gracias caral que buena persona eres y disculpa que abuse, pero en el datasource usas el adoquery, pero cuando yo intento no solamente me muestra el adotable, como puedo lograr que el datasource vaya linkado con el query
Responder Con Cita
  #16  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Empecemos por algo, vas a usar ado o bde?.
Si hablamos de query, para mi es bde, de otra forma hablariamos de adoquery, me parece.
El datasource tiene una propiedad que se llama dataset, este tiene una flecha, si el adoquery o el query esta en al form aparecera ahi, de otra manera si usas un datamodule tendras que ligarlo a este, no se si lo haces directo o no.
Que te puedo decir, me lo pones dificil.
Saludos
Responder Con Cita
  #17  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
perdon caral, ya cambie todo a ado, puchis, esta mucho mejor, ya no hay que crear dsn desde windows, que buena esta la opcion de ado la verdad nunca la habia provado, pero calida calidad esta, bueno ahora tengo el problema que solamente me despliega la fecha, mmm todo lo hago mal, perdon me pudes ayudar, uso aun el mismo codigo
Responder Con Cita
  #18  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
douglas, para mi, como lo dije desde el principio, la sentencia sql que tienes lo que despliega es eso, la fecha, no entiendo que mas quieres desplegar.
Te sigo siendo honesto, no he trabajado nunca con paradox, si lo hicieras con access te podria ayudar mas, para mi es dificil esto de paradox, no lo entiendo bien, disculpa.
Si cambias de base de datos a access, con gusto podre ayudarte mas.
Recuerda una cosa, el dbgrid es solo un recipiente de informacion que contendra un datasource, que a su vez estara ligado a un adoquery o adotable, todo lo que la sentencia sql envie, sera presentado en el dbgrid, en este caso la sentencia sql solo muestra la fecha.
No se como ayudarte, la verdad, estoy dando palos de ciego.
Saludos
Responder Con Cita
  #19  
Antiguo 31-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
ok ya esta la base de datos hecha en access con los mismos parametros, a dicha tabla de la base de datos se encuntran los campos fecha, total, costo, impuesto, ganancia.

bueno el form se llamada datos por mes, en el cual, al dar clic en el combobox en el cual se despliegan los 12 meses del año, bueno, esto me serive para completar las fechas, tengo fecha1 y fecha2 en las cuales fecha1 esta en el dia 1 del mes que se elija y fecha2 esta el ultimo dia del mes que se elija, ejemplo


elejimos octubre

fecha1:=01/10/2007
fecha2:=31/10/2007

bueno entonces teniendo este rango, que me muestre todos los datos, que esten dentro de esa fecha.

espero haberme explicado, si no siempre me cuentas, si porfis, te agradesco y perdon por tanta molestadera
Responder Con Cita
  #20  
Antiguo 31-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno ahora si hablamos el mismo idioma.
Si vas a vanzado podras adjuntar un archivo, coloca la base de datos y el programa, es mejor si lo haces en un zip.
Esta es una opcion ai podre hacerlo y reenviartelo, la otra:
esto es lo que tienes:
Código Delphi [-]
b:=combobox1.Text;
     a:=combobox1.Items.IndexOf(b)+1;
     fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
     fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
     ADOquery1.Close;
     ADOquery1.SQL.Clear;
     ADOquery1.SQL.Add('select fecha from ciber');
     ADOquery1.SQL.Add(' where fecha between :Fechain and :Fechafin');
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     ADOquery1.Open;
Que te muestra, La fecha.
Esto otro:
Código Delphi [-]
b:=combobox1.Text;
     a:=combobox1.Items.IndexOf(b)+1;
     fecha1:='01/'+formatfloat('00',a)+'/'+'2007';
     fecha2:='31/'+formatfloat('00',a)+'/'+'2007';
     ADOquery1.Close;
     ADOquery1.SQL.Clear;
     ADOquery1.SQL.Add('select fecha, total, costo, impuesto, ganancia from ciber');
     ADOquery1.SQL.Add(' where between :Fechain and :Fechafin');
     ADOquery1.Parameters.ParamByName('Fechain').Value:=fecha1;
     ADOquery1.Parameters.ParamByName('Fechafin').Value:=fecha2;
     ADOquery1.Open;
Hay diferencia, la ves?
Saludos
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
Modificar datos en un Grid (table o query) hugohiram SQL 6 07-06-2007 18:59:20
Transpaso de información de Grid a Grid Nelly Varios 1 18-04-2007 08:06:28
la computacion grid en accion - world community grid nightynvid La Taberna 0 04-01-2007 17:33:44
sql o grid minos Conexión con bases de datos 2 18-08-2004 06:05:06
campos de un grid despues de un query davidgaldo Conexión con bases de datos 1 13-11-2003 14:46:49


La franja horaria es GMT +2. Ahora son las 23:01:16.


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