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
Ir a la versión completa