0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|||||||||||
1 | |||||||||||
Многотабличный запрос sql access, загрузка в одну таблицу данных из нескольких18.11.2014, 14:34. Показов 4177. Ответов 32
Метки нет (Все метки)
в продолжение темы подскажите в такой проблеме нужно на основании имеющегося ключевого поля вывести таблицу связанную с ней, а в той таблице несколько полей связаны с другими таблицами, в аксесе я вижу те данные которые я выбрал в списке данных из других таблиц, а в делфи я вижу id выбранных данных
вот по такому запросу выходит пустая таблица
0
|
18.11.2014, 14:34 | |
Ответы с готовыми решениями:
32
Access 2003. Добавление данных из нескольких полей в одну таблицу SQL запрос на добавление данных из VBA Excel в таблицу Access Необходимо составить многотабличный запрос на sql Записать данных из нескольких файлов Excel в одну таблицу |
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
02.12.2014, 16:46 | 21 | |||||
Теперь понятно о какой потере связи идет речь.
Связь "потеряна" только потому что ссылки на вновь созданные строки не пишутся в базу. А надо. Ниже показано как. Кликните здесь для просмотра всего текста
Еще. Связи, сформированные в Аксессе будут мешать, поэтому там схему связей надо убрать
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|||||||||||
03.12.2014, 08:28 [ТС] | 22 | ||||||||||
В клиент записывается как надо, но связи с groups всё равно нет, то есть при выборе группы в комбобоксе2 в dbgrid появляется одна уже имеющаяся запись, вновь введённой нет, пробовал по аналогии вот так:
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
03.12.2014, 08:39 | 23 |
Отсюда бессмысленны строки получения последнего значения идентификатора, которые идут следом.
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|||||||||||
04.12.2014, 05:53 [ТС] | 24 | ||||||||||
у меня там связь один ко многим то есть одной записи из groups соответствует много клиентов, получается что нужно значение client.parentID связать с конкретным значением groups.Код
Добавлено через 24 минуты там нужно элементу который уже существует добавить связь Добавлено через 28 минут Вот такой инсерт ничего не даёт:
Увы, и так и сяк перекрутил не получается, та же самая проблема при создании новой групп, зависимой от базы Добавлено через 6 часов 34 минуты Подскажите в какую сторону копать??? Добавлено через 11 часов 11 минут Уважаемые форумчане и глубокоуважаемый Скандерберг выручайте последний шаг остался, пробую связь с таблицей сделать таким образом
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|||||||||||
04.12.2014, 08:19 | 25 | ||||||||||
возвращаемым запросом (процедура TCreate_client.ComboBox1Select):
Ну, не может быть в update слова JOIN. Как правило, в update должно быть условие - в какую строку записывать изменения (после слова where). И не очень понятно по логике проекта как группа связана с другими таблицами (таблицей). Например, что должно быть с группой при добавлении нового клиента? В одну группу могут входить несколько клиентов?
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|
04.12.2014, 08:29 [ТС] | 26 |
Да, в одну группу входит несколько клиентов, при выборе конкретной группы из комбобокса2 в дбгрид загружается список к этой группе относящийся(пример: группа малоимущие в ней клиенты иванов, петров, сидоров) в группе поидее к id(Код) должна привязываться ещё одна ссылка к новому клиенту, синтаксис update брал вот из этой статьи:
http://matveev.kiev.ua/macceass/ch2/gl11/005.htm сейчас попробую без inner join. например если бы использовать не комбобоксы а dbgridы для отображения базы, группы и клиента, связав их по masterfield в Adoquery то запросы бы не понадобились, там все на логических связях хорошо работает, но у меня требование использовать дбгрид только для отображения клиента(((((
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
04.12.2014, 08:35 | 27 |
В клиенте есть ссылка на группу? Если она есть (подозреваю, что то parentID), то при добавлении нового клиента в это поле должно быть записано значение выбранной группы. Т.е. НЕ В ГРУППЕ должна появляться ссылка на клиента, а в клиенте ссылка на группу. Тогда связка клиента с группой становится логичной, ну и понятной.
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
||||||||||||||||
04.12.2014, 09:07 [ТС] | 28 | |||||||||||||||
да, согласен, а как реализовать вместе с инсерт
Добавлено через 5 минут Вот это:
по такому же принципу мне надо будет создавать и группы, т.к. к одной базе может относиться несколько групп Добавлено через 22 минуты Вот это:
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
04.12.2014, 09:10 | 29 | |||||
Повторюсь, если нужно добавить новую группу, то это делается в другом месте. Что за базы и зачем их должно быть много - понять пока тоже сложно. Но если без них нельзя, то принцип добавления связки групп с базой такой же как и клиентов со своими группами. Обращаю внимание, что числовые значения не должны быть в кавычках, т.е. вместо символов #39, обрамляющих значение, числа в текст запроса передаются, преобразованные функцией IntToStr в строковое представление.
1
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|
04.12.2014, 09:25 [ТС] | 30 |
Всё равно в гриде только один клиент, новый не добавился, в базе запись есть
0
|
1074 / 987 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
04.12.2014, 09:28 | 31 |
И в чем вопрос?
Видимо, придется опять выкладывать проект.
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|
04.12.2014, 09:31 [ТС] | 32 |
Выкладываю, может из-за того что я в схеме данных удалил все связи в access?
0
|
0 / 0 / 0
Регистрация: 08.06.2013
Сообщений: 70
|
|
04.12.2014, 09:34 [ТС] | 33 |
Да кстати забыл сказать dbgrid находиться в выбрать клиента там же можно и базу и группу выбрать
0
|
04.12.2014, 09:34 | |
04.12.2014, 09:34 | |
Помогаю со студенческими работами здесь
33
Запрос из нескольких таблиц с категориями SQL Access 2007 Запрос на выборку данных из нескольких таблиц в одну Загрузка данных из excel в таблицу access Загрузка данных с листа в БД Access SQL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |