powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма для ввода данных на основе запроса объединения 2 таблиц
25 сообщений из 72, страница 2 из 3
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33557118
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут пока то да се, вроде как получилось у меня сделать вывод значений полей подстановки. Но на некоторые поля ругается "введенное значение не подходит", в других выводится "#Имя?". А самое главное - хотелось бы сделать форму frmInputData так, чтобы можно было обновлять значения, т.е. как я понимаю, на основе Recordset... dbDynaset, но вот это-то как раз мне пока не удается. Ну еще в поле "Семейство" сделать вывод семейств, к которым относятся таксоны. Там в принципе по структуре таблицы TAXONS_TABL легко догадаться как они соотносятся (задел на будущее под TreeView).
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33559549
и чем собирать в один файл?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33559644
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поместить все куски в одну папку. В Total Commander выбрать часть с номером 001, выделить, меню Файл > Восстановить из частей. Затем распаковать в том же ТС.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33561701
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал сделать из таблицы TAXONS_TABL вывод названий семейств для видов.
SELECT TAXONS_TABL_1.chrTAXON_TABL AS Семейство, TAXONS_TABL.chrTAXON_TABL
FROM TAXONS_TABL INNER JOIN TAXONS_TABL AS TAXONS_TABL_1 ON TAXONS_TABL.lngPARENT_ID = TAXONS_TABL_1.idsTAXON_TABL_ID
WHERE (((TAXONS_TABL_1.lngRANK)=10) AND ((TAXONS_TABL.lngRANK)=1));
Возвращается 874 записи

Проблема в том, что многие виды с семействами связаны не напрямую, а через промежуточные таксоны, например, подсемейства. Если сделать вывод еще и подсемейств:
SELECT TAXONS_TABL_2.chrTAXON_TABL AS Семейство, TAXONS_TABL_1.chrTAXON_TABL AS Подсемейство, TAXONS_TABL.chrTAXON_TABL AS Виды
FROM (TAXONS_TABL LEFT JOIN TAXONS_TABL AS TAXONS_TABL_1 ON TAXONS_TABL.lngPARENT_ID = TAXONS_TABL_1.idsTAXON_TABL_ID) LEFT JOIN TAXONS_TABL AS TAXONS_TABL_2 ON TAXONS_TABL_1.lngPARENT_ID = TAXONS_TABL_2.idsTAXON_TABL_ID
WHERE (((TAXONS_TABL_2.lngRANK)=10) AND ((TAXONS_TABL_1.lngRANK)=9) AND ((TAXONS_TABL.lngRANK)=1));
то возвращается 762 записи.

А видов на самом деле 1652. Никак не догоняю, как бы переделать запрос выводящий виды и семейства не обращая внимания на существование промежуточных таксонов?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33566500
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что-то прям никто не отвечает... Все так напраздновались, что ли?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33567765
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ! Неужели ни у кого никаких мыслей нет как решить эту проблему?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33567956
адж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведите пример (представительный) исходных данных, и то, что нужно получить. А то с Вашими недорезанными лепидоптерами непонятно что делать.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33568344
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то я не понял... Скриншоты и запрос выложил - не понравилось... Урезанную базу выложил - опять не то! А что ж нужно? Какой еще представительный пример?
Исходные данные - таблицы. На их основе - запрос. Как сделать источником формы для просмотра и ввода данных обновляемый Recordset в основе которого инструкция SQL запроса?
Куда же девался CookieMonster? Спрашивал-спрашивал, и вот теперь не отвечает...
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33568398
адж
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Базу Вы приложили по-нечеловечески. Вместо одного нормального архива zip/rar целых три файла. Скриншота я не в упор не вижу.
Представительный пример?

Напимер, исходные данные:
FirstName Иванов Петров Иванов Сидоров Пупкин Пупкин
Что хочу получить:
FirstName Иванов Петров Сидоров Пупкин
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33568608
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скриншоты (Форма_16 и Схема БД_16) в моих постах от 17 февраля. По-моему, ничто не мешает скачать 4 куска и слепить их вместе, получится даже не скриншоты, а нормальная база. Я не виноват, что файл больше 70 Kb нельзя приложить.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33568739
вр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДСкриншоты (Форма_16 и Схема БД_16) в моих постах от 17 февраля. По-моему, ничто не мешает скачать 4 куска и слепить их вместе, получится даже не скриншоты, а нормальная база. Я не виноват, что файл больше 70 Kb нельзя приложить.

У Вас в запросе участвует одна таблица (если я правильно его прочитал - в следующий раз используйте короткие псевдоними из 1-2 букв для читабельности). Скопируйте ее в новую базу, сожмите ее и приложите.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33569000
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос, выводящий нужные поля из нужных таблиц в посте от 16 февраля (в базе он называется "Запрос для формы InputData"). Но результат его выполнения - необновляемый Recordset. Нужен обновляемый, чтобы в форму можно было вносить данные.
Запрос приведенный в посте от 22 февраля в применении к урезанному варианту базы таких результатов не даст (база-то урезанная), но это не суть важно.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33571814
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что скажут наши уважаемые гуру? Я чего-то невозможного хочу?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33571901
КДА что скажут наши уважаемые гуру? Я чего-то невозможного хочу?
Добрый совет: в вашем запросе от 16 числа дайте псевдонимы таблицам из 1-2 букв - это сделать элементарно через контекстное меню "свойства" если щелкнуть правой кнопкой мышки на таблице в конструкторе запросов. Будет читабельнее. Мало кому охота вглядываться в эту мешанину.

author
SELECT trelLPTLEG.lngNUMBER, PROVINCE_TABL.chrPROVINCE_TABL_DESCRIPTION, DISTRICT_TABL.chrDISTRICT_TABL_DESCRIPTION, POINT_LEG_TABL.chrPOINT_LEG_TABL_DESCRIPTION, trelLPTLEG.idsFEATURES_CAPTURE_TABL_ID, trelLPTLEG.idsECOLOGY_TABL_ID, trelLPTLEG.idsLEG_TABL_ID, trelLPTLEG.dtmDATELEG, trelLPTLEG.blnEX_LARVA, trelLPTLEG.dtmDATE_PUPATION, trelLPTLEG.blnEX_PUPA, trelLPTLEG.dtmDATE_IMAGO, trelLPTLEG.blnREMOVE, trelLPTLEG.idsWHERE_REMOVE_TABL_ID, trelLPTLEG.memREMARK_LEG, trelLPTDET.memREMARK_DET, trelLPTDET.idsDET_TABL_ID, TAXONS_TABL.chrTAXON_TABL
FROM TAXONS_TABL RIGHT JOIN (PROVINCE_TABL INNER JOIN (DISTRICT_TABL INNER JOIN (POINT_LEG_TABL INNER JOIN (trelLPTLEG LEFT JOIN trelLPTDET ON trelLPTLEG.lngNUMBER = trelLPTDET.lngNUMBER) ON POINT_LEG_TABL.idsPOINT_LEG_TABL_ID = trelLPTLEG.idsPOINT_LEG_TABL_ID) ON (DISTRICT_TABL.idsDISTRICT_TABL_ID = POINT_LEG_TABL.idsDISTRICT_TABL_ID) AND (DISTRICT_TABL.idsDISTRICT_TABL_ID = POINT_LEG_TABL.idsDISTRICT_TABL_ID)) ON (PROVINCE_TABL.idsPROVINCE_TABL_ID = DISTRICT_TABL.idsPROVINCE_TABL_ID) AND (PROVINCE_TABL.idsPROVINCE_TABL_ID = DISTRICT_TABL.idsPROVINCE_TABL_ID)) ON TAXONS_TABL.idsTAXON_TABL_ID = trelLPTDET.lngCOMBINATION_SPECIES_ID
ORDER BY trelLPTLEG.lngNUMBER;
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33571982
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Боже мой, я уже устал повторять, что дело не в конкретном запросе, а в том, как сделать ОБНОВЛЯЕМЫЙ рекордсет в результате выполнения инструкции SQL, соединяющей несколько таблиц!
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33572577
егщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДБоже мой, я уже устал повторять, что дело не в конкретном запросе, а в том, как сделать ОБНОВЛЯЕМЫЙ рекордсет в результате выполнения инструкции SQL, соединяющей несколько таблиц!
Хм... Капризный Вы какой-то.... Вообще-то Вам помочь здесь собирались. Обновляемые рекордсеты делаются на основе КОНКРЕТНЫХ запросов (селектов). Иногда удается переделать (с помощью подзапросов, например), иногда приходится использовать другой подход.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33572619
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собирались помочь - помогайте! А то уже неделю идет обсуждение как правильно писать запросы и ни одной дельной мысли по моему вопросу.
Ладно, пожалуйста, вот тот же самый запрос с псевдонимами:
SELECT А.lngNUMBER, PR.chrPROVINCE_TABL_DESCRIPTION, D.chrDISTRICT_TABL_DESCRIPTION, PO.chrPOINT_LEG_TABL_DESCRIPTION, А.idsFEATURES_CAPTURE_TABL_ID, А.idsLEG_TABL_ID, А.dtmDATELEG, А.blnEX_LARVA, А.dtmDATE_PUPATION, А.blnEX_PUPA, А.dtmDATE_IMAGO, А.blnREMOVE, А.idsWHERE_REMOVE_TABL_ID, B.idsTAXON_TABL_ID, B.idsDET_TABL_ID, А.memREMARK_LEG, B.memREMARK_DET
FROM TAXONS_TABL AS T RIGHT JOIN ((PROVINCE_TABL AS PR INNER JOIN (DISTRICT_TABL AS D INNER JOIN POINT_LEG_TABL AS PO ON (D.idsDISTRICT_TABL_ID = PO.idsDISTRICT_TABL_ID) AND (D.idsDISTRICT_TABL_ID = PO.idsDISTRICT_TABL_ID)) ON (PR.idsPROVINCE_TABL_ID = D.idsPROVINCE_TABL_ID) AND (PR.idsPROVINCE_TABL_ID = D.idsPROVINCE_TABL_ID)) INNER JOIN (trelLPTLEG AS А LEFT JOIN trelLPTDET AS B ON А.lngNUMBER = B.lngNUMBER) ON PO.idsPOINT_LEG_TABL_ID = А.idsPOINT_LEG_TABL_ID) ON T.idsTAXON_TABL_ID = B.idsTAXON_TABL_ID
WHERE (((PR.chrPROVINCE_TABL_DESCRIPTION)="В" Or (PR.chrPROVINCE_TABL_DESCRIPTION)="А"))
ORDER BY А.lngNUMBER

По-моему, ненамного проще, но если это поможет, буду рад.
Где же все-таки наши спецы? или они теперь только на лестницу заглядывают?
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33572722
егщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
from help
Изменение данных в запросе
В некоторых случаях для изменения данных в базовой таблице их можно отредактировать в запросе в режиме таблицы. В других случаях этого сделать нельзя. В следующей таблице указано, можно ли изменить результаты запроса и есть ли какие-либо альтернативы.

Запрос или поле запроса Изменение Решение
Запрос, основанный на таблице Да
Запрос, основанный на таблицах с отношением «один-к-одному» Да
Запрос, основанный на таблицах с отношением «один-ко-многим» Обычно возможно Для получения дополнительных сведений нажмите кнопку .
Запрос, основанный на трех и более таблицах с отношением «многие-к-одному-ко-многим». Нет Хотя обновлять данные непосредственно в запросе нельзя, их можно обновлять в форме или на странице доступа к данным, основанной на запросе, если свойство формы Тип набора записей (RecordsetType) имеет значение Динамический набор (несогл.).

Т.е. Вам нужно попробовать в форме поставить "Динамический набор (несогл.). ". Либо изменить запросы с Left/Right Join на WHERE (NOT) EXISTS - в этом случае нельзя будет вывести поля из подзапроса в основной селект.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33581122
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот, уже дельное предложение! Спасибо!
Попробовал... Кое-что получилось. Пока вот только закавыка - выводит для некоторых полей, получающих фокус (эти поля получают значения от запросов к присоединенным таблицам), сообщение: "Введенное значение не подходит для данного поля. Например, в числовое поле введены текст или число, превышающее предел, заданный в свойстве "Размер поля" (FieldSize)".
Прикладываю базу где оставлена только новая форма InputData. Если кто захочет попробовать, необходимо импортнуть ее вместо существующей в базу которую я выложил ранее.
(Черт, даже база с одной формой! - и то больше 70 Kb)
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33581130
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33581134
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все-таки не дошло до меня как приложить сразу 2 файла, извиняюсь.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33581362
егщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДНу вот, уже дельное предложение! Спасибо!
Попробовал... Кое-что получилось. Пока вот только закавыка - выводит для некоторых полей, получающих фокус (эти поля получают значения от запросов к присоединенным таблицам), сообщение: "Введенное значение не подходит для данного поля. Например, в числовое поле введены текст или число, превышающее предел, заданный в свойстве "Размер поля" (FieldSize)".
Прикладываю базу где оставлена только новая форма InputData. Если кто захочет попробовать, необходимо импортнуть ее вместо существующей в базу которую я выложил ранее.
(Черт, даже база с одной формой! - и то больше 70 Kb)

ЕПРСТ.... Сколько же там записей в таблице? Базу сжимали? При всем желании Вам помочь неохота собирать один файл из трех кусков непонятного архива.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33581580
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да что ж непонятного в архиве? В Total Commander ломы собрать файл из кусков и разархивировать? Все автоматически. Выложил не базу, а только форму, где кое-что подправил. Записей в базе, которую выложил ранее, оставил минимум, чтобы обеспечить работоспособность.
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33585073
КД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче, я так понимаю, никто не знает?
CookieMonster слинял, спецы не подключились...
...
Рейтинг: 0 / 0
Форма для ввода данных на основе запроса объединения 2 таблиц
    #33585150
егщ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
КДКороче, я так понимаю, никто не знает?
CookieMonster слинял, спецы не подключились...
Ты не хочешь напрячься, чтобы выложить свой файл в нормальном виде... Но хочешь, чтобы люди напрягались, думая за тебя? Как-то несправедливо, не находишь?
...
Рейтинг: 0 / 0
25 сообщений из 72, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Форма для ввода данных на основе запроса объединения 2 таблиц
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]