|
LibreOffice Base. Как из поля формы передать значение в SQL-запрос субформы
|
|||
---|---|---|---|
#18+
Сразу прошу прощения за лишний текст, но я в отчаянии: уже более месяца, пытаюсь понять и хоть как-то освоить секреты работы с БД. Мне 72, в 80-х я учитель информатики и сам учил детей Бейсику, но в 90-х ушёл из школы, с теми знаниями и остался. Зимой взялся сделать БД по Генеалогическому древу моего рода в LibreOffice Base и к настоящему моменту, перечитав в инете огромное количество малопонятного (для меня) материала, сделал следующее: 1. Три таблицы: Person, Wife и Child; 2. Сделал разного рода рабочие запросы. Вот рабочий SQL- запрос, правильно выдающий список детей для любого, если они у него есть SELECT "P"."Surname", "P"."Name", "P"."Patronymic", "D"."relation", YEAR( NOW( ) ) - YEAR( "P"."Birthday" ) AS "Лет сейчас" FROM "Person" AS P INNER JOIN "Child" AS D ON "P"."id_person" = "D"."who" AND ("relation" = 'сын' or "relation" = 'дочь') WHERE "D"."whom" = 4 ORDER BY "P"."Birthday" ASC Как видите, запрос работает только если явно задать индекс человека (id_person) в таблице. Сделать интерактивный ввод id_person не смог, хотя, наверное, решение есть - это уже вопрос. Вот уже почти месяц безуспешно пытаюсь решить проблему: как сделать так, чтобы, кликнув в форме по полю с выбранным человеком, его индекс передался бы в подчинённую субформу с приведённым выше запросом вместо цифры (в данном случае 4) - это второй (и главный) вопрос VBA для OpenOffice Base читал. Хотя пока без букваря ничего сделать не смогу, но если будет решение в виде макроса на VBA, буду разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2018, 14:42 |
|
LibreOffice Base. Как из поля формы передать значение в SQL-запрос субформы
|
|||
---|---|---|---|
#18+
Жаль..., так и не могу дальше двинуться ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2018, 06:31 |
|
LibreOffice Base. Как из поля формы передать значение в SQL-запрос субформы
|
|||
---|---|---|---|
#18+
Коляннн... 1. Три таблицы.. 2. Сделал ... SQL- запрос ... как сделать так, ... индекс передался бы в подчинённую субформу с приведённым выше запросом.... Что в Вашем понимание "субформа"? Если это вэб рожа сайта - это одно. Если это VBAшные дела - то другое. Я по началу воспринял как вэб форма... кхм... Ну вот смотрите... С точки зрения логики - мы же в быту как то отличаем иванова от иванова. И с точки зрения любой системы(компьютерной) мы так-же как то должны отличать. Если Вас интересует именно форма на VBA которая общается с БД - наверное надо читать толковые книги по VBA в разрезе общения с базами данных. Наверное(я не спец по бэйсику, увы) - использовать скрытые поля (и там располагать ваши вспомогательные поля ID и иже) либо в SQL запросах использовать именно то, что используем мы в жизни - ФИО. Для второго случая, в случае полного дубляжа инфы в БД, обычно используется некое доп. системное поле которое явно даёт однозначную идентификацию при выборке такой информации. с уважением (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2018, 12:40 |
|
LibreOffice Base. Как из поля формы передать значение в SQL-запрос субформы
|
|||
---|---|---|---|
#18+
Спасибо за отзыв! 1. Работаю (экспериментирую) только в среде LibreOffice. Ни макросы, ни VBA пока даже не пробовал 2. Всё, что у меня получилось, сделано исключительно примерах из inet (текстовые и видео) 3. Полного понимания SQL пока так и сложилось: если что-то пытаюсь сделать своё, то нахожу рабочий пример (или несколько) и извращаюсь с ним, пока не получу что-то рабочее. Таким образом у меня получились несколько рабочих БД, ценных для меня только как работающие примеры Понятием "субформа" я ввёл Вас всех в заблуждение, спутав это понятие с подчинённой формой. Прошу прощения! Пример для своей формы я взял вот тут: " https://libreoffice.su/base/sozdanie-form-libreoffice-base.html", но у меня это не сработало! Смотрите этот мой вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2018, 05:52 |
|
|
start [/forum/topic.php?fid=56&fpage=2&tid=2015053]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
102ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 240ms |
total: | 441ms |
0 / 0 |