|
Responder
|
| Autor | |
jorros
Habitual
Unido: 20/Octubre/2008 Localización: España Estado: Sin conexión Puntos: 159 |
Tema: No ejecuta consulta en procesoEnviado: 09/Diciembre/2023 a las 09:12 |
|
Buenos dias Tengo este código con un comportamiento singular: DoCmd.SetWarnings False 'Esto deshabilita los mensajes de
sistema Dim VaResp As Integer Dim VaNfac As String VaNfac = Forms!FrmHistoricoSinRestricciones!numfactura VaResp =
MsgBox("Este proceso actualiza los datos de cliente/proveedor en la
factura actual. ¿Desea continuar?", vbQuestion + vbYesNo,
"CONFIRMAR") If
VaResp = vbYes Then DoCmd.OpenQuery
"ConCamCliHisSinRes"
DoCmd.RunSQL "UPDATE TbHisCabFac INNER JOIN TbCliProv ON
TbHisCabFac.HisCabCodCli = TbCliProv.MaeCod SET TbHisCabFac.HisCabMaeRazSoc =
[MaeRazSoc], TbHisCabFac.HisCabMaeNif = [MaeNif], TbHisCabFac.HisCabMaeDir =
[MaeDir], TbHisCabFac.HisCabMaeCodPos = [MaeCodPos], TbHisCabFac.HisCabMaePob =
[MaePob], TbHisCabFac.HisCabMaePro = [MaePro] WHERE
(((TbHisCabFac.HisCabNumFac)=[Formularios]![FrmHistoricoSinRestricciones]![numfactura])
AND ((TbHisCabFac.HisCabCodCli)=[Formularios]![FrmHistoricoSinRestricciones]![SubTbHisCabFac].[Formulario]![HisCabCodCli]))"
DoCmd.Close acForm, "FrmHistoricoSinRestricciones"
DoCmd.OpenForm "FrmHistoricoSinRestricciones"
Forms!FrmHistoricoSinRestricciones!numfactura = VaNfac MsgBox "Se
han modificado los datos de cliente/proveedor de la factura actual" Else MsgBox
"Ha seleccionado cancelar el proceso, no se han producido cambios"
'Me.Undo Exit
Sub End If
DoCmd.SetWarnings True 'Esto habilita los mensajes de
sistema" desde código no lanza ni la línea DoCmd.OpenQuery "ConCamCliHisSinRes" Ni la línea DoCmd.RunSQL "UPDATE que hacen lo mismo, la he puesto por probar. No se dónde tengo el error ya que la consulta llamando
fuera de código funciona perfectamente. Un saludo y gracias anticipadas |
|
![]() |
|
Mihura
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
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 09/Diciembre/2023 a las 09:39 |
|
Hola,
Lo primero es que en pruebas deshabilites el setwarnings, no sea que te esté ocultando errores ... Lo segundo es que ejecutes paso a paso y veas que mensajes te da en cada punto.
|
|
![]() |
|
jorros
Habitual
Unido: 20/Octubre/2008 Localización: España Estado: Sin conexión Puntos: 159 |
Enviado: 09/Diciembre/2023 a las 09:49 |
|
Gracias Jesus, lo he deshabilitado y no muestra errores ni mensajes
Este formulario tiene muchos controles para evitar errores de usuario. Voy a montarlo todo en uno nuevo y añadiendo hasta que consiga encontrar el error. Saludos Editado por jorros - 09/Diciembre/2023 a las 10:10 |
|
![]() |
|
Mihura
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
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 09/Diciembre/2023 a las 12:09 |
|
Si lo lanzas desde VBA, yo lo dejaría así ....
DoCmd.RunSQL "UPDATE TbHisCabFac INNER JOIN TbCliProv ON TbHisCabFac.HisCabCodCli = TbCliProv.MaeCod SET HisCabMaeRazSoc = " & me.MaeRazSoc & ", HisCabMaeNif = " & me.MaeNif & ", ...... WHERE HisCabNumFac = " & me.numfactura & " AND HisCabCodCli = " & me.HisCabCodCli] Atención a las comillas simples que falten, etc...
|
|
![]() |
|
jorros
Habitual
Unido: 20/Octubre/2008 Localización: España Estado: Sin conexión Puntos: 159 |
Enviado: 09/Diciembre/2023 a las 20:56 |
|
Gracias Jesús, de momento no me funciona nada. Sigo probando, creo que estoy dando patadas a una pared de piedra.
Saludos
|
|
![]() |
|
Mihura
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
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 10/Diciembre/2023 a las 09:48 |
|
Créate primero la consulta y haz que funcione, sin ningún parámetro, ni variable externa, con un solo campo ...
En el evento clic de un botón de ese formulario: DoCmd.RunSQL "UPDATE TbHisCabFac INNER JOIN TbCliProv ON TbHisCabFac.HisCabCodCli = TbCliProv.MaeCod SET HisCabMaeRazSoc = 1 WHERE HisCabNumFac = 1 AND HisCabCodCli = 1" - una vez que veas que te funciona con un campo, le vas poniendo de uno en uno hasta tenerlos todos - una vez que te funcione empiezas a sustituir los valores que has puesto 'a capón' por los valores del formulario Divide y vencerás.
|
|
![]() |
|
jorros
Habitual
Unido: 20/Octubre/2008 Localización: España Estado: Sin conexión Puntos: 159 |
Enviado: 10/Diciembre/2023 a las 22:17 |
|
Gracias Jesus
Tengo un formulario y dos subformularios, si lo lanzo desde el formulario principal me funciona bien , pero si lo lanzo desde el subformulario de cabecera de factura sencillamente no hace nada. Voy a probar lo que me dices y te cuento |
|
![]() |
|
Mihura
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
Administrador
Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14428 |
Enviado: 10/Diciembre/2023 a las 22:45 |
![]() |
|
jorros
Habitual
Unido: 20/Octubre/2008 Localización: España Estado: Sin conexión Puntos: 159 |
Enviado: 22/Diciembre/2023 a las 15:49 |
|
Buenas tardes
Un problema familiar grave me ha impedido contestar antes. Finalmente no he dado con la solución, he optado por crear un cuadro combinado en él formulario principal y después de actualizar lanzar las dos consultas y funciona. Ruego cierren el hiló. Muchas gracias Jesus por tu desinteresada ayuda. Un saludo y felices fiestas |
|
![]() |
|
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 |