|
Responder ![]() |
Autor | |
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() Enviado: 13/Enero/2022 a las 14:46 |
Conseguido, al final no fue un formulario modal, bastó con uno tabular filtrado por el campo Idlinea y el botón correspondiente para ejecutar la consulta.
|
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
He rehecho desde el principio la consulta y el botón. Si el formulario LineasConsulta se encuentra abierto funciona correctamente pero desde el subformulario no lo hace. Creo que haré un formulario modal que muestre únicamente el registro que se quiere migrar y, desde él, ejecutar la consulta con el botón tal y como está ahora. Es una salida poco ortodoxa pero es la única que se me ocurre.
|
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Gracias, sigo con el tema
|
|
![]() |
|
lunasoft ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo ![]() Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 67 |
![]() |
Vamos a ver.
donde en tu consulta inicial pone [Formularios]![LineasConsultas]![Idlinea], debes poner el valor a buscar. Tú debes saber cómo se llama el campo que contiene ese valor y dónde está. Todo el problema reside en eso. Más no puedo decirte |
|
Juanjo Luna (Lunasoft)
---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Gracias de nuevo. El botón está situado en un subformulario (LineasConsultas) dentro de otro formulario (consultas)
|
|
![]() |
|
lunasoft ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo ![]() Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 67 |
![]() |
la consulta solo funcionará desde el formulario (y este abierto).
Si quieres que funcione desde el editor de consultas, cambia me,id... por un valor |
|
Juanjo Luna (Lunasoft)
---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Gracias de nuevo por tu respuesta. He probado las dos opciones y me ocurre una cosa cuando menos curiosa (no me quiero cabrear conmigo mismo). Así como la consulta llegaba a ejecutarse antes de introducir los cambios que me has indicado, ahora me devuelve errores de que no encuentra la tabla vinculada (Material). Tu código creo que está correctamente escrito, incluso he optado por sustituir la sentencia SQL por la original (que arrancaba) y me sigue dando el mismo error de la tabla vinculada.
|
|
![]() |
|
lunasoft ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo ![]() Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 67 |
![]() |
El problema está en el [Formularios]![LineasConsultas]![Idlinea]
Si el botón está en el formulario LineasConsultas prueba con la opción 1 y si no la opcion 2 OPCION 1 Private Sub Comando17_Click() Dim miSql As String miSql = "INSERT INTO Material ( Cert_Calidad, Descripción, cantidad, Precio, Cdgo_Prove, Nº_Orden ) SELECT LineasConsultas.Idlinea, LineasConsultas.descripcion_producto, LineasConsultas.cantidad, LineasConsultas.precio_unitario, consultas.idproveedor, consultas.orden FROM Material INNER JOIN (consultas INNER JOIN LineasConsultas ON consultas.Idconsulta = LineasConsultas.Idconsulta) ON Material.Nº_Orden = consultas.orden WHERE (((LineasConsultas.Idlinea)=" & me.Idlinea & "))" DoCmd.OpenQuery miSql End Sub OPCION 2 Private Sub Comando17_Click() Dim miSql As String Dim idActual idActual = [Formularios]![LineasConsultas]![Idlinea] miSql = "INSERT INTO Material ( Cert_Calidad, Descripción, cantidad, Precio, Cdgo_Prove, Nº_Orden ) SELECT LineasConsultas.Idlinea, LineasConsultas.descripcion_producto, LineasConsultas.cantidad, LineasConsultas.precio_unitario, consultas.idproveedor, consultas.orden FROM Material INNER JOIN (consultas INNER JOIN LineasConsultas ON consultas.Idconsulta = LineasConsultas.Idconsulta) ON Material.Nº_Orden = consultas.orden WHERE (((LineasConsultas.Idlinea)=" & idActual & "))" DoCmd.OpenQuery miSql End Sub |
|
Juanjo Luna (Lunasoft)
---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Pienso que el primer error se encuentra en la propia consulta de datos anexados, no da error al ejecutarla pero al llamarla para que "filtre" los resultados por el campo Idlinea indicado no lo "filtra"
|
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Gracias por tu respuesta.
He probado lo que me dices y, sin las comillas, me aparece un error 2496, La acción o método requiere un argumento Nombre de la consulta. Con las comillas sí se ejecuta la consulta pero con el resultado erróneo que expliqué al comienzo
|
|
![]() |
|
lunasoft ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo ![]() Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 67 |
![]() |
la consulta abierta desde el editor de consultas funciona correctamente?
|
|
Juanjo Luna (Lunasoft)
---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
![]() |
|
lunasoft ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo ![]() Unido: 04/Noviembre/2014 Localización: Graz Estado: Sin conexión Puntos: 67 |
![]() |
Usa CURRENTDB.Execute en vez del DoCmd. a ver que sucede
Editado por lunasoft - 12/Enero/2022 a las 10:52 |
|
Juanjo Luna (Lunasoft)
---------------- https://www.luna-soft.es/ https://www.youtube.com/ACCESSoTOTAL https://github.com/ACCESSoTOTAL |
|
![]() |
|
minero1 ![]() Nuevo ![]() Unido: 12/Enero/2022 Localización: Portugalete Estado: Sin conexión Puntos: 23 |
![]() |
Buenos días. Necesito ayuda sobre un tema que, a priori, parece sencillo pero que me está costando muchísimo solucionar. Desde una tabla en la que se van añadiendo los productos de los que se solicita oferta, necesito que, cuando se acepta dicha oferta, ciertos campos de esta tabla pasen a otra tabla distinta creando un registro nuevo. Entiendo que se debe realizar con una consulta de datos anexados pero al ejecutarla me intenta añadir muchos más registros de los solicitados. Llamo a la consulta con un botón desde un formulario.
Lo que ocurre es que los resultados no se filtran mediante el identificador que es el campo que relaciona las dos tablas, no sé cómo hacer que sólo muestre los registros en los que el id coincide con el que se muestra en el formulario en el que está el botón. SQL de la consulta "pasoapedido":
INSERT INTO Material ( Cert_Calidad, Descripción, cantidad, Precio, Cdgo_Prove, Nº_Orden ) SELECT LineasConsultas.Idlinea, LineasConsultas.descripcion_producto, LineasConsultas.cantidad, LineasConsultas.precio_unitario, consultas.idproveedor, consultas.orden FROM Material INNER JOIN (consultas INNER JOIN LineasConsultas ON consultas.Idconsulta = LineasConsultas.Idconsulta) ON Material.Nº_Orden = consultas.orden WHERE (((LineasConsultas.Idlinea)=[Formularios]![LineasConsultas]![Idlinea])); Código del botón: Private Sub Comando17_Click() DoCmd.OpenQuery "pasoapedido" End Sub Pienso que están incompletos o mal hechos, algo me falta por poner o corregir. |
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |