|
Responder
|
| Autor | |
Boogaloozgz
Habitual
Unido: 03/Abril/2014 Localización: Zaragoza Estado: Sin conexión Puntos: 50 |
Tema: Problema con variable en UPDATEEnviado: 17/Abril/2024 a las 22:15 |
|
Hola a tod@s, Estoy intentando actualizar un valor de una tabla con UPDATE, para ello declaro una variable tipo numérico y la uso para saber si existe el valor en una tabla; si existe actualizo un valor de un campo de esa tabla en el registro en el que uno de los campos coincide con el valor de la variable (espero haberme explicado). Para ello uso el siguiente código: Dim Comp As Long Comp = (DLookup("idAsiento", "inRepara", "idprocedencia = " & Me.Comprador & " And Anotacion = 'Custodia Entrega' And Num= '" & Me.Guia & "'")) If Not IsNull(Comp) Then CurrentDb.Execute "UPDATE [InRepara] SET [InRepara].Salida = #" & Format(Me.FechaSale, "mm/dd/yyyy") & "# WHERE idAsiento = Comp ;" End If Al ejecutar el código no reconoce el valor de la variable (Comp) al ejecutar el UPDATE, y aparece el mensaje: "Se ha producido el error 3061 en tiempo de ejecución: Pocos parámetros. Se esperaba 1" ¿Alguna pista o solución al asunto? Gracias de antemano |
|
![]() |
|
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: 18/Abril/2024 a las 10:04 |
|
Tienes que 'sacar' la variable de la instrucción:
"# WHERE idAsiento = " & Comp
|
|
![]() |
|
Boogaloozgz
Habitual
Unido: 03/Abril/2014 Localización: Zaragoza Estado: Sin conexión Puntos: 50 |
Enviado: 18/Abril/2024 a las 10:22 |
|
Buenos días: Antes de nada muchas gracias por tu respuesta, pruebo lo que me comentas y me da error de sintaxis CurrentDb.Execute "UPDATE [InRepara] SET [InRepara].Salida = #" & Format(Me.FechaSale, "mm/dd/yyyy") & "# WHERE idAsiento = " & Comp ;"
|
|
![]() |
|
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: 18/Abril/2024 a las 10:35 |
|
Yo no he escrito esto:
& "# WHERE idAsiento = " & Comp ;" El ; final no te vale para nada ... y si lo quieres poner, tendrás que 'meterlo' dentro de la cadena: & "# WHERE idAsiento = " & Comp & ";" Necesitas un repaso de cómo construir expresiones em VBA, te recomiendo el curso de Eduardo Olaz que tenemos en el foro.
|
|
![]() |
|
Boogaloozgz
Habitual
Unido: 03/Abril/2014 Localización: Zaragoza Estado: Sin conexión Puntos: 50 |
Enviado: 18/Abril/2024 a las 10:45 |
|
Tienes razón tengo esto muy "abandonado"...buscaré el curso de Eduardo Olaz para ser algo más autónomo en esto. Muchas gracias "veterano" (hace años hice algunas consultas y siempre estás ahi)
|
|
![]() |
|
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 |