powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление и удаление записей в подчиненной форме
11 сообщений из 11, страница 1 из 1
Добавление и удаление записей в подчиненной форме
    #32379474
Есть две формы: Form_1 и Form_2. В Form_1 есть список людей, в Form_2 - отображаются их данные. Form_2 является подчиненной для Form_1 через контрол frm_form2.
Как сделать: при нажатии кнопки btn_newRec в главной форме (Form_1) чтобы в Form_2 можно было добавить нового человека?

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379478
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. Для тех, кто не читал предыдущий топик: список людей в главной форме сделан в виде листбокса.\r
\r
2. Для автора вопроса: а почему в подчиненной форме нельзя просто вводить данные, без всякой кнопки?
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379481
При выборе человека ListBox'е его данные отображаются в подчиненной форме. Ведь нужно переставить указатель подчиненной формы на новую запись (т.е. чтобы он отчистил все controls и дал возможность добавлять) ?

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379485
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вообще-то я не совсем прав. Если главная форма настроена на существующего человека, то весь ввод в подчиненной будет относиться к нему. Надо главную настроить на несуществующий код, и тогда в подчиненной будет пустое место для ввода.

Это делается так: в листбоксе добавляется строчка "новый" с кодом 0 или -1 (при помощи Union Query), а в таблице поле, служащее для связи форм, должно быть счетчиком.
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379487
он добавил в таблицу peoples новую запись с id=-1 ! странно ;)
хотя id является счетчиком.
теперь при перезагрузке формы в ListBox'е есть две записи: Тимур (та что я добавил и у которой id = -1) и Новый и обе указывают на одну (т.е. в подчиненной грузится Тимур с его данными :)


---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379491
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Что-то странное. Я имел в виду другое. Даже если эту фиктивную запись занести физически в таблицу, то должно быть так:

Код: plaintext
1.
2.
3.
4.
  1  Каримбаев
  2  Кацман
  3  Кузнецов
- 1  новый

Если стоим на строке с человеком, то в подчиненной форме показываются его данные. Если же стоим на строке с -1, то в подчиненной пусто, и тогда там можно начать набирать. В момент набора счетчик получит значение 4.
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379498
нет, в смысле я сделал в RecordSource ListBox'а запрос с Union
Код: plaintext
1.
SELECT id, name FROM peoples
UNION SELECT - 1  as id, 'Новый' as name FROM peoples

в ListBox'е выбрал "новый" - в подчиненной форме действительно все пусто было. Потом, когда заполнил в ней поля - в ListBox'е ничего не изменилось (хоть я и ввел имя Тимур, но Requery listbox'а не делал), после этого запустил форму - в ListBox'е оказались и "Тимур" и "Новый" причем указывали на одну и ту-же запись (в смысле в подчиненной выводилась одна и та-же). посмотрел таблицу peoples - там появилась новая запись (Тимур) с id = -1

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379503
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Понял. Получается, что значение по умолчанию, которое заносится за счет связи с главной формой, сильнее, чем значение по умолчанию, которое заносится за счет того, что это счетчик. :^( Прошу прощения.

Тогда придется действительно делать кнопку, а в ней так:

dim newid as long

with currentdb.openrecordset("peoples",dbopendynaset)
.addnew
newid=!id
.update
.close
end with

me!mylistbox.requery
me!mylistbox=newid
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379504
спасибо большое
я это вчера уже сделал, правда с помощью currentdb.execute ("insert ...")
просто было ощущение что делаю неправильно, решил спросить как это делают мастера. Ну если уж Владимир Саныч дает такое решение значит другие искать бесполезно, а может и кощунственно ;)

---------------------------------------
С уважением, Каримбаев Тимур
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379510
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ни в коем случае не хочу быть непререкаемым авторитетом. Я вообще-то в некотором напряге, когда отвечаю один и никто меня не может поправить.

Но инсерт хуже, потому что сложнее узнать значение id в добавленной записи. :^)
...
Рейтинг: 0 / 0
Добавление и удаление записей в подчиненной форме
    #32379513
да, действительно, этим намного хуже, т.к. часто надо знать id
в общем спасибо большое, с этим разобрался
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление и удаление записей в подчиненной форме
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]