** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Problema con variable en UPDATE
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoProblema con variable en UPDATE

 Responder Responder
Autor
Mensaje
Boogaloozgz Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Abril/2014
Localización: Zaragoza
Estado: Sin conexión
Puntos: 50
Enlace directo a este mensaje Tema: Problema con variable en UPDATE
    Enviado: 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

Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje Enviado: 18/Abril/2024 a las 10:04
Tienes que 'sacar' la variable de la instrucción:

       "#  WHERE idAsiento = " & Comp
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Boogaloozgz Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Abril/2014
Localización: Zaragoza
Estado: Sin conexión
Puntos: 50
Enlace directo a este mensaje 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 ;"
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14428
Enlace directo a este mensaje 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.
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
Boogaloozgz Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Abril/2014
Localización: Zaragoza
Estado: Sin conexión
Puntos: 50
Enlace directo a este mensaje 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)
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable