SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => VBA => Mensaje iniciado por: RadicalEd en Miércoles 17 de Febrero de 2010, 18:31

Título: Consultas MySQL
Publicado por: RadicalEd en Miércoles 17 de Febrero de 2010, 18:31
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
  1. SELECT mid(ped1.detalle,61,30) AS PO_CGUNO, ped2.fechaentrega AS fechaCancelacion,mid(ped2.bodega,4,2) AS Localizacion,ped1.documento AS Documento,
  2. FROM ped1,ped2
  3. WHERE ped1.pedido=ped2.pedido
  4.  
  5.  
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
y me marca esta línea en el código
Código: Visual Basic
  1. Set objMyPivotTable = ActiveWorkbook.Worksheets("Hoja_" + cmbCampos.Value).PivotTables.Add(objMyPivotCache, Cells(2, 1))
  2.  
Pero si hago una consulta de este estilo:
Código: SQL
  1. 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  
  2.  
Sin el mid si me funciona, me podrían explicar qué puede ser el error.


Gracias
Título: Re: Consultas MySQL
Publicado por: F_Tanori en Miércoles 17 de Febrero de 2010, 19:01
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

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
Título: Re: Consultas MySQL
Publicado por: RadicalEd en Miércoles 17 de Febrero de 2010, 19:12
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.
Título: Re: Consultas MySQL
Publicado por: geovanny19862 en Viernes 3 de Septiembre de 2010, 17:59
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
Título: Re: Consultas MySQL
Publicado por: RadicalEd en Viernes 3 de Septiembre de 2010, 22:22
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
Gracias por la aclaración, llevo 5 años usando MySQL y creo que eso me lo sé de memoria, eso es SQL Standard