Programación General > VBA

 Consultas MySQL

(1/1)

RadicalEd:
Hola chicos de SoloCodigo ( :P ) hace rato no empezaba un post así, y mucho menos acá en Visual Basic jejeje; bueno dejo tanta chachara y voy a lo mio, estoy haciendo un complemento para Excel que consulta una DB MySQL y genera una tabla dinámica, en cierta forma funciona, pero cuando hago consultas del estilo.

--- Código: SQL ---SELECT mid(ped1.detalle,61,30) AS PO_CGUNO, ped2.fechaentrega AS fechaCancelacion,mid(ped2.bodega,4,2) AS Localizacion,ped1.documento AS Documento,FROM ped1,ped2WHERE ped1.pedido=ped2.pedido   Si se fijan hay unas funciones mid para delimitar los valores que quiero que me devuelvan y es aquí donde no me funciona el complemento, ya que me arroja este error.

--- Citar ---se ha producido el error '1004' en tiempo de ejecución
--- Fin de la cita ---
y me marca esta línea en el código

--- Código: Visual Basic ---Set objMyPivotTable = ActiveWorkbook.Worksheets("Hoja_" + cmbCampos.Value).PivotTables.Add(objMyPivotCache, Cells(2, 1)) Pero si hago una consulta de este estilo:

--- Código: SQL ---SELECT Pedido_Despacho.codcliente AS codcliente,casos.problema AS problema,casos.codtipocaso AS codtipocaso,detalle_caso.reclamo AS reclamo,casos.calificacion AS calificacion,detalle_caso.solucion AS solucion,Pedido_Despacho.estado AS estado,casos.fecha AS fecha FROM detalle_caso,casos,Pedido_Despacho WHERE casos.codcaso = detalle_caso.codcaso AND casos.codpedidodespa = Pedido_Despacho.codpedidodespa   Sin el mid si me funciona, me podrían explicar qué puede ser el error.


Gracias

F_Tanori:
Creo que el error es mas o menos generico cuando no se puede establecer una propiedad ahora...

La consulta es valida en algun administrador de MySQL ? (queryBrowser,phpMyAdmin etc..), mid funciona sin problemas en MySQL (tambien funciona SubString)
pero si es exactamente esa consulta tal cual la haz puesto. te sobra una coma antes del from


--- Citar ---SELECT mid(ped1.detalle,61,30) AS PO_CGUNO, ped2.fechaentrega AS fechaCancelacion,mid(ped2.bodega,4,2) AS Localizacion,ped1.documento AS Documento,
FROM ped1,ped2
WHERE ped1.pedido=ped2.pedido
--- Fin de la cita ---

Si ese error a sido aqui al publicar el codigo, prueba ejecutando tu consulta directamente en la bd para ver que error te da el servidor, no el lenguaje

Saludos

RadicalEd:
No, en la DB si funciona a la perfección ya que es una consulta sql estandar; lo de la coma es porque es una consulta más grande y no la vi al dejarla como la ves.

geovanny19862:
la consulta sql su formato es select ( nombres de los campos de la tabla)
                                           from nombre de la tabla
                                           where condicion(and,or)= =!
                                           puedes tener  like (varias formas)
order by asc o desc

sigue el formato que te doy por que es el que vas a utilizar no visual basic tambien en otros lenguajes

RadicalEd:

--- Cita de: "geovanny19862" ---la consulta sql su formato es select ( nombres de los campos de la tabla)
                                           from nombre de la tabla
                                           where condicion(and,or)= =!
                                           puedes tener  like (varias formas)
order by asc o desc

sigue el formato que te doy por que es el que vas a utilizar no visual basic tambien en otros lenguajes
--- Fin de la cita ---
Gracias por la aclaración, llevo 5 años usando MySQL y creo que eso me lo sé de memoria, eso es SQL Standard

Navegación

[0] Índice de Mensajes

Ir a la versión completa