IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Вопрос по Access (https://www.imho.ws/showthread.php?t=109222)

Praetorian 05.10.2006 22:33

Вопрос по Access
 
Прошу помощи по созданию БД в Access.
Озадачился я созданием БД компании по договорам с контрагентами, но поскольку не имею специального образования и с компьютером вроде дружу, но с БД раньше сталкиваться не приходилось (в основном Excel), поэтому получился затык. Короче, есть желание сделать базу по организациям со следующей структурой: компания - номер договора - приложение/соглашение к договору. Причем к одному и тому же договору может быть как и приложение, так и соглашение. Дошел по книге по Access до построения связанных таблиц и подтаблиц, но черт побери, как встроить в таблицу "Организации" две подтаблицы "Приложения" и "Соглашения" и чтобы они замыкались на один договор?
Прошу простить если непонятно обрисовал проблему - это от недостатка спец. образования.

Borland 05.10.2006 22:43

Praetorian
Таблицы в реляционных БД не встраиваются, они связываются.
Т.е. создаёшь таблицу "Организации", содержащую поля "Название", "Номер договора" и "Текст договора", и таблицу "приложения и соглашения", Содержащую поля "№Договора" (для связи с 1-ой таблицей), "Тип" (приложение или соглашение), "Текст документа" (собственно содержимое).
Таблицы связываются по полю "№ договора".
Дальше можно накручивать и накручивать... ;)

ЕЖ 05.10.2006 22:49

Тут надо рисовать схему БД (сущности и связи между ними). Иначе на словах можно не понять где и что ты имее ввиду. Так что хорошо бы ты привел схему того, что уже наваял.

Цитата:

Praetorian:
компания - номер договора - приложение/соглашение к договору. Причем к одному и тому же договору может быть как и приложение, так и соглашение
Цитата:

Praetorian:
как встроить в таблицу "Организации" две подтаблицы "Приложения" и "Соглашения" и чтобы они замыкались на один договор?
Если я правильно понял что ты написал, то у тебя должна быть таблица "Организации", таблица "Договора" со ссылкой на организацию, таблица "Приложения" со ссылкой на договор и таблица "Соглашения" также со ссылкой на договор. Если хранение приложения и соглашения в БД по полям выглядит одинаково, то их надо свести в одну таблицу со ссылкой на договор и ввести поле типа документа - приложение/соглашение.

Упс... опоздал, написал практически то же самое, что и Borland :beer:

Borland 05.10.2006 22:54

Кстати, если с одной организацией может быть заключено несколько договоров - имеет смысл выделить договора в отдельную таблицу, как предложил ЕЖ.

alsergeich 06.10.2006 09:10

Создал таблицу "Организации", у нее необходимые поля в числе которых два ,например таких : "№Приложения" и "№Соглашения".
Также созжаешь еще две таблицы "Приложения" и "Соглашения".
Связываешь 1к1 или один ко многим в зависимости от производственной необходимости. 1к1 оч легко. один ко многим сложнее, т.к. access по умолчанию не поддерживает, нужно вставлять доп таблицу.
Если что-то не понятно пиши на мыло, объясню. На самом деле все очень просто.

Praetorian 07.10.2006 13:27

Учел все советы, пошел работать мозгом :) . Ну если опять встряну, то не обессудьте, буду вас мучить :) через приват!

metrim 21.02.2007 05:31

Треба помосч
 
Что то я совершенно не могу понять, как сделать ..
У меня есть форма. Там поле со списком (из запроса). Допустим я добовляю (в другой таблице или форме) значение. Как сделать так, что бы списочек в этом поле обновился без перезапуска формы?
Есть так же более сложный вариант, но было бы здорово, если бы сначала помогли с этим ...

EvroStandart 21.02.2007 11:56

Так всётаки в другой таблице или где ты добавляеш? Если в другой таблице, тогда зачем обновлять?
Выложи пример - так проще всего что-то пробовать.

metrim 21.02.2007 13:14

Вложений: 1
Кароче
Выкладываю пример. Интересует форма "Почвы"
Ка это должно работать по задумке:
Там есть флажок "Заголовок". При его отмечании, данная запись должна становиться членом списка "ВходитВгруппу" (сам списочек для данной записи при этом должен становиться неактивным, но это уже "декоративность"). Почему, даже при переходе к следующей записи, поле со списком остаётся неизменным, а при взгляде в таблицу-источник видно, что данные не меняются.
Надо сделать, что бы при отметке флажком записи, она появлялась в списке.

Далее, надо что бы при нажатии кнопки "Добавить регион" и добавлении нового субъекта, в списке "Регион" - он тут же появлялся.

Всё довольно сумбурно, но вроде как то так ...

Пожалйста помогите :молись:

Ненадо только отделоваться ответами: "юзай макросы и модули" или "RTFM"

EvroStandart 22.02.2007 12:14

Вложений: 1
Сразу запись нигде не появляется по тому, что она не записывается никуда. Автоматически записывается только когда переходишь к другой записи или закрываешь форму.
Для обновления списка я сделал макрос. Теперь при переходе на соседнюю запись и обратно всё везде появляется.
Может тебе понадобится на этой форме кнопка "сохранить изменения".


ЗЫ.
Кириллица в макрокоде и названиях элементов - зло.
:)

metrim 23.02.2007 04:55

Цитата:

Сообщение от EvroStandart (Сообщение 1361924)
Для обновления списка я сделал макрос. Теперь при переходе на соседнюю запись и обратно всё везде появляется.

У меня почему то - не работает :(
Галочку кликаю, перехожу на следующую запись, а список - без изменений ...:idontnow:
У меня Оффис 2003 (на всякий случай)...

EvroStandart 23.02.2007 17:06

там надо ещё название в верхнем текстбоксе менять и тогда перейти на другую запись и обратно. Это сделано только для примера "в какую сторону копать".

Если ещё непонятно, можно немного доделать.

EvroStandart 01.03.2007 12:01

Вложений: 1
Если ещё актуально.
Сделал копию таблицы и свою форму. При нажатии на кнопку изменения записываются и список обновляется.

Praetorian 28.06.2007 13:03

Вложений: 1
Еще раз хочу просить помощи уважаемых форумчан.
Когда-то поднимал эту тему - начал делать базу, а потом забросил. Сейчас опять по новой. Не могу сделать многотабличную форму - сделал 3 таблицы: организации, договора, приложения, связал их. Теперь надо воткнуть еще одну таблицу с марками угля (специфика работы) и связать с остальными таким образом, чтобы к каждому приложению (по всем организациям) была таблица по маркам угля с ценами и объемами, причем по одному приложению может быть несколько разных марок угля. Для понимания прблемы прилагаю мое видение базы. Буду признателен если поможете решить проблему (или навести на мысль).

EvroStandart 29.06.2007 13:26

Сделай новую базу с примером таблиц и тестовыми данными. Сюда выложиш - можно будет посмотреть.

Praetorian 29.06.2007 15:05

Вложений: 1
Цитата:

Сообщение от EvroStandart (Сообщение 1429383)
Сделай новую базу с примером таблиц и тестовыми данными

Вот то, что наваял. Давай через аську, номер сброшу в пм.


Часовой пояс GMT +4, время: 06:20.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.