Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
Доброго времени суток всем. Возникла одна проблемка у меня. Начал тут набрасывать базу данных - решил что городить и сопровождать в дальнейшем ее проще в Access. Но тут я новичек. А база ко вторнику нужна уже.

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

#Опускаю столбцы таблиц которые не понадобятся.
----
Таблица статей (articles)
Поле		тип
id		счетчик
a_name		текстовое
----
Таблица ключевых слов (kw)
id		счетчик
kw		текстовое
(Прим.: Одна запись одно ключевое слово)
---
Таблица соответсвия ключевых слов статьям (kw2a)
id		счетчик
kw_id		численное
a_id		численное
---
Необходимо сделать так, чтобы для каждой статьи был соответсвующий список ключевых слов. Вопрос КАК?
---
Собственно дальше задача будет заключатся еще в организации поиска по ключевым словам/названию статьи (причем из одного поля - т.к. названия статей в этой конкретной базе зачастую уже прекрасно могут использоваться как ключевые слова (но хочется иметь возможность и добавлять свои))
Причем одно и то же ключевое слово обязательно будет соответсвовать нескольким статьям. Поэтому было решено сделать таблицу для связи...

Заранее признателен за любую помощь.
27 мар 05, 05:32    [1417961]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
Необходимо сделать так, чтобы для каждой статьи был соответсвующий список ключевых слов. Вопрос КАК?

В таблице ключевых слов нужно добавить поле id_статей и в Relationships определить: id из таблицы статей относится к id_статей из табл.кл.слов 1 - ко множеству.
27 мар 05, 05:48    [1417962]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
stela

В таблице ключевых слов нужно добавить поле id_статей и в Relationships определить: id из таблицы статей относится к id_статей из табл.кл.слов 1 - ко множеству.


Стоп. Я оговорил заранее - одному ключевому слову соотвествует много статей и одной статье - несколько ключевых слов. Тут отношение можества к множеству.

Так что такой вариант неправилен структурно.

Но спасибо за помощь.

Самым простым вариантом конечно будет перечисление просто их через запятую или перенос каретки в мемо... но это же неправильно...
27 мар 05, 05:55    [1417963]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
Извините, не заметила условия в Вашем первом посте.
Тогда у Вас все есть.

Определяете связи между всеми тремя таблицами, формируете запрос - и будет Вам Ваш список.
27 мар 05, 06:47    [1417965]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
Счастье придет не сразу:) Надо будет код написать, в котором было бы добавление записи в Вашу 3-ю таблицу и заполнение полей автоматом.
Лучше для отладки повесить его на кнопку.
Если нужны примеры, пишите на stela575 собак ру
27 мар 05, 06:55    [1417966]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
А как у вас происходит процесс соотнесения ключевых слов к статье?
27 мар 05, 07:17    [1417967]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
С выборкой то все просто, вопрос в создании формы, где ключевые слова будут списком, с возможностью редактирования.
На это придется вешать обработчик и синтаксический сборщик/разборщик?
27 мар 05, 16:15    [1418199]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
Эти связи то я сделал. Остался вопрос в другом:
При добавлении новой статьи или нового ключевого слова к статье (при этом новое кл. слово уже имеется в справочнике ключевых слов), как обеспечить обработку данного события.
Естественно что в справочнике ключевых слов - на поле kw стоит unique.

Помогите советом пожалуйста.
Заранее спасибо.
27 мар 05, 22:26    [1418395]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
не совсем понимаю, что хочется из последнего вопроса, но приложу простой пример стандартной реализации связи много-ко-многим

К сообщению приложен файл (dbM.zip - 12Kb) cкачать
28 мар 05, 00:37    [1418470]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10

Alexander G wrote:
> не совсем понимаю, что хочется из последнего вопроса, но приложу простой
> пример стандартной реализации связи много-ко-многим
>
>
> К сообщению приложен файл (dbM.zip): cкачать
Спасибо за помощь. Так я и реализовал. Вопрос к этой конкретной
реализации: да, она позволяет избавится от дубликатов в таблице kw, но
не позволяет вводить новые ключевые слова прямо с формы frmArticles.
Как этого избежать?

Posted via ActualForum NNTP Server 1.1

28 мар 05, 03:27    [1418536]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270


К сообщению приложен файл (dbM.zip - 16Kb) cкачать
28 мар 05, 03:46    [1418541]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
alx13,
у вас другое мыло есть? почему-то возвращаются письма.
28 мар 05, 04:30    [1418543]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
stela
Member [заблокирован]

Откуда:
Сообщений: 3896
alx13,
похоже, у Вас ящик переполнен.
28 мар 05, 04:42    [1418545]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
Забыл в спешке(отвлекли) дописать к второму прицепленному файлу, что реализации добавления значения в справочник могут быть различны. В А97 (в последующих акцессах исчезла) прилагалась БД "Решения", там это делалось через дополнительную форму.
28 мар 05, 06:07    [1418549]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10

stela wrote:
> alx13,
> похоже, у Вас ящик переполнен.
>
Похоже gmail сейчас не принимает zip, rar и прочие архивы :( (ГАДЫ)
Если есть возможность то можно на azog [собака] artip.ru

Posted via ActualForum NNTP Server 1.1

28 мар 05, 10:58    [1418904]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10

Alexander G wrote:
> Забыл в спешке(отвлекли) дописать к второму прицепленному файлу, что
> реализации добавления значения в справочник могут быть различны. В А97
> (в последующих акцессах исчезла) прилагалась БД "Решения", там это
> делалось через дополнительную форму.
Все понятно, спасибо.
С обработчиком разобрался ;)

Posted via ActualForum NNTP Server 1.1

28 мар 05, 11:00    [1418919]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
Уф. Вот еще одна бессонная ночка прошла.
В общем есть очередная грабля.
Уважаемые подскажите в чем грабли:
Пытаюсь добавить просто новую запись (форма в базе называется "Карточки статей") - выкидывает в VB.
Никак в толк не возьму что там неправильно...

К сообщению приложен файл (db1.rar - 34Kb) cкачать
31 мар 05, 07:35    [1428688]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
Не понял. Вы выложили базу в формате A97? в нем и работаете?
тогда вместо
CurrentProject.Connection.Execute "insert into tomes(t_name) values('" & NewData & "')"
Нужно писать
currentdb.execute "insert into tomes(t_name) values('" & NewData & "')", dbfailonerror

В правилах написания сообщений на форум настоятельно рекомендуется указывать версию акцесса
31 мар 05, 07:51    [1428698]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
Alexander G wrote:
> Не понял. Вы выложили базу в формате A97? в нем и работаете?
> тогда вместо

> В правилах написания сообщений на форум настоятельно рекомендуется
> указывать версию акцесса
> Тема <https://www.sql.ru/forum/actualthread.aspx?tid=170871> Ответить
> <https://www.sql.ru/forum/actualpost.aspx?tid=170871>
>

Приношу свои извенения, погорячился. Работаю в 2003 Access'е.
Проблема не с insert - а с select.

К сообщению приложен файл (books.rar - 31Kb) cкачать
31 мар 05, 12:02    [1429468]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
Метод Execute не предназначен для запросов на выборку, он для запросов на изменение.
если хотите проверить наличие какого-либо значения в таблице для этого есть функция dlookup. Можно также получить recordset и проверить его.
31 мар 05, 12:36    [1429650]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270
И я не понял, почему ваша форма для ввода Карточки статей имеет источником такой запрос, а не просто таблицу ARTICLES, в которой, наверное, должно быть поле ID_TOMES
31 мар 05, 13:10    [1429843]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
Alexander G
Member

Откуда: Чукчи мы, однако
Сообщений: 3270


К сообщению приложен файл (books1.rar - 22Kb) cкачать
31 мар 05, 13:37    [1429990]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по связи таблиц.  [new]
alx13
Member

Откуда:
Сообщений: 10
Всем большое спасибо за помощь. Я очень признателен за быстрые и очень помогающие ответы.
Вроде "бета" версию написал. Взгляните опытным глазом, если не сложно.

К сообщению приложен файл (books.zip - 47Kb) cкачать
1 апр 05, 03:22    [1432120]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить