Error 424 en Consulta de Actualización Datos Access

Acudo a ustedes para que me ayuden con un inconveniente que tengo en una consulta de actualización en access, les comento cree un formulario el cual depende de una tabla llamada reportes allí cree través de dos texbox solicita una información el primero lo llamo Txtindependiente y en este se igresa un COD_Lote para una Búsqueda, el segundo lo llame TxtActualiza y en este ingreso la información con la cual quiero actualizar la información del código que dígito, adicional necesito un msgbox que me indique el numero de registros encontrados y que van a ser actualizados, realice la consulta normal de actualización y me funciona de maravilla pero al pasarla a vba me genera error 424 falta objeto, si alguien me puede ayudar a encontrar donde tengo el error les agradecería a continuación adjunto lo que realice.

Private Sub TxtActualiza_BeforeUpdate(Cancel As Integer)
Dim midb As Database
Set midb = CurrentDb()
Set midb = "UPDATE Reportes SET Reportes.pRUEBA = " & TxtActualiza & " WHERE Reportes.COD_LOTE=" & txtindependiente & ""
Set midb = Nothing
End Sub

1 respuesta

Respuesta
1

Julio: Prueba ésto otro>>

Private Sub TxtActualiza_BeforeUpdate(Cancel As Integer)
Dim StrSQL As String
Dim midb As Database
Set midb = CurrentDb()

StrSQL = "UPDATE Reportes SET Reportes.pRUEBA = ‘" & Me.TxtActualiza &”’”
StrSQL = StrSQL &” WHERE Reportes.COD_LOTE=’" & Me.txtindependiente & "’"

DoCmd.SetWarnings False
MiDb.Execute StrSQL, dbFailOnError
DoCmd.SetWarnings True

midb.close

Set midb = Nothing
End Sub

Estoy suponiendo que los dos TextBox son de tipo Texto.

Si Fueran Numericos>>

= " & Me.TxtActualiza

=" & Me.txtindependiente

Además supongo que tendrás tus motivos para ponerlo en el Evento BeforeUpdate, yo lo pondría en el AfterUpdate.

Ya me contarás si te ha ido bien: Jacinto

Jacinto gracias por tu ayuda pero me genera el error 3078 y me dice que no puede encontrar la tabla o consulta de entrada y se pocisiona en la línea que resalto en negrilla, me podrías ayudar como identifico a través de un msgbox el total de registros actualizados. Gracias

Private Sub TxtActualiza_AfterUpdate()
Dim StrSQL As String
Dim midb As Database
Set midb = CurrentDb()

StrSQL = "UPDATE Reportes SET Reportes.pRUEBA = ‘" & Me.TxtActualiza & ”’”
StrSQL = "StrSQL &” WHERE Reportes.COD_LOTE=" & Me.txtindependiente & "’"

DoCmd.SetWarnings False
midb.Execute StrSQL, dbFailOnError
DoCmd.SetWarnings True

midb.Close

Set midb = Nothing

Que pena la línea que me genera el error es esta

midb.Execute StrSQL, dbFailOnError

Saludos Julio Valencia

Julio: Veo que la línea>>

StrSQL = "StrSQL &” WHERE Reportes.COD_LOTE=" & Me.txtindependiente & "’"

no es la adecuada , le falta una comilla simple ' después de .COD_LOTE= o sea que debe ser>>

StrSQL = "StrSQL &” WHERE Reportes.COD_LOTE='" & Me.txtindependiente & "’"

Siempre que COD_LOTE sea un Campo de tipo Texto-

y además asegura que después de  = "StrSQL " (UnEspacio)

Además Recerda lo de mi anterior mensaje si hay algún campo numérico

Esperemos que sea ésto >> Jacinto

Hola jacinto seguí tus instrucciones y valide cada una de las cosas que me dices, pero desafortunadamente me persiste el error 3078, te adjunto un pantallazo ilustrativo del error para que por favor me colabores.

Saludos Julio valencia.

Julio: Creo que para salir del atasco lo mejor sería que me mandes tu BD con algunos datos ficticios, si tienes datos personales o confidenciales, pero con los Objetos mínimos para poder profundizar.

Es preferible que el error se siga produciendo.

Puedes mandarme el fichero a>> [email protected]

A ver si así salimos >> Jacinto

Julio: Volviendo a repasar y antes de hacer otra cosa, veo que la línea:

StrSQL = "StrSQL &” WHERE Reportes.COD_LOTE='" & Me.txtindependiente & "’"

tiene unas comillas iniciales sobrantes: sustituyela por>>

StrSQL = StrSQL &” WHERE Reportes.COD_LOTE='" & Me.txtindependiente & "’"

Además veo un COD_LOTE = 45026708 que para mi es Número, inoro como tienes declarado el Campo.

Prueba y me comentas >> Jacinto

A donde te la puedo remitir.

gracias

Julio: Te lo cito arriba

Puedes mandarme el fichero a>> [email protected]

Vamos a ver si cerramos el asunto pronto>> Jacinto

Realice el cambio y me genera un error de sintaxis en esta línea y la coloca en color rojo

StrSQL = StrSQL &” WHERE Reportes.COD_LOTE='" & Me.txtindependiente & "’"

Private Sub TxtActualiza_AfterUpdate()
Dim StrSQL As String
Dim midb As Database
Set midb = CurrentDb()

StrSQL = "UPDATE Reportes SET Reportes.pRUEBA = ‘" & Me.TxtActualiza & ”’”
StrSQL = StrSQL &” WHERE Reportes.COD_LOTE='" & Me.txtindependiente & "’"

DoCmd.SetWarnings False
midb.Execute StrSQL, dbFailOnError
DoCmd.SetWarnings True

midb.Close

Set midb = Nothing
End Sub

No te preocupes Julio: Me envías la BD porque si no es así lo haremos muy largo.

Jacinto

Hola jacinto gracias por tu tiempo, te acabo de remitir el fichero a tu correo, gracias de antemano.

Saludos Julio Valencia

Julio: Algo debe ocurrir porque no he recibido el fichero.

Jacinto

Disculpa lo había enviado a otro email.

Julio: Acabo de enviarte la Bd, si funciona cierra la pregunta por favor>> Jacinto

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas