Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Error al intentar acceder a las propiedades en un QReport

Hola,

estoy intentando modificar un Form que contiene un QuickReport y tanto cuando intento activar el ADOQuery como cuando quiero poner un DataField en un QRDBTText me salta este error:

INstrucción SQL no válida; se espera 'DELETE','INSERT','PROCEDURE','SELECT'o 'UPDATE'

Os pongo el pantallazo aqui:

http://cjoint.com/data/kujeBMtVJ0.htm

¿ Sabe alguien a puede ser debido ?

Gracias
__________________
Mi proyecto paso a paso (Parte I)

Última edición por Delphitest fecha: 20-10-2006 a las 09:13:13.
Responder Con Cita
  #2  
Antiguo 20-10-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.
Revisa la propiedad "SQL" del ADOQuery.
Saludos
Responder Con Cita
  #3  
Antiguo 20-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
uffff, vaya bloqueo, hoy si que no salgo de este punto

Creo que son muchas cosas y ya empiezo a flojear.

El problema está claramente en el AODQuery

No he trabajado nunca con ello (ni con casi nada la verdad) pero algo me llama la atención en sus propiedades y es que hay cosas que en cuento las toco me salta ese error, por ejemplo Active.

El caso es que los campos que estaban ya puestos en el Qreport funcionan bien si lo ejecuto, pero no me deja ni cambiar esos ni añadir nuevos.

He mirado en SQL y está vacío.
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #4  
Antiguo 20-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Ya lo he apañado como he podido.

Os cuento la solución en plan chapuza que he dado a esto.

El problema que tenía es que a la hora de insertar un objeto QRDBText en el Qreport no me dejaba elegir el nombre del campo en la propiedad DataField, ahi es cuando me saltaba ese error de SQL. Pero esto solo me pasaba si indicaba en la propiedad DataSet: ADOQuery, sin embargo si elegía en ese punto el nombre de mi base de datos DTMClientes... si que me dejaba poner el nombre del campo sin problemas.

por lo tanto la solución ha sido poner en el Dataset el nombre de la base de datos, elegir el campo necesario para esa casilla y una puesto volver a cambiar el Dataset por ADOQuery.

Con esto, aunque sigo sin entenderlo bien, he conseguido acabar ya lo que quería.

Un saludo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #5  
Antiguo 20-10-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Un ADOQuery necesita que introduzcas una sentencia valida en su propiedad SQL. Algo como: "Select * from clientes". Si no lo haces al poner su propiedad Active a True te dará error por todos los lados. Es decir el cliente (tu) no sabe de donde se trae los datos, ni el nombre de los campos ni na de na.

Saludos
Responder Con Cita
  #6  
Antiguo 20-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Delphitest
Vi tu mensaje y creo que te estas liando un poco:
Como dice kalimero el ADOQuery es simplemente un deposito en donde se coloca una sentencia sql que lee un tabla.
Cuando uno hace un QReport y pone un adoquery en el, es necesario ponerle en el string en el inspector de objetos la sentencia sql que necesitas, esto con el fin de que puedas incorporar los qrbtext que necesites y ligarlos a los campos que quieras poner.
Una vez hecho el reporte, si quieres llamarlo, variando la sentencia sql, lo que tienes que hacer es borrar del string la sentencia y hacerla por codigo, tal y como el ejemplo que te envie, en resumen sin el sql en el string del adoquery no puedes hacer el reporte, tienes que ponerlo y luego si es el caso quitarlo nuevamente si te interesa.
Intenta modificar el reporte que te envie asi:
Tienes en el form (FCliente1) una sentencia Sql, que es asi:
Código Delphi [-]
QRClientes.ADOQuery1.SQL.Add(' Select * From Clientes ');
QRClientes.ADOQuery1.SQL.Add(' WHERE Clientes.Cod_Cliente = '+DBEdit13.Text+'');
Dejalo asi:
Código Delphi [-]
//QRClientes.ADOQuery1.SQL.Add(' Select * From Clientes ');
QRClientes.ADOQuery1.SQL.Add(' WHERE Clientes.Cod_Cliente = '+DBEdit13.Text+'');
Y coloca en el string del adoquery del reporte:
Código SQL [-]
Select * From Clientes
Con esto:
1: el query del reporte tendra el codigo sql, que busca la tabla
2: El form que llama al reporte le dira que el cliente tiene que ser=DBEdit13.Text
3: podras incluir, modificar etc, el reporte sin problemas.
Espero que esta sea tu duda.
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
Acceder a las propiedades de control en frames Pedro-Juan OOP 4 27-09-2006 19:46:19
Acceder a las propiedades protegidas de un DBGrid gluglu Varios 16 12-11-2005 16:35:25
Acceder a las propiedades del componente LucasArgentino Varios 1 09-11-2004 15:53:35
Error al intentar acceder a Windows Update VolaRe Windows 3 29-08-2004 20:03:05
Error al intentar acceder al disco A, o a la unidad de CD (y no hay un disk o cd pues pampitasnowman Varios 1 20-08-2003 23:15:49


La franja horaria es GMT +2. Ahora son las 08:44:37.


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