Actualizar registro existente con código de expediente
Tengo esta tabla llamada Expedientes:
IdExpedientes - Autonumérico
Ayuntamiento - Tipo Texto
CodExpediente - Tipo Texto
En un formulario tengo un cuadro combinado donde aparecen una serie de ayuntamientos. Elijo el que desee y tengo desarrollada (gracias a los compañeros de todoexpertos) un pequeño código a través del cual genero automáticamente el código de expediente que tiene una secuencia EXP001/2021. El código que utilizo es el siguiente:
If Not IsNull(Me.cboayuntamiento) Or Me.cboayuntamiento <> "" Then If MsgBox("¿Estás seguro que quieres crear el expediente?", vbQuestion + vbYesNo + vbDefaultButton2, "Alta de Nuevo Expediente de Subvenciones") = vbYes Then CurrentDb.Execute "INSERT INTO Expedientes(CodExpediente,Ayuntamiento) VALUES('" & sgte_exp() & "','" & Me.cboayuntamiento.Column(1) & "','Si')" If Err.Number = 0 Then MsgBox "Expediente dado de alta con éxito", vbInformation, "Alta de Nuevo Expediente" End If End If End If
El código para que no se repitan los códigos de expedientes es el siguiente:
Public Function sgte_exp() As String Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Set db = CurrentDb strSQL = "SELECT Last(Expedientes.CodExpediente) AS ultimo, Max(Val(Mid([CodExpediente],4,3))) AS cons FROM Expedientes;" Set rs = db.OpenRecordset(strSQL) If IsNull(rs!cons) Then sgte_exp = "EXP" & "001/2021" Else sgte_exp = "EXP" & Format(rs!cons + 1, "000") & "/2021" End If rs.Close db.Close Set rs = Nothing Set db = Nothing End Function
Hasta aquí todo funciona de maravilla. Pero parto del hecho de que el sistema crea cada vez un nuevo registro en esa tabla de Expedientes, es decir, son registros nuevos.
Lo que yo quiero y no soy capaz de programar es que imaginemos que en esa tabla de expedientes ya están los ayuntamientos en cuestión (15, 20 o los que sean) y lo único que quiero es que, en función del ayuntamiento que yo haya seleccionado en el cuadro combinado del que hablaba antes sólo se me actualice el campo de ese ayuntamiento relativo al Código de Expediente, pero no soy capaz.