Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - Текущая запись при редактировании таблицы Access

Ответить
Настройки темы
Прочие БД - Текущая запись при редактировании таблицы Access

Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: hasherfrog
Дата: 29-01-2010
Всем привет. Сразу оговорюсь, вопрос для профессиональных пользователей Ms Access.

Ситуация следующая. Есть база, Ms Access 2003, в ней две таблицы, справочная (таблица "Справочник") и какие-то данные (таблица "Данные") для заполнения. Таблица "Данные" имеет два поля (назовём их "Наименование" и "Дополнительно"), которые соответствуют двум аналогичным полям из "Справочник" (также "Наименование" и "Дополнительно"). (По-хорошему, такое поле должно было бы быть одно, но есть определённые специфические вещи, которые заставляют искать решение именно в такой вот ситуации).

Таблица "Справочник" построена с использованием ключевого поля "Наименование", т.е. данные там уникальные. Это поле отражается в соответствующее поле "Наименование" таблицы "Данные" (я повторяюсь). Когда пользователь вводит данные в эту колонку таблицы "Данные" в режиме редактирования таблицы (не через форму!), используется "Мастер подстановок", привязанный к данному полю в режиме конструктора, которые выдает пользователю комбо-бокс, заполненный простейшим запросом "SELECT Справочник.Наименование FROM Справочник;" - тут всё просто. Теперь пользователь может ввести только то, что есть в "Справочник", по идее (но вообще-то изначально там может быть что-то другое, что не соответствует ни одному значению из "Справочник", а попало туда как-то иначе, например копипастом из Excel). Но вот пользователь выбрал то, что нужно, и что есть в "Справочник"...

Теперь пользователь хочет ввести данные во вторую колонку таблицы "Данные", в колонку "Дополнительно", соответствующую колонке "Дополнительно" таблицы "Справочник". По идее, ему должен открыться комбо-бокс, содержащий одно-единственное значение, которое выбирается из таблицы "Справочник" по значению поля "Данные" текущей редактируемой записи. Но оказывается, это не так просто сделать. Мы попросту не знаем этого значения. В режиме редактирования данных таблицы мы не знаем, в какой записи мы находимся, мы не знаем значения полей из этой записи - и не можем сделать запрос.

Как быть?

Если бы заполнение таблицы "Данные" шло через форму, можно было бы рассчитывать на значение поля "Наименование" текущей редактируемой в форме записи. Оно бы заполнялось при переходе на эту запись автоматически (или пользователем) - а потом можно было бы его использовать как фильтр или напрямую в запросе. Но в режиме редактирования таблицы напрямую, без формы - мы его не можем достать.

Можно использовать отображение в комбо-боксе ВСЕХ возможных значений поля "Дополнительно" - но это чушь. Значение есть только одно возможное.

Можно просить задавать конкретное значение поля вручную для проведения запроса. Но это тоже чушь - пользователю придется печатать кучу текста, это во-первых; во-вторых, почему-то у меня получается только такой вариант, что запрос отрабатывается лишь один раз - и потом всё время выдаёт в комбо-боксе выбора одно постоянное значение из этой первой выборки.

Есть какие-то решения? Без форм, можно на макросах-запросах и т.д. - но без использования формы.

_______________________

Да, как я и думал. Просмотров - 1.
Видимо, это я.
Вопрос на засыпку, что называется.

Отправлено: 14:40, 29-01-2010

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


hasherfrog, а исходничек посмотреть нельзя? Наживую проще думается и наглядней.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 01:40, 01-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - Текущая запись при редактировании таблицы Access

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка при редактировании шаблона jorikello Вебмастеру 1 17-04-2009 08:23
[решено] При редактировании поста пропадает отметка "Полезное сообщение". Oleg_SK О сайте и форуме 0 15-08-2007 14:03
[решено] Проблемы с кодировкой в SSI вставках при редактировании Dramweaver MX DMGaster Вебмастеру 7 13-12-2006 06:21
Текущая настройка безопасности ActiveX Motto Защита компьютерных систем 1 26-12-2004 19:05
Ошибка при редактировании настроек сети Sand Microsoft Windows 95/98/Me (архив) 3 27-01-2003 13:53




 
Переход