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 04-03-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
ayuda con query

bueno, miren tengo 2 tablas una de las talbas se muestra en el dbgrid la cual se llama "planilla_presupuesto" en esta tabla tengo los campos (cod_planilla,cod_instituto,fecha volver,observaciones)
luego en la otra tabla llamada "institutos" tengo los campos (cod_instituto,nombre,numero,telefono)
Buneo el problema es que yo quero usar el evento del dbgrid (oncellclick) , es decir seleccionando en el campo cod_instituto sobre el dbgrid , me muestre los datos de los campos de la tabla "institutos" en varios edit, osea un edit por campo
bueno yo quiero usar un query, las dos tablas se relacionan por el campo (cod_instituto), me pasaron este codigo=

query1.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+QuotedStr(planilla_pres.fieldbyname('cod_instituto').asinteger);
edit1.Text:=query1.fieldbyname('nombre').asinteger;
query1.active:=true;

pero ya em tiro el error
[Error] Unit6.pas(96): Undeclared identifier: 'planilla_pres'
[Error] Unit6.pas(96): ')' expected but identifier 'fieldbyname' found
como puedo solucionarlo, o q sugieren gracias
Responder Con Cita
  #2  
Antiguo 04-03-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Código Delphi [-]
query1.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+QuotedStr(planilla_pres.fieldbyname('cod_instituto').asinteger);
edit1.Text:=query1.fieldbyname('nombre').asinteger;
query1.active:=true;
La tabla se llama planilla_presupuesto
Lo que marque en rojo es el nombre del query, table o lo que contenga esa informacion, NO del nombre de la tabla ni de algo que se le parezca.
Por eso el error dice que planilla_pres no esta identificado, osea no lo encuentra.
Y que fieldbyname lo esperaba pero se quedo colgado.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 05-03-2010
gonza_619 gonza_619 is offline
Miembro
 
Registrado: feb 2010
Posts: 157
Poder: 17
gonza_619 Va por buen camino
ayuda con query

muchas gracias caral, me fue bien.
Ahora tengo otro probl.
es que querio mostrar datos de dos tablas, es decir ahroa muestro datos de la tabla "institutos" y "turnos", ahora turnos solo tiene los campos (cod_turno,descripcion). y la tabla que aparece en el dbgrid es plan_alum_abonados con sus campos (cod_alum_abonado,cod_instituto,cod_turno,sala/grado,fecha_toma,ape y nombre), buneo ahroa las otras dos tablas estan relacionadas por los codigos en azul
quero hacer lo mismo como hice en el primer ejemplo, modifiq

query1.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+table1.fieldbyname('cod_instituto').asstring;
query1.sql.text:='select descripcion from turnos where cod_turno='+table1.fieldbyname('cod_turno').asstring;
query1.active:=true;
edit2.Text:=query1.fieldbyname('nombre').asstring;
edit1.Text:=query1.fieldbyname('descripcion').asstring;
edit3.Text:=query1.fieldbyname('direccion').asstring;
edit4.Text:=query1.fieldbyname('telefono').asstring;

y bien ahora me muestra la descripcion pero , pero cuando hago q me muestre el campo nombre por ejemplo, me tira el error= table1 field 'cod_instituto' not found pense que podria ser porque no desabilite el anterior query del ejemplo anterior? o que dicen?
gracias

bien ya encontre el error amigos gracais de todas formas, ahora me gustaria saebr como hacer q en vez de mostrar en edit, lo muestre por emdio de qreport

Última edición por gonza_619 fecha: 05-03-2010 a las 01:05:15.
Responder Con Cita
  #4  
Antiguo 05-03-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Analicemos tu codigo:
Código Delphi [-]
// desactiva el query1  BIEN
query1.active:=false; 
// selecciona un SQL BIEN
query1.sql.text:='select nombre from institutos where cod_instituto='+table1.fieldbyname('cod_instituto').asstring; 
// Ahora selecciona OTRO QUERY, Osea BORRA EL PRIMERO
query1.sql.text:='select descripcion from turnos where cod_turno='+table1.fieldbyname('cod_turno').asstring;
query1.active:=true;
edit2.Text:=query1.fieldbyname('nombre').asstring;
edit1.Text:=query1.fieldbyname('descripcion').asstring;
edit3.Text:=query1.fieldbyname('direccion').asstring;
edit4.Text:=query1.fieldbyname('telefono').asstring;
Osea, al query1 le colocas un SQL y luego lo BORRAS y colocas otro.
Como pretendes que encuentre lo que estaba en el primer query si lo borraste?.
Ahora la pregunta: Por que?.
Muy simple; por que usas un query y no dos:
Código Delphi [-]
query1.active:=false;
query2.active:=false;
query1.sql.text:='select nombre from institutos where cod_instituto='+table1.fieldbyname('cod_instituto').asstring;
query2.sql.text:='select descripcion from turnos where cod_turno='+table1.fieldbyname('cod_turno').asstring;
query1.active:=true;
query2.active:=true;
edit2.Text:=query1.fieldbyname('nombre').asstring;
edit1.Text:=query1.fieldbyname('descripcion').asstring;
edit3.Text:=query1.fieldbyname('direccion').asstring;
edit4.Text:=query1.fieldbyname('telefono').asstring;
Para usar un solo query deberías guardar el dato que necesitas en algún lado como podría ser una variable.
Saludos
__________________
Siempre Novato
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con Query marcial Conexión con bases de datos 11 31-10-2007 20:12:12
Ayuda con Query look SQL 8 19-10-2007 19:46:07
Ayuda con Query Ado DBF Lucas_diaz1810 Conexión con bases de datos 3 26-12-2006 18:37:31
Ayuda con Query y Sum() Apolo24 SQL 5 23-08-2005 12:37:41
Ayuda con un query tgsistemas SQL 9 23-04-2004 20:32:32


La franja horaria es GMT +2. Ahora son las 17:50:39.


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