Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Диалоги запросов   Найти похожие ветки 

 
Ломброзо ©   (2004-04-11 14:10) [0]

Пишется небольшое приложение на Access, всего пара десятков таблиц, но очень много запросов. Параметризованные запросы  хранятся прямо в mdb-шнике, их там порядка полусотни. Пятьдесят отдельных форм для этих запросов клепать просто лень. Вариант универсальной формы с тестбоксом "искать что", комбобоксом "искать где" и кнопкой OK не устраивает. Хочу что-нибудь более гибкое, например какую-нибудь формочку, которая бы на основе метаданных, извлекаемых движком ADO из хранящихся в базе запросов сама себя бы и строила. Кто-нибудь пробовал такое реализовать? Или какой-нибудь другой способ?


 
kaif ©   (2004-04-11 16:41) [1]

Так нужен построитель запросов или просто нужно выводить результаты запросов, заведомо написанных и сохраненных?


 
kaif ©   (2004-04-11 16:44) [2]

Или проблема в том, что у разных запросов разные наборы параметров и нужно динамически создавать соответствующие органы управления на окошке, после выбора того или иного запроса из выпадающего списка? Если так, то это не самая сложная задача - можно написать руками, если Access позволяет к таким метаданным обращаться (список параметров запроса).


 
Ломброзо ©   (2004-04-11 17:09) [3]

Второе. Уже пробую. Список параметров Access получить позволяет, но запнулся на том, что каждому параметру нужно сопоставить аттрибут "Подпись поля" для вывода надписи над соответствующим динамически создаваемым контролом. Что-то пока никак )


 
kaif ©   (2004-04-11 17:16) [4]

Что такое "Подпись поля"? Русское название атрибута? Например, надпись: "дата рождения" над контролом ввода даты рождения? Если так, то можно создавать динамически обычный TLabel и располагать его над контролом.


 
kaif ©   (2004-04-11 17:20) [5]

И еще. Какие типы параметров используются? Есть ли там такие типы, что требуют выбора из выпадающего списка (справочника), к примеру? То есть контролы разнородные и требуются ли еще динамически создаваемые компоненты запросов для Lookup-целей?


 
kaif ©   (2004-04-11 17:27) [6]

Я как-то делал подобную подсистему отчетов в одной базе на MSSQL. Так вот мне пришлось в отдельных таблицах хранить информацию о том, какие компоненты использовать и какие справочники задействовать, если это компоненты TDBLookupComboBox. Там же я и хранил будущие надписи (русские названия параметров). Так что одними системными таблицами тут, боюсь, не обойтись. Программа же сама по себе не знает, что, например, вот в этом параметре хорошо бы передать ID из какого-то справочника, например "Список подразделений")


 
kaif ©   (2004-04-11 17:30) [7]

Так что сначала надо точно прикинуть, какие контролы будут использоваться в принципе (весь минимальный джентльментский набор), затем создать таблицу, в которой хранить всю нужную информацию. Эту таблицу тщательно продумать. Потом уже городить окно с панелью, на которой динамически создавать контролы. К тому же я не знаю... хорошо бы русские названия для полей возвращаемого набора тоже иметь. чтобы Title-ы сетки потом разукрашивать понятным для юзера сленгом.


 
Ломброзо ©   (2004-04-11 17:44) [8]

kaif ©   (11.04.04 17:30) [7]

Вот русские названия и содержатся в аттрибуте "Подпись поля" в конструкторе таблиц Access, в мастере форм Акцесса этот атрибут выводится в лейбл над контролом. Нет, задача в принципе решаемая, вопрос лишь в том, насколько красиво и сопровождаемо её реализовать. Первая проблема - в динамической настройке Layout, т.е. автоматического расположения контролов + автоматический ресайзинг формы в зависимости от количества контролов. Тут проблема проще всего решается HTML-ом, однакож придётся WebBrowser прикручивать и бегать по объектной модели html-документа. Вторая - действительно, некоторые параметры нужно позволять выбирать из списка, а некоторые - вводить руками. Третья - некоторые параметры должны подставляться по умолчанию. Четвертая - русские подписи.
Так что всё-таки придётся писать какой-то конфигуратор-конструктор... ) Эхехех...



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
7-1078391643
Роман
2004-03-04 12:14
2004.05.02
Com-порт проблема под NT server !


1-1082122909
oleg_v
2004-04-16 17:41
2004.05.02
Форма и компоненты


1-1082113298
Ш-К
2004-04-16 15:01
2004.05.02
Word "Параметры сраницы"


1-1082026826
demonyator
2004-04-15 15:00
2004.05.02
Клавиатурный хук не ловит первую букву в каждом новом окне


1-1082307275
DK
2004-04-18 20:54
2004.05.02
Нужно папку запоролить. Как моно сделать