У меня есть база данных Access 2016, в которой хранится очень большой список деталей. Помимо прочего, в форме пользователь может выбрать параметры для пометки детали как на складе.
Здесь у меня есть 3 поля со списком. Первый позволяет пользователю выбрать партию - это не влияет на выбор детали, он будет использоваться для записи, откуда пришла деталь. Вторая часть категории. Обновление запускает refre sh для типа детали, чтобы отфильтровать базу данных для этой указанной c категории.
Обновление третьего поля со списком вызывает WebBrowserControl для изменения его SourceControl для отображения изображения этой детали. (Есть десятки тысяч потенциальных частей - я не хочу упаковывать их изображения с БД, и миниатюры доступны в Интернете)
Это работает, но странно то, что при этом сбрасывается 2-й и третье поле со списком, равным нулю. Это как-то запутало меня, когда я перенес эти данные в базу данных позже. Я не могу понять, почему. Вот код AfterUpdate для cb 2 & 3:
Private Sub ChooseCatName_AfterUpdate()
Me.ChoosePartType = ""
Me.ChoosePartType.Requery
Me.ChoosePartNum = ""
Me.wb_partImg.Visible = False
End Sub
Private Sub ChoosePartType_AfterUpdate()
imgUrl = getImgUrl(Me.ChoosePartType)
If imgUrl = "" Then
Me.wb_partImg.Visible = False
Exit Sub
End If
imgUrl = imgUrl & "/85x85p." & Right(imgUrl, 3)
Me.wb_partImg.ControlSource = "=""" & imgUrl & """"
Me.wb_partImg.Visible = True
End Sub
Примечание: getImgUrl просто возвращает строку - URL-адрес, основанный на номере детали
Итак, почему ChooseCatName и ChoosePartType изменится на null как только wb_partImg.ControlSource изменяется ??