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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2009, 20:33   #1
A_ALL
 
Регистрация: 18.08.2009
Сообщений: 4
Восклицание авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы

доброго времени суток!
сорри если подобный вопрос обсуждался, в ФАКе и поиском не нашел.

Ситуевина:
разрабатываю в Access 2007 БД для документации, на основании которой ведутся работы на агрегатах.
По задумке есть "таблица 1" которая содержит данные с номерами документов "1" и относящихся к ним документов "2", "3", и "4",статус документов (open или closed) и данные по выполнению (№ агрегата, дата выполнения работы и наработка агрегата при выполнении работы).
Есть подчиненные таблицы ("таблица 2", "таблица 3", "таблица 4"), в которых описываются более подробно соответственно документы 2, 3 и 4.
Взаимосвязь между документами не прямая, т.е. документу 1 могут соответствовать определенные документы 2, 3 и 4, а могут соответствовать к примеру один только 2 или 2 и 4.

Загвоздка в том, что одному документу "1" могут соответствовать до трех документов "2". При этом все документы необходимо "связать", т.к. в дальнейшем необходимо выводить отчеты с развернутыми статусами каждого из четырех типов документов.
В "таблице 1" для ввода нескольких номеров документов "2" сделал несколько столбцов. Но как сделать так чтобы данные при вводе в эти несколько столбцов в "таблице 1" автоматически эти данные переносились с один столбец "таблицы 2" отдельными строками?
A_ALL вне форума Ответить с цитированием
Старый 18.08.2009, 23:35   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравтсвуйте A_ALL.
скорее всего Вам стоит переделать структуру БД.
"при вводе в эти несколько столбцов в "таблице 1" автоматически эти данные переносились с один столбец "таблицы 2" ..." - не есть верно, данные должны храниться в одной таблице, во всех других используется только ссылка на них.
Но не видя предмет обсуждения - это объяснение "на пальцах".
Евгений.
P.S."несколько столбцов" в таблицах БД обычно называют полями.
Teslenko_EA вне форума Ответить с цитированием
Старый 19.08.2009, 18:51   #3
A_ALL
 
Регистрация: 18.08.2009
Сообщений: 4
По умолчанию

вот ссылка на файл.
Пароль: 911
Может глянете, проясниться что к чему.

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

А более подробное описание документов EO, SB, FAA, ДЛП будет находиться в отдельных таблицах с соответствующими названиями

опишу немного подробней, чтобы стал понятен смысл отношений документов к друг другу.
"EASA" - документ в котором говорится какую/какие работы необходимо выполнить, на основании какой/каких технологий, когда нужно сделать;
"FAA", "ДЛП" - почти тоже самое, но документы издаются разными агенствами, соответственно есть различия в имени, дате издания и т.п.
"SB" - описывает пошаговое выполнения одной работы (т.к. "EASA", может требовать выполнения нескольких работ, то соответственно работы будут выполнять по нескольким "SB" )
"EO" - уточняющий и дополняющий документ SB

Основная проблемма в том что одному EASA могут соответствовать до трех SB. A каждому SB может соответствовать свой EO. При этом связь между ними должна сохраняться, т.е. если в таблице EASA напишу что работа выполнена, то при выполнения отчета на SB, соответсвующие три SB тоже должны будут значиться как выполненные.
Только вот никак не придумаю как можно так сделать. Поэтому пока поставил в таблице EASA только одно поле SB_Ref_1. В последствии должны появиться поля SB_Ref_2 и SB_Ref_3

Последний раз редактировалось A_ALL; 19.08.2009 в 18:55.
A_ALL вне форума Ответить с цитированием
Старый 19.08.2009, 21:53   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравтсвуйте A_ALL.
я сейчас далеко от дома и не смогу помочь, если Вы не выложите файл БД конвертированный в формат Access 2003.
простите на предупредил
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 20.08.2009, 15:36   #5
A_ALL
 
Регистрация: 18.08.2009
Сообщений: 4
По умолчанию

Вот ссылка на БД в .mdb

Сильно не пугайтесь, я только начинаю осваивать access
A_ALL вне форума Ответить с цитированием
Старый 23.08.2009, 01:28   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравтсвуйте A_ALL.
В БД используется понятие Отношение один ко многим (Relation). При создании такой связи между таблицами вполне возможно проследить изменения в связанных таблицах, но связи созданные Вами стоит подкорректировать. Применение текстовых полей в качестве ключевых не запрещено, но минусов от такой организации гораздо больше чем плюсов. Рекомендую ключевыми полями сделать поля типа Счетчик, поля связи будут иметь тип Длинное целое (Long). После корректировки не составит труда построить запрос отображающий записи "SB" для которых связанные записи "в таблице EASA написано что работа выполнена".
В образце я изменил структуру пары Ваших таблиц, после наполнения данными можно их посмотреть в запросах, установив критерии отбора и выбрав необходимые поля использовать как источник для отчета.

Евгений.

P.S. для получения базовых познаний SQL рекомендую - Мартин Грубер - Понимание SQL.rar (1.28 Мб) - это Азбука(!).
Вложения
Тип файла: rar UDC_Ralation.rar (21.5 Кб, 56 просмотров)

Последний раз редактировалось Teslenko_EA; 23.08.2009 в 01:31.
Teslenko_EA вне форума Ответить с цитированием
Старый 24.08.2009, 00:36   #7
A_ALL
 
Регистрация: 18.08.2009
Сообщений: 4
По умолчанию

Спасибо за помощь, Евгений!
Буду разбираться.
Думаю если на форуме есть люди, реально помогающие и дающие дельные советы, то у такого форума есть будущее!

Наверняка я делаю много ошибок, т.к. начал изучать access совсем недавно. Уж не обессудте за вопросы, которые для некоторых кажутся примитивными.

Книжку обязательно прочту, еще раз спасибо.
Единственно что насторожило, это надпись Moskow,1993

Что еще посоветуете для изучения?

Последний раз редактировалось A_ALL; 24.08.2009 в 00:38.
A_ALL вне форума Ответить с цитированием
Старый 24.08.2009, 21:13   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравтсвуйте A_ALL.
не пугайтесь, я не зря написал "это Азбука(!)", буквы изученые в первом классе остаются правильными всегда.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отбор данных из одной таблицы и создание из них другой!!! HuLiGaN Microsoft Office Excel 16 31.03.2009 03:28
перенос данных из таблицы 1 в таблицу 2 AndreyZeus Microsoft Office Excel 1 20.03.2009 16:02
Заполнение одной таблицы данными из другой melok_s Microsoft Office Excel 7 20.11.2008 03:56
Передача данных из одной таблицы в другую, при выборе одной ячейки MickMick Microsoft Office Excel 6 06.10.2008 13:57
Копирование данных из одной таблицы в другую! фЁдОр БД в Delphi 18 06.01.2008 19:27