Consulta Actualizacion con mas de un Campo

Jacinto en días paados, tu me ayudaste con un error que se me presentaba en una consulta de actualizacion, al dia de hoy estoy enredado con un requerimiento que me hacen sobre la misma consulta y no se como encasillarlo, paso a explicarte.

Resulta que ingresando el COD_LOTE me piden que actualice tres campos teniendo en cuenta unas constantes que se utilizan es decir si en el campo de TxtActualiza ingresan el ID_Estado = 3.1 y se deben actualizar dos campos uno llamado ESTADO Y OTRO LLAMADO SUBESTADO para este caso quedaria asì

ID_ESTADo = 3.1

ESTADO = 3 CONSTRUCCION

SUB_ESTADO = 1 REVISANDO FACTIBILIDAD

Se que lo podria hacer con un selec case segun corresponda pero no encuentro como incluirlo dentro de lo que ayudaste a validar.

Me disculpas soy nuevo en esto me esta rajando el alma.

Private Sub TxtActualiza_AfterUpdate()
Dim StrSQL As String
Dim CriterioUno As String, CriterioDos As String, Criterios As String
Dim Rst As DAO.Recordset
Dim NumRegistros As Long
'Primero nos aseguramos que el COD_LOTE que hemos escrito devuelve Registros
StrSQL = "SELECT COD_LOTE FROM Reportes WHERE COD_LOTE = '" & Me.txtindependiente & "'"
Set Rst = CurrentDb.OpenRecordset(StrSQL, dbOpenSnapshot)
 If Not Rst.EOF And Not Rst.BOF Then
        Rst.MoveLast
        Rst.MoveFirst
        NumRegistros = Rst.RecordCount
        MsgBox "Se van a actualizar  " & NumRegistros & " Registros", vbInformation, "MENSAJE DE SEGUIMIENTO"
        StrSQL = ""
        CriterioUno = "Reportes.pRUEBA = '" & Me.TxtActualiza & "'"
        CriterioDos = " WHERE Reportes.COD_LOTE = '" & Me.txtindependiente & "'"
        Criterios = CriterioUno & CriterioDos
        StrSQL = "UPDATE Reportes SET " & Criterios
        DoCmd.SetWarnings False
        CurrentDb.Execute StrSQL, dbFailOnError
        DoCmd.SetWarnings True
        CriterioUno = ""
        CriterioDos = ""
        Criterios = ""
        StrSQL = ""
Else
        MsgBox "Debe de haber un error en el dato o el COD_LOTE no existe", vbCritical, "REPASAR EL CODIGO INTRODUCIDO"
End If
Rst.Close
Set Rst = Nothing
End Sub

1 Respuesta

Respuesta
1

OK Julio: Lo miro y te contesto "as soon as possible", que suelen decir los Ingleses.

Y no te digo "estamos en ello", porque es otro concepto >> Jacinto

Julio: Por eMail te acabo de enviar la BD con la modificación del código.

Ya me comentarás: Jacinto

Gracias jacinto por tu ayuda, funciona muy bien, pero me acabo de enterar que no solo es para este ID_CODIGO y me han pasado la siguiente tabla, la cual por lo que veo la tengo que abrir en dos para poder crear la relación entre el ID_Estado, el Estado y El Sub_Estado. Comité el error de asumir el reto y ahora estoy con el agua al cuello, me podrías colaborar indicándome como lo puedo hacer

Julio: Si lo entiendo bien y haciendo un pequeño resumen tenemos que hacer>>

Primero.- Informar en el Cuadro de Texto TxtCodLote un Valor para localizarlo en la Columna COD_LOTE de la Tabla que he Renombrado como TblReportes

Segundo .- Sin entrar ahora como lo haremos, ponemos en "algún sitio" un IDESTADO

Y a ese valor le asociamos unos "literales" con los que sustituimos el valor de los Campos:

IDESTADO, ESTADO, SUB_ESTADo y ESTADO_SUBESTADO2.

Si ésto es así, lo más adecuado será partir de esa Tabla, que después se puede ir ampliando con otros literales.

Para no tener que crearla yo, ya que en la que tengo no está el Campo ESTADO_SUBESTADO2, me la envías a mi eMail y montamos el Cógdigo: Jacinto

Julio: Acabo de enviarte por eMail un nuevo fichero que creo que cumple con lo que he interpretado que necesitabas>> Jacinto

¡Gracias! Jacinto por tu conocimiento y tu paciencia, eres un crack en esto de access me gustaría aprenderlo 100% esta abierto a lo que uno quiera.

Saludos, Julio Valencia

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