Защо При мен не става актуализацията на списъка във второто поле ?

Тайните на Access Бази данни с Access MS Access

Само при натискане на Refresh тогава се зареждат новите стойности в Комбо бокса на второто поле. После, при всяка промяна трябва да се дава Refresh

Здравейте, Alexander, това се случва, защо при промяна на стойността в първото комбо поле, Access не знае, че трябва да актуализира второто. За да се реши проблемът, трябва да настроите така, че при промяна на първото поле, второто поле автоматично да се актуализира.

Синхронизирането на падащи списъци във формите на Access обикновено изисква използването на Visual Basic for Applications (VBA) код. Проблемът, който описвате, обикновено се дължи на факта, че Access не е инструктиран да актуализира второто комбо поле, когато първото комбо поле бъде променено.

Ето как можете да го решите:

  1. В менюто Form Design Tools изберете Design View.
  2. Изберете първото комбо поле.
  3. Отивайте в Property Sheet и отворете раздела Event.
  4. При полето After Update, щракнете върху елипсиса (...) и след това изберете Code Builder.
  5. В отворения VBA редактор, ще ви бъде представен кодът за After Update събитието на първото поле. Напишете кода, който актуализира второто комбо поле. Например:
Private Sub Combo1_AfterUpdate()
    ' Requery the second combo box when the first one changes.
    Me.Combo2.Requery
End Sub

В този код Combo1 е първото комбо поле и Combo2 е второто комбо поле. Кода Me.Combo2.Requery казва на Access да актуализира второто комбо поле когато стойността на първото поле се промени.

Не забравяйте да замените Combo1 и Combo2 с имената на вашите комбо полета. Запазете и затворете VBA редактора и пробвайте дали синхронизацията между двете полета вече работи както трябва.

Благодаря, за отговора ! Ще го изпробвам...


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация