Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 11:46   #1
s_sarkazm
 
Регистрация: 25.08.2011
Сообщений: 5
По умолчанию Как сделать заполнение двух таблиц из одной формы?

Суть такова. Есть таблица и её форма. Нужно чтобы с этой формы заполнялась еще одна таблица, почти такая же как первая, только без одного столбца.
Опишу всю ситуацию, может подскажете другие пути решения.
На моем компьютере есть БД (не видимая в сети) с основной таблицей, и формой. В таблице столбцы "Имя", "Фамилия", "Адрес", "Личные данные".
На другом компьютере хочу чтобы можно было видеть и дополнять эту базу людей, но без "личных данных". Поэтому хочу создать у себя в базе таблицу без "Личных данных", затем создать у себя на компьютере БД(в общем доступе по сети), содержащую таблицу, связанную с таблицей в первой БД Без "Личных данных". В этой БД и будут вноситься другие изменения, а "Имя", "Фамилия", "Адрес" останутся неизменными.
s_sarkazm вне форума Ответить с цитированием
Старый 07.12.2011, 12:08   #2
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

На событие формы Form_AfterInsert() подвесьте выполнение запроса на добавление, но по моему в этом случае нужно в запросе прописать условие WHERE, чтоб запрос добавил нужную запись.

Можно открыть рекордсет таблицы, куда хотите запись добавить; тут можно значения брать из контролов формы и передавать их в рекордсет.
Woodlin вне форума Ответить с цитированием
Старый 07.12.2011, 14:27   #3
s_sarkazm
 
Регистрация: 25.08.2011
Сообщений: 5
По умолчанию как то проще можно наверно...

как то проще можно наверно...
по сути простое заполнение двух таблиц с одной формы..Access это ведь может?
s_sarkazm вне форума Ответить с цитированием
Старый 07.12.2011, 16:53   #4
s_sarkazm
 
Регистрация: 25.08.2011
Сообщений: 5
По умолчанию

вот база. Что можно сделать?
Вложения
Тип файла: rar проба.rar (16.9 Кб, 39 просмотров)
s_sarkazm вне форума Ответить с цитированием
Старый 08.12.2011, 09:36   #5
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Базу посмотреть не могу, оффис 2003.
У Вас как я понимаю у формы есть источник записей - таблица. И когда Вы в форме делаете какие-то операции с записями, они автоматически применяются к записям таблицы (которая является источником строк формы).
Так что если хотите добавить запись в другую таблицу, которая не является источником записей и к форме никакого отношения не имеет, придётся писАть руками.
Woodlin вне форума Ответить с цитированием
Старый 08.12.2011, 09:55   #6
s_sarkazm
 
Регистрация: 25.08.2011
Сообщений: 5
По умолчанию

ну если надо, я готов! с вашей помощью, если можно) ибо сам знаю только азы vba, и азы аксеса

вот база в 2003 аксесе
Вложения
Тип файла: rar проба03.rar (16.0 Кб, 22 просмотров)
s_sarkazm вне форума Ответить с цитированием
Старый 08.12.2011, 12:01   #7
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Событие формы Form_AfterInsert() (срабатывает после добавления новой записи в таблицу) вызывает запрос на добавление ДобавитьЗапись, который новую запись (определяет её по полю формы Код) добавляет в другую таблицу.
Вложения
Тип файла: rar проба03.rar (23.4 Кб, 91 просмотров)
Woodlin вне форума Ответить с цитированием
Старый 08.12.2011, 14:41   #8
s_sarkazm
 
Регистрация: 25.08.2011
Сообщений: 5
По умолчанию

У меня теперь другая проблема: ограниченное число вставляемых данных, Если захочу расширять базу.
Поэтому переделал БД. С формы заполняется две таблицы, не дублируя друг друга. Но есть проблема. Когда заполняется таблица 2 (она является связанной и заполняется еще отдельно с другого компьютера), возникает расхождение в ключевых полях таблиц 1 и 2.
Вложения
Тип файла: rar проба2003.rar (26.6 Кб, 48 просмотров)
s_sarkazm вне форума Ответить с цитированием
Старый 09.12.2011, 07:24   #9
Woodlin
Форумчанин
 
Регистрация: 30.03.2010
Сообщений: 153
По умолчанию

Вы зря создаете связь между таблицами по полю типа счетчик. Рекомендую поле Код табл 1 сделать тип числовой.
Woodlin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в Dbgrid удалять строку состоящую из двух таблиц Fanar БД в Delphi 8 12.03.2011 12:21
Заполнение двух таблиц одновременно Emprio Microsoft Office Excel 2 14.01.2011 13:08
Удаление записи в одной из двух таблиц ViNcHeStEr БД в Delphi 1 03.04.2010 12:04
Создание из двух таблиц одной, с группировкой данных в соответствии с датами (Exl 2003) olegur Microsoft Office Excel 4 01.04.2010 06:08
как выбрать несовпадающие данные из двух таблиц Tatu Microsoft Office Access 2 16.03.2010 20:41