instruccion SQL en Visual Basic
que esta mal en esta instruccion, no he podido realizar la consulta
Registros.Open "select vehiculos.placa, vehiculos.marca, vehiculos.modelo, vehiculos.motor, vehiculos.matricula, vehiculos.servicio, facturas.[fecha factura], facturas.[fecha factura], vehiculos_parametros_facturas.codigo, parametros.hidrocarburos2, parametros.monoxido2, parametros.bioxido2, parametros.oxigeno2, parametros.opacidad2 from (vehiculos inner join (pruebas inner join vehiculos_pruebas_transitos on pruebas.prueba = vehiculos_pruebas_transitos.prueba) on vehiculos.placa = vehiculos_pruebas_transitos.placa) inner join (parametros inner join (facturas inner join vehiculos_parametros_facturas on facturas.factura = vehiculos_parametros_facturas.factura) on parametros.codigo = vehiculos_parametros_facturas.codigo) on vehiculos.placa = vehiculos_parametros_facturas.placa where mid(facturas.[fecha factura]4,2)='" & TxtMes.Text & "' and mid(facturas.[fecha factura]7,4)='" & TxtAño.Text & "' and vehiculos_parametros_facturas.reprobo=true"
Registros.Open "select vehiculos.placa, vehiculos.marca, vehiculos.modelo, vehiculos.motor, vehiculos.matricula, vehiculos.servicio, facturas.[fecha factura], facturas.[fecha factura], vehiculos_parametros_facturas.codigo, parametros.hidrocarburos2, parametros.monoxido2, parametros.bioxido2, parametros.oxigeno2, parametros.opacidad2 from (vehiculos inner join (pruebas inner join vehiculos_pruebas_transitos on pruebas.prueba = vehiculos_pruebas_transitos.prueba) on vehiculos.placa = vehiculos_pruebas_transitos.placa) inner join (parametros inner join (facturas inner join vehiculos_parametros_facturas on facturas.factura = vehiculos_parametros_facturas.factura) on parametros.codigo = vehiculos_parametros_facturas.codigo) on vehiculos.placa = vehiculos_parametros_facturas.placa where mid(facturas.[fecha factura]4,2)='" & TxtMes.Text & "' and mid(facturas.[fecha factura]7,4)='" & TxtAño.Text & "' and vehiculos_parametros_facturas.reprobo=true"
Anda que menuda prueba nos estás haciendo!
Tal y como yo lo veo, la sentencia Join está mal construida, por lo menos para Visual Basic. La manera de hacerlo es:
select campos from tabla1 inner join tabla2 on tabla2.campoA=tabla1.campoB where . . . . .
si quieres agregar más anidaciones, quedaría:
select campos from tabla1 inner join tabla2 (inner join tabla3 on tabla3.campoC=tabla2.campoD) on tabla2.campoA=tabla1.campoB where . . . . .
Pero veo que tras el FROM pones un paréntesis, y al cerrar ese paréntesis agregas otro INNER JOIN, y tanto el paréntesis primero como este INNER JOIN se saltan las "normas"
Si me explicas cuales son los enlaces de tus tablas y las intenciones de la sentencia, te la intentaría resolver.
Saludos
Tal y como yo lo veo, la sentencia Join está mal construida, por lo menos para Visual Basic. La manera de hacerlo es:
select campos from tabla1 inner join tabla2 on tabla2.campoA=tabla1.campoB where . . . . .
si quieres agregar más anidaciones, quedaría:
select campos from tabla1 inner join tabla2 (inner join tabla3 on tabla3.campoC=tabla2.campoD) on tabla2.campoA=tabla1.campoB where . . . . .
Pero veo que tras el FROM pones un paréntesis, y al cerrar ese paréntesis agregas otro INNER JOIN, y tanto el paréntesis primero como este INNER JOIN se saltan las "normas"
Si me explicas cuales son los enlaces de tus tablas y las intenciones de la sentencia, te la intentaría resolver.
Saludos
