|
Динамический запрос
|
|||
---|---|---|---|
#18+
Всем привет. Попробую объяснить суть проблемы. Есть общая таблица, где хранятся данные для документов. И есть вторая таблица, где указаны какие столбцы нужно для конктретно одному типу документа (пусть она будет называться [Doc_Colums]. Ниже пример с неё) Пользователь должен на форме в "поле со списком" выбрать тип документа и нажать кнопку. После должен вывестись таблица с строго своими столбцами, которые указаны в таблице [Doc_Colums]. (и можно было редактировать поля) Как можно так реализовать динамический запрос? Получится, если выбрать документ ТТН, то должно вывести 4 столбца. Пример наполнения таблицы [Doc_Colums]: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Таких типов документов сейчас 18, и будет расти. Так что вариант с созданием для каждого типа документа создать свою форму - отпадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 11:21 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Не понятно. При чем тут динамический запрос? Выводится ленточная форма. В одном поле название параметра. В другом его значение. Вот и работайте с ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 11:37 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
А проблема-то в чём? текст запроса построить? колонок в грид добавить? Devil_FoXесли выбрать документ ТТН, то должно вывести 4 столбца Код: sql 1. 2. 3.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 11:43 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Если вариантов немного (2-4) то создайте форму с группой переключателей в заголовке и в зависимости от значения группы открывайте,в контейнере подчиненной формы одну из предварительно созданных, как Вам надо ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 11:56 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoXТак что вариант с созданием для каждого типа документа создать свою форму - отпадает. Этот "динамический запрос" вы собираетесь использовать как источник универсальной формы,? Я правильно понял? В этом случае вам в любом случае скрывать/показывать элементы на форме, а также, вероятно, менять их координаты. А в запросе-источнике лучше выводить все поля из таблицы, иначе добавится морока с отвязкой/привязкой элементов формы к полям источника. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 12:50 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoX....Таких типов документов сейчас 18, и будет расти. Так что вариант с созданием для каждого типа документа создать свою форму - отпадает.Успехов в создании "динамической формы" А может наморщить лоб и подумать над структурой БД (хранением и обработкой данных,разграничением прав и т.д) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 13:11 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
JossВыводится ленточная форма. Что то я не понял как ленточноя форма поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 14:57 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Akina Код: sql 1. 2. 3.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Очень похоже на то что мне нужно. Я плохо знаю VBA. Первый запрос нужно записать в параметр или оба запроса будут уже в тандеме работать? Записывать в макрос/модуль, и потом его вешать на запуск при нажатии кнопки? Если у меня тип документа берётся с поля со списка, то как во WHERE можно записать условие? Список - Forms![Production]![Список_Тип_Докум] ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:09 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoXПервый запрос нужно записать в параметр или оба запроса будут уже в тандеме работать?Первое - это текст запроса. Второе - код обработки рекордсета, открытого по тексту запроса. Итог - текст запроса, который нудно открыть как рекордсет либо подпихнуть контролу как источник данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:16 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
sdkuУспехов в создании "динамической формы" А может наморщить лоб и подумать над структурой БД (хранением и обработкой данных,разграничением прав и т.д) Ну спасибо. Я и так морщу лоб, ведь я специализируюсь на MS SQL и C#. А тут задание - нужно только в Access - а тут для меня всё через... В общем выкручиваюсь и постигаю новое. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:16 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoXJossВыводится ленточная форма. Что то я не понял как ленточноя форма поможет. Элементарно, Ватсон! (с) Правда тут ещё завит от правильной структуры БД. Есть у тебя таблица в которой два столбца (грубо) Имя параметра и Значение параметра. Вторая таблица так же два столбца (опять же грубо) Имя документа и Имя параметра. Создай запрос из двух таблиц со связью по Имени параметра. Делай отбор по Имени документа. Вот тебе и Ленточная форма с параметрами и их значениями для каждого документа. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:16 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
AkinaПервое - это текст запроса. Второе - код обработки рекордсета, открытого по тексту запроса. Итог - текст запроса, который нудно открыть как рекордсет либо подпихнуть контролу как источник данных. Извиняюсь. Я плохо разбираюсь. Можете объяснить как всё сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:20 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoXЯ и так морщу лоб, ведь я специализируюсь на MS SQL и C#. А тут задание - нужно только в Access - а тут для меня всё через...СУБД - везде СУБД. ADO - везде ADO. Ну немного разный синтаксис... так что "всё через..." - это не факт такой, а настрой такой. И с ним ни хрена у тебя не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:26 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Вот-вот. Не зная структуры твоей БД приходится только фантазировать. А если у тебя данные конфиденциальные, то можно их подправить так, чтобы ничего не светилось.. Убрать лишние. А так по твоему вопросу можно только гадать. Может проще действительно сделать по форме для каждого документа? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:53 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
JossНе зная структуры твоей БД приходится только фантазировать Не могу выложить. архив 2 МБ. А сайт позволяет только 150 кб. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:22 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Есть файлообменники. Некоторые выкладывают Яндекс-диск. Было бы желание. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:46 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoXНе могу выложить. архив 2 МБА поудалять всё лишнее (в т.ч. и миллион записей - пары десятков достаточно) и сжать БД - не? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:58 |
|
Динамический запрос
|
|||
---|---|---|---|
#18+
Devil_FoX, Создавать одну динамическую форму на 20 разных вариантов ввода нонсенс. Представьте себе магазин, торгующий спичками, автомобилями и самолётами... Как я понимаю, вы хотите динамизировать создание новых документов с новыми названиями полей. Думаю что вы просто должны создать одну форму с полями Поле1, Поле2, Поле3 .... Далее, в динамическом запросе к форме (по методу Akina) переобзываете названия полей под поля формы. Даже можно извратиться и динамически подменять заголовки полей в форме. Я-б так делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 17:10 |
|
|
start [/forum/topic.php?fid=45&fpage=46&tid=1611264]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 463ms |
0 / 0 |