Problem - Access + Visual Basic
Witam wszystkich,
Mój problem w Accessie dotyczy tego, iż gdy wyłączam za pomocą "TickBoxa" możliwość wpisania czegoś do pól w formularzu, pola wyłączają się poprawnie, jednakże gdy przechodzę do następnego rekordu w formularzu, pola tutaj także są wyłączone nawet jeśli nie został zaznaczony "TickBox".
"TickBox" w kodzie poniżej nosi nazwę Homeless.
Czy istnieje możliwość, aby wyłączyć dostępność pól tylko w danym rekordzie formularza, by innych rekordów to już nie dotyczyło?
spoiler start
Option Compare Database
----------------------------
Private Sub Form_Load()
Homeless_AfterUpdate
End Sub
----------------------------
Private Sub Homeless_AfterUpdate()
'Wyłącza dostępność pól "Address", "City" and "Postal Code".
Dim TickedH As Boolean
TickedH = (Me!Homeless = True)
Me!Address.Enabled = Not TickedH
Me!City.Enabled = Not TickedH
Me!PostalCode.Enabled = Not TickedH
If TickedH Then
Me!Address.Value = Null
Me!City.Value = Null
Me!PostalCode.Value = Null
End If
End Sub
spoiler stop
nie, nie itsnieje taka mozliwosc, bo "TickBox" nie ma wartosci w tabeli danych i jest przechowywany lokalnie,niezaleznie od rekordow.
masz dwie mozliwosci - albo dodac do tabeli pole, ktore bedzie przetrzymywalo dane lokalne albo zrobic kolejny wyzwalacz, ktory zadziała podczas przejscia do kolejnego rekordu i uaktywni dane pola w formularzu.
Udalo się, zmieniłem zdarzenie z Form_Load na Form_Current i wszystko jest tak jak być powinno.