как сбросить форму (которая связана с присоединением запроса) - PullRequest
0 голосов
/ 07 октября 2011

В моей базе данных Access 2010 у меня есть две таблицы: клиенты (со столбцами: client_id, name) и заказы (со столбцами: order_id, client_id, description). У меня есть запрос с именем orders_with_clients, который объединяет клиентов и их заказы (что-то вроде «select orders.client_id, orders.description, clients.name из orders объединяет клиентов на orders.client_id = clients.client_id»). Я могу вставить в этот запрос. Я могу вставить в него двумя способами:

  1. Я могу предоставить client_id и описание (что-то вроде «вставить в orders_with_clients (client_id, description) значения (3,« три пары носков »)») - в этом случае Access создает новую строку в подключенной таблице заказов (по внешнему ключу) с существующей строкой из таблицы клиентов.

  2. Я могу предоставить имя и описание (что-то вроде «вставить в значения orders_with_clients (имя, описание) (« Zenon »,« три пары носков »)») - в этом случае Access создает новую строку в клиентах таблицу, а затем новую строку в таблице заказов, связанную (с помощью внешнего ключа) с этим новым клиентом.

У меня есть форма, связанная с запросом orders_with_clients. Он имеет три поля: client_id (это может быть поле со списком или текстовое поле - мне все равно), имя и описание (оба текстовых поля). Конечно, в любое время пользователь использует только два из этих полей: client_id и description или name и description.

Поле client_id контролируется (устанавливается) некоторым кодом VBA на основе того, что происходит в некоторых других формах. Я имею в виду, что когда происходят некоторые события, мой код VBA устанавливает в поле client_id какое-то значение. Я также хочу, чтобы иногда код VBA сбрасывал эту форму для очистки пустого состояния, включая установку поля client_id для очистки нового пустого состояния. И вот тут у меня проблема. Я пытался сделать «fieldname.value = 0» и «fieldname.value = null», но Access говорит, что это ошибка, указывать здесь null. Я также пытался сделать что-то вроде «formname.requery», но это привело к сохранению текущего состояния в базе данных.

Как я могу это сделать?

1 Ответ

0 голосов
/ 07 октября 2011

Это связанная форма, и, надеюсь, идентификатор клиента будет привязан к ключевому полю, вы не хотите его менять.

После этого все зависит от того, что вы хотите сделать.Вы хотите использовать форму для ввода данных?В этом случае откройте форму с новыми аргументами.Вы хотите открыть с другим ID?Затем снова откройте форму или установите источник записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...