RUNSQL Solo me actuliaza la primera vez de varios vece
Hola:
Tengo un formulario para dar de baja un equipo informático con varios elementos por separado (CPU, Monitor, Impresora, etc).
En el formulario de bajas voy marcando distintos elementos, a dar de baja.
Y cuando lo ejecuto voy preguntando elemento a elemento si se va a dar de baja.
Y si esta marcado, actualizo tres tablas:
- Una actualiza los datos de la tabla elementos.
- Otra anexa datos a la tabla de bajas.
-Y la tercera, anexa los datos a la tabla de incidencias.
La primera tabla actualiza bien en todos los casos.
Pero las otras dos tablas de anexado, SOLO LO HACEN CON EL PRIMER ELEMENTO.
Después empiezan a salir errores de conversión de tipo y no actualiza, las dos segundas tablas.
If WSW1 <> "NO" Then
WEQUIPO = Me![EQ_Equipo]
WDIVISION = Me![EQ_Division]
WCENTRO = Me![EQ_Centro]
WNUMSERIE = WSW1
WMOTIVOS = Me.MOTIVOS
Escribe_Registro
End If
If WSW2 <> "NO" Then
WEQUIPO = Me![EQ_Equipo]
WDIVISION = Me![EQ_Division]
WCENTRO = Me![EQ_Centro]
WNUMSERIE = WSW2
WMOTIVOS = Me.MOTIVOS
Escribe_Registro
End If
..........................ETC hasta 9 Elementos todos iguales
y ejecuta "Escribe_Registro"
Public Function Escribe_Registro()
SQL = " UPDATE T_3Eq_Elementos SET " & _
" T_3Eq_Elementos.ELEM_Estado = 'BAJA', " & _
" T_3Eq_Elementos.ELEM_FechaBaja = Date()," & _
" T_3Eq_Elementos.ELEM_Observaciones = " & _
" T_3Eq_Elementos.ELEM_Observaciones & " & "'" & WOBSERVACIONES & "'" & _
" WHERE ((T_3Eq_Elementos.ELEM_NumSerie)=" & "'" & WNUMSERIE & "'" & ")"
DoCmd.RunSQL SQL
SQL = " INSERT INTO T_5Mov_Bajas ( BAJ_Fecha , BAJ_Equipo," & _
" BAJ_Centro, BAJ_Division, " & _
" BAJ_Usuario, " & _
" BAJ_Tipo, BAJ_Marca, BAJ_Modelo, " & _
" BAJ_NumSerie, BAJ_NumInventario, BAJ_Motivos )" & _
" SELECT Date(), ELEM_Equipo, " & _
" '" & WCENTRO & "' ," & "'" & WDIVISION & "' ," & _
" ELEM_Usuario, " & _
" ELEM_Tipo, ELEM_Marca, ELEM_Modelo, " & _
" ELEM_NumSerie, ELEM_NumInventario, " & "'" & WMOTIVOS & "'" & "" & _
" FROM T_3Eq_Elementos" & _
" WHERE ELEM_NumSerie LIKE " & "'" & WNUMSERIE & "'"
DoCmd.RunSQL SQL
SQL = " INSERT INTO T_9Hist_Incidencias ( INC_Fecha , INC_Equipo," & _
" INC_NumSerie, " & _
" INC_Codigo, INC_Motivos )" & _
" SELECT Date(), ELEM_Equipo, " & _
" ELEM_NumSerie, " & _
" '999' & Left([ELEM_Tipo],3)," & "'" & WMOTIVOS & "'" & "" & _
" FROM T_3Eq_Elementos" & _
" WHERE ELEM_NumSerie LIKE " & "'" & WNUMSERIE & "'"
DoCmd.RunSQL SQL
Tengo un formulario para dar de baja un equipo informático con varios elementos por separado (CPU, Monitor, Impresora, etc).
En el formulario de bajas voy marcando distintos elementos, a dar de baja.
Y cuando lo ejecuto voy preguntando elemento a elemento si se va a dar de baja.
Y si esta marcado, actualizo tres tablas:
- Una actualiza los datos de la tabla elementos.
- Otra anexa datos a la tabla de bajas.
-Y la tercera, anexa los datos a la tabla de incidencias.
La primera tabla actualiza bien en todos los casos.
Pero las otras dos tablas de anexado, SOLO LO HACEN CON EL PRIMER ELEMENTO.
Después empiezan a salir errores de conversión de tipo y no actualiza, las dos segundas tablas.
If WSW1 <> "NO" Then
WEQUIPO = Me![EQ_Equipo]
WDIVISION = Me![EQ_Division]
WCENTRO = Me![EQ_Centro]
WNUMSERIE = WSW1
WMOTIVOS = Me.MOTIVOS
Escribe_Registro
End If
If WSW2 <> "NO" Then
WEQUIPO = Me![EQ_Equipo]
WDIVISION = Me![EQ_Division]
WCENTRO = Me![EQ_Centro]
WNUMSERIE = WSW2
WMOTIVOS = Me.MOTIVOS
Escribe_Registro
End If
..........................ETC hasta 9 Elementos todos iguales
y ejecuta "Escribe_Registro"
Public Function Escribe_Registro()
SQL = " UPDATE T_3Eq_Elementos SET " & _
" T_3Eq_Elementos.ELEM_Estado = 'BAJA', " & _
" T_3Eq_Elementos.ELEM_FechaBaja = Date()," & _
" T_3Eq_Elementos.ELEM_Observaciones = " & _
" T_3Eq_Elementos.ELEM_Observaciones & " & "'" & WOBSERVACIONES & "'" & _
" WHERE ((T_3Eq_Elementos.ELEM_NumSerie)=" & "'" & WNUMSERIE & "'" & ")"
DoCmd.RunSQL SQL
SQL = " INSERT INTO T_5Mov_Bajas ( BAJ_Fecha , BAJ_Equipo," & _
" BAJ_Centro, BAJ_Division, " & _
" BAJ_Usuario, " & _
" BAJ_Tipo, BAJ_Marca, BAJ_Modelo, " & _
" BAJ_NumSerie, BAJ_NumInventario, BAJ_Motivos )" & _
" SELECT Date(), ELEM_Equipo, " & _
" '" & WCENTRO & "' ," & "'" & WDIVISION & "' ," & _
" ELEM_Usuario, " & _
" ELEM_Tipo, ELEM_Marca, ELEM_Modelo, " & _
" ELEM_NumSerie, ELEM_NumInventario, " & "'" & WMOTIVOS & "'" & "" & _
" FROM T_3Eq_Elementos" & _
" WHERE ELEM_NumSerie LIKE " & "'" & WNUMSERIE & "'"
DoCmd.RunSQL SQL
SQL = " INSERT INTO T_9Hist_Incidencias ( INC_Fecha , INC_Equipo," & _
" INC_NumSerie, " & _
" INC_Codigo, INC_Motivos )" & _
" SELECT Date(), ELEM_Equipo, " & _
" ELEM_NumSerie, " & _
" '999' & Left([ELEM_Tipo],3)," & "'" & WMOTIVOS & "'" & "" & _
" FROM T_3Eq_Elementos" & _
" WHERE ELEM_NumSerie LIKE " & "'" & WNUMSERIE & "'"
DoCmd.RunSQL SQL
1 respuesta
Respuesta de manuelpacha
1