Access - error 2465.... Boton SQL UPDATE...

 
Vista:
sin imagen de perfil

error 2465.... Boton SQL UPDATE...

Publicado por Gabriel (7 intervenciones) el 28/09/2021 15:45:03
Buenas... tengo el siguiente codigo que a priori deberia actualizarme los campos del registro al hacer clic en un boton, pero me da error indicando que no encuentra el campo '|1'....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub UPDATE_Click()
Dim sql1, sql2 As String
 
DoCmd.SetWarnings (WarningsOff)
 
If Me.F_IN02 >= #2/8/2021# Then
 
sql1 = "UPDATE BASE SET AREA = '" & Me.AREA02 & _
"', MATERIAL = '" & Me.MATERIAL02 & _
"', ESTADO = '" & Me.ESTADO02 & _
"', F_OUT = '" & Me.F_OUT01 & _
"', TXT_OUT = '" & Me.TXT_OUT01 & _
"', DEP_INT = '" & Me.DEP_INT01 & _
"', INFO = '" & [Me.INFO02] & _
"' VALUES REF = " & Me.REF01 & ""
DoCmd.RunSQL sql1
 
Else
 
If Me.F_IN02 < #2/8/2021# Then
 
sql2 = "UPDATE OLD SET AREA = '" & Me.AREA02 & _
"', MATERIAL = '" & Me.MATERIAL02 & _
"', ESTADO = '" & Me.ESTADO02 & _
"', F_OUT = '" & Me.F_OUT01 & _
"', TXT_OUT = '" & Me.TXT_OUT01 & _
"', DEP_INT = '" & Me.DEP_INT01 & _
"', INFO = '" & [Me.INFO02] & _
"' VALUES REF = " & Me.REF01 & ""
DoCmd.RunSQL sql2
 
DoCmd.SetWarnings (WarningsOn)
 
MsgBox "Registro Actualizado ", vbOKOnly, "Guardado"
 
End If
End If
 
End Sub

desde ya se agradese la ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error 2465.... Boton SQL UPDATE...

Publicado por Anonimo (3316 intervenciones) el 28/09/2021 19:36:10
Suele pasar, a Access los Null le cortan la digestión.

Verificar que ninguno de los datos sea un Null, pues se propaga con facilidad tirando todo a la papelera.

Una forma de visualizar el problema es 'ver' la SQL que se crea pero antes de ejecutarla:

Original
1
DoCmd.RunSQL sql1


Hacer un control en tiempo de ejecucion:
1
2
MsgBox sql1
DoCmd.RunSQL sql1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

error 2465.... Boton SQL UPDATE...

Publicado por Gabriel (7 intervenciones) el 28/09/2021 20:20:17
Buenas...

me sigue diciendo que Access no encuentra el campo 1 al que se hace referencia...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error 2465.... Boton SQL UPDATE...

Publicado por Gabriel (7 intervenciones) el 28/09/2021 21:03:05
Bueno... segui en la busqueda y encontre otro metodo mas sencillo con recordset

si a alguien le sirve lo dejo aca.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub UPDATE_Click()
Dim RS As Recordset
 
If Me.F_IN02 >= #2/8/2021# Then
 
Set RS = CurrentDb.OpenRecordset("SELECT * FROM BASE WHERE REF=" & Me.REF01, dbOpenDynaset)
    RS.Edit
     RS!AREA = Me.AREA02
     RS!MATERIAL = Me.MATERIAL02
     RS!ESTADO = Me.ESTADO02
     RS!F_OUT = Me.F_OUT01
     RS!TXT_OUT = Me.TXT_OUT01
     RS!DEP_INT = Me.DEP_INT01
     RS!INFO = Me.INFO02
 
     RS.UPDATE
     RS.Close
     Set RS = Nothing
Else
 
If Me.F_IN02 < #2/8/2021# Then
Set RS = CurrentDb.OpenRecordset("SELECT * FROM OLD WHERE REF=" & Me.REF01, dbOpenDynaset)
    RS.Edit
     RS!AREA = Me.AREA02
     RS!MATERIAL = Me.MATERIAL02
     RS!ESTADO = Me.ESTADO02
     RS!F_OUT = Me.F_OUT01
     RS!TXT_OUT = Me.TXT_OUT01
     RS!DEP_INT = Me.DEP_INT01
     RS!INFO = Me.INFO02
 
     RS.UPDATE
     RS.Close
     Set RS = Nothing
 
 
MsgBox "Registro Actualizado ", vbOKOnly, "Guardado"
 
End If
End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error 2465.... Boton SQL UPDATE...

Publicado por Anonimo (3316 intervenciones) el 28/09/2021 21:56:47
Entiendo que 'ver' la cadena de texto que conforma la SQL no tienes posibilidad de analizarla (porque eso es lo que se pretendía)..

Lo que me parece redundante es el código expuesto, solo hay una diferencia entre ambas partes de IF: el origen de datos del recordset, modificado este, el resto es idéntico.

Lo aclaro:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub UPDATE_Click()
Dim RS As Recordset
If Me.F_IN02 >= #2/8/2021# Then
   Set RS = CurrentDb.OpenRecordset("SELECT * FROM BASE WHERE REF=" & Me.REF01, dbOpenDynaset)
   Else
   Set RS = CurrentDb.OpenRecordset("SELECT * FROM OLD WHERE REF=" & Me.REF01, dbOpenDynaset)
   Endif
RS.Edit
RS!AREA = Me.AREA02
RS!MATERIAL = Me.MATERIAL02
RS!ESTADO = Me.ESTADO02
RS!F_OUT = Me.F_OUT01
RS!TXT_OUT = Me.TXT_OUT01
RS!DEP_INT = Me.DEP_INT01
RS!INFO = Me.INFO02
RS.UPDATE
RS.Close
Set RS = Nothing
MsgBox "Registro Actualizado ", vbOKOnly, "Guardado"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error 2465.... Boton SQL UPDATE...

Publicado por Gabriel (7 intervenciones) el 28/09/2021 22:12:26
ahora entiendo... gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar