Club Delphi  
    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 03-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Question Error Missing right quote

Hola a todos!!!

Estoy trabajando con Delphi 5 y mi Base de Datos esta en Access, utilizo un controlador ODBC para hacer la conección.
Quiero hacer un gráfico utilizando un DBChart, pero cuando quiero activar mi query me marca el error:

Missing right quote

El siguiente es mi Query:

Código SQL [-]
Select ALU_ESP, ESP_CLV, ESP_CARRERA
From "':BDBECAS_BAJDEFATPERAL'" And "':BDBECAS_BAJDEF:CARRERA'"
Where ALU_ESP = ESP_CLV

Espero haberme explicado y Muchas Gracias por su atención!!!
__________________
No Decaigas que Vivir es Aprender...

Última edición por gusanita fecha: 03-08-2006 a las 00:23:05.
Responder Con Cita
  #2  
Antiguo 03-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Es problema de las comillas y de ese AND en el From.

Que base de datos usas? Me resulta extraño la forma en qeu pones las tablas en la parte de From
Cuantas tablas están involucradas? Cuales?

Saludos
Responder Con Cita
  #3  
Antiguo 03-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Gracias por atender!!!

Ya habia mencionado que mi Base de Datos esta en Acces.
Son dos tablas las que estan involucradas: DATPERAL y CARRERA
BDBECAS_BAJDEF es mi Nombre de Base de Datos.
Y si no coloco las comillas me dice que la clausula del ODBC esta incompleta.
Tambien ya habia mencionado que utilizo el ODBC para hacer mi coneccion de Delphi con Access
__________________
No Decaigas que Vivir es Aprender...
Responder Con Cita
  #4  
Antiguo 03-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Exclamation Probe lo siguiente:

Cita:
Empezado por vtdeleon
Es problema de las comillas y de ese AND en el From.
1.
Código SQL [-]
Select D. ALU_ESP, C.ESP_CLV, C.ESP_CARRERA
From :BDBECAS_BAJDEFATPERAL as D , :BDBECAS_BAJDEF:CARRERAS  as C
Where D.ALU_ESP = C.ESP_CLV

Y me marca el error de que
:BDBECAS_BAJDEFATPERAL y :BDBECAS_BAJDEF:CARRERAS son de un tipo no existente.

2.
Código SQL [-]
Select D. ALU_ESP, C.ESP_CLV, C.ESP_CARRERA
From ':BDBECAS_BAJDEFATPERAL' as D , ':BDBECAS_BAJDEF:CARRERAS'  as C
Where D.ALU_ESP = C.ESP_CLV

Y me marca el error de sintaxis en la consulta, que la clausula del ODBC esta incompleta

3.
Código SQL [-]
Select D. ALU_ESP, C.ESP_CLV, C.ESP_CARRERA
From ":BDBECAS_BAJDEFATPERAL" as D , ":BDBECAS_BAJDEF:CARRERAS"  as C
Where D.ALU_ESP = C.ESP_CLV

Y me marca el error de que el motor de base de datos de microsoft no puede encontrar las tablas :BDBECAS_BAJDEFATPERAL y :BDBECAS_BAJDEF:CARRERAS.

Bueno no se que mas probar, espero puedan ayudarme y Gracias!!!
__________________
No Decaigas que Vivir es Aprender...
Responder Con Cita
  #5  
Antiguo 03-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Saludos

Bueno, aun no enteindo el "por qué" de poner el nombre de la Base de datos en la consulta y del "Por qué" de esos dos puntos. Nunca he usado eso así.

Hice un ejemplo sencillito , con una base de datos, dos tablas y una consulta parecida a la tuya y ésta funciona.

Fijate.
Archivos Adjuntos
Tipo de Archivo: zip Access.zip (17,0 KB, 21 visitas)
Responder Con Cita
  #6  
Antiguo 03-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Hola!!!

Bueno, cheque el archivo adjunto y en efecto funciona correctamente.

Me tome la livertad de modificar el archivo y lo adjunto para que lo cheques.

Y como podras darte cuenta la consulta funciona muy bien, pero no entiendo porque en el Query que utilizo para el DBChart no funciona.

Importante:

Para hacer la coneccion de Delphi con Access tendras que ir al menú Database, en la opción Explore.

En la ventana de SQL Explore en el menu Object, en la opción ODBC Administrator.

En la ventana de Administrador de Orígenes de Datos de ODBC en la pestaña DSN de usuario, en el boton agregar.

En la ventana Crear nuevo origen de Datos, seleccionar la opción Driver do Microsoft Access y boton Finalizar

En la ventana de Configuración de ODBC de Microsoft Access, en la opcion de nombre del origen de datos, colocas un nombre que tu quieras y en el campo Base de Datos en el botón Seleccionar, seleccionas la ruta donde se encuentra la Base de Datos en este caso bd1, la seleccionas y le das finalizar.

En la ventana de Administrador de Orígenes de Datos de ODBC le das en el botón Aceptar.

En la ventana de SQL Explore das Control + R para actualizar, y en la pestaña Databases aparecerá la que tu creaste.

Ahora si podras ejecutar el ejemplo.

Muchas gracias por tu atención!!!




Archivos Adjuntos
Tipo de Archivo: zip Access2.zip (18,4 KB, 14 visitas)
__________________
No Decaigas que Vivir es Aprender...
Responder Con Cita
  #7  
Antiguo 05-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Unhappy Capability not supported

Y sigo de persistente!!!

Tengo la siguientes consultas

1.

Código SQL [-]
Select ALU_CTRL, ALU_ESP 
From ":BDBECAS_BAJDEFATPERAL"



2.

Código SQL [-]
Select ESP_CLV, ESP_CARRERA 
From ":BDBECAS_BAJDEF:CARRERAS"


Utilizo un Query para cada cunsulta y funcionan muy bien por separado, el resultado de cada sonulta lo muestro en un DBGrid c/u por separado.

Pero en un tercer Query intento lo siguiente:

3.

Código SQL [-]
Select D.ALU_ESP, C.ESP_CLV, C.ESP_CARRERA 
From ":BDBECAS_BAJDEFATPERAL" as D, ":BDBECAS_BAJDEF:CARRERAS" as C 
Where str (D.ALU_ESP) = str (C.ESP_CLV)


Pero me manda el error de Capability not supported

Espero ustedes me puedan decir en que estoy fallando!!!

Gracias por su atencion!!!
__________________
No Decaigas que Vivir es Aprender...

Última edición por gusanita fecha: 05-08-2006 a las 00:20:37.
Responder Con Cita
  #8  
Antiguo 05-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Registrado
 
Registrado: Apr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 18
vtdeleon Va por buen camino
Saludos

No veo el por qué del error. Lo único es la forma en como invocas las tablas.

Te sugiero que te fijes en como realizo la conexion a la base de datos en el ejemplo que te ofrecí. Trata de hacerlo asi, a ver qeu obtienes.
Responder Con Cita
  #9  
Antiguo 05-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Si, gracias por la sugerencia!!!

Ya lo habia hecho, y funciona muy bien asi, como me has mostrado en el ejemplo.

Es solo que seguí intentandolo de la otra forma para ver si lo conseguía!!

Pero pues creo que no se pudo!!!

Bueno de todos modos muchas pero muchas gracias!!!
__________________
No Decaigas que Vivir es Aprender...
Responder Con Cita
  #10  
Antiguo 05-08-2006
Avatar de gusanita
gusanita gusanita is offline
Miembro
 
Registrado: Dec 2005
Posts: 30
Poder: 0
gusanita Va por buen camino
Wink Ahora si ya quedo!!!

Quería intentarlo de otra manera, pero como no se puedo, pues me fui por la ultima opción, que fue cambiar el tipo de dato del campo de mi tabla!!

El problema en todo el query que es el siguiente:

Código SQL [-]
Select D.ALU_ESP, C.ESP_CLV, C.ESP_CARRERA 
From ":BDBECAS_BAJDEFATPERAL" as D, ":BDBECAS_BAJDEF:CARRERAS" as C 
Where str (D.ALU_ESP) = str (C.ESP_CLV)

Era la condición:

Código SQL [-]
Where str (D.ALU_ESP) = str (C.ESP_CLV)


Esa instrucción es la que me ocasionaba el error de Capability not supported

Resulta que el campo D.ALU_ESP es de tipo Numérico Doble y el campo C.ESP_CLV es de tipo Texto en una base de datos en Access, como ya habia mencionado.
Bueno lo que hice fue modificar el tipo de dato de
C.ESP_CLV a Numérico y asi fue como funcionó!!!

El query quedó de la siguiente manera!!

Código SQL [-]
Select D.ALU_ESP, C.ESP_CLV, C.ESP_CARRERA 
From ":BDBECAS_BAJDEFATPERAL" as D, ":BDBECAS_BAJDEF:CARRERAS" as C 
Where D.ALU_ESP = C.ESP_CLV

Muchas gracias por la atención prestada!!!


__________________
No Decaigas que Vivir es Aprender...

Última edición por gusanita fecha: 05-08-2006 a las 01:53:41.
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
Missing Connection en Ado y Midas jcarteagaf Providers 2 05-06-2006 19:35:43
ERROR: Missing connection or ConnectionString!!!!!!!! DarkByte Conexión con bases de datos 3 09-09-2004 15:28:42
Missing right quote luisny Firebird e Interbase 6 19-03-2004 14:29:47
interbase license file is missing or corrupt Giniromero Firebird e Interbase 5 05-06-2003 17:00:37
The registry information is missing Giasl Firebird e Interbase 0 02-06-2003 17:51:31


La franja horaria es GMT +2. Ahora son las 14:13:45.


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