Modificación de código en access 2007
Me surge un problema que seguro sera de facil solucion pero yo al menos no lo consigo.
En mi BD para la gestion de un criadero de animales tengo dos tablas una TDatos_Machos y otra TDatos_Variedad_Ventas.
El Formulario basado en la tabla TDatos machos tiene un grupo de opciones, en criadero=1 vendido=2 etc que se guarda el valor en el campo "Estado"
En otra tabla llamada compradores tiene insertado un subformulario basado en la tabla TDatos_Variedad_Ventas y relacionados, en este subformulario (formularios continuos) hay un combo NAnillaCompleta filtrado por una consulta donde muestra los animales en venta y si eliges uno pues en el siguiente registro ya no aparece, para saber los animales que quedan disponibles..
Bueno el problema viene por que lo que quiero es que por ejemplo en el evento al perder el foco del Cuadro combinado si elijo un animal logicamente estaria vendido entonces al perder el foco si el campo NAnillaCompleto_Macho de la tabla TDatos_Machos coincide con el valor del combo NAnillaCompleta de la tabla TDatos_Variedad_Ventas fuese a la tabla TDatos_Machos y me cambiase cualquier valor existente del campo "Estado" por el valor 2 (vendido). Y si borro el numero del combo me vuelva a cambiar el valor el "Estado" a 1
Lo he intentado con este codigo pero solo me cambia el primer registro aunque no lo hayas elegido en le combo
Private Sub cboAnillaAñoCompleta_LostFocus()
Dim NAnilla, NAnillaB As Variant
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
'Definimos las variables
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("TDatos_Machos", dbOpenTable)
NAnilla = Me.cboAnillaAñoCompleta.Value 'valor del combo formulario
NAnillaB = DLookup ("[NAnilla_Año_MachoCompleta]","TDatos_Machos","[NAnilla_Año_MachoCompleta]='" & NAnilla & "'")
If IsNull(NAnilla) Then Exit Sub
If NAnillaB = NAnilla Then
With rst
.Edit
.Fields("Estado_Macho").Value = "2"
.Update
End With
End If
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
End Sub
La parte en negrita va toda seguida claro...