Есть ли в access способ сделать так, чтобы изменения (которые вносятся в подчиненную форму) ссылались на другую таблицу в базе данных, которая имеет уникальную структуру идентификаторов?

#vba #ms-access #data-structures #filter #subform

#vba #ms-access #структуры данных #Фильтр #подчиненную форму

Вопрос:

Я создал базу данных с уникальной структурой идентификаторов. В форме у меня есть подчиненная форма, которая фильтруется по имени тега, которое вы можете выбрать в форме со списком. При обновлении этого выпадающего списка подчиненная форма обновляется данными, принадлежащими этому тегу. Проблема, с которой я сталкиваюсь, заключается в редактировании подчиненной формы. Это связано с тем, что структура таблицы задана так, что Tagname_ID связан с параметром_id . И Parameter_ID с описанием параметра (см. Изображение).

введите описание изображения здесь

Теперь моя подчиненная форма частично подключена к таблице tblParameters (см. Изображение).

введите описание изображения здесь

Когда я редактирую что-то в подчиненной форме, оно редактирует его в tblParameters в строке с соответствующим параметром_id, но на самом деле мне хотелось бы, чтобы вы могли выбрать существующий параметр из таблицы tblParameters, и форма свяжет Paramter_ID с соответствующим тегом. name . Я бы не знал, как это сделать, не меняя структуру моей базы данных. Есть идеи, как это может работать?

Комментарии:

1. Итак, вы не хотите привязывать форму непосредственно к таблице? Почему бы и нет? Можно использовать VBA для применения критериев фильтрации к форме, установив свойства Filter и FilterOn. Это верно независимо от того, является ли RecordSource таблицей, запросом или оператором SQL. Или может использовать динамический параметризованный объект запроса и, возможно, не нуждается в VBA (я не использовал динамические параметризованные запросы).

2. Подчиненная форма может быть напрямую связана с таблицей, в этом случае единственная проблема заключается в том, что таблицы обновляются неправильно. <br> Так, например: Для редактирования — Parameter_ID = 1 — Описание параметра = Inom После редактирования — Parameter_ID = 1 — Описание параметра = Test Это не то, чего я хочу. Я хотел бы видеть, что после редактирования, например, Parameter_ID 2 ассоциируется с именем тега. В подчиненной форме элементам управления требуется controlsource, поэтому при изменении описания в подчиненной форме обновляется неправильная таблица.

3. Строка ссылки между tblParameter и tblTagname_And_Parameter выглядела в обратном направлении. Похоже, что связь «многие ко многим» с tblTagname_And_Parameter в качестве таблицы соединений. Обычным дизайном формы для ввода данных было бы: 1) основная форма, привязанная к tblTagname, и подчиненная форма, привязанная к tblTagname_And_Parameter со списком для выбора параметра или 2) основная форма, привязанная к tblParameter с подчиненной формой, привязанной к tblTagname_And_Parameter со списком для выбора тега или 3) отдельная форма, привязанная к tblTagname_And_Parameter с выпадающими списками для выбора имени тега и параметра.

4. То, что у вас сейчас есть, похоже на форму, привязанную к запросу, который может включать объединенные таблицы, а элемент управления привязан к неправильному полю.

5. Спасибо! Я все время думал, что ваш controlsource должен быть связан с параметром, но, конечно, он также может быть связан с идеей и показывать описание.