Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Здраствуйте жители форума. Н в прогр-й, у меня к вам такой вопрос глупо новерно на форме ibdatabase, IBTransaction1, ibquery, dbgrid, DataSource, из меню выбираю таблицу напр-р procedure TGlav_Form.N3Click(Sender: TObject); begin IBQuery1.Active:=False; IBQuery1.SQL.Clear; IBQuery1.SQL.Add('select * from P_580546'); IBQuery1.SQL.Add('order by KOD'); IBQuery1.Active:=True; DBGrid1.Columns[0].Title.Caption:='Код'; DBGrid1.Columns.Title.Caption:='Наименование'; ComboBox1.Items.Clear; ComboBox1.Items.Add('Поиск по коду'); ComboBox1.Items.Add('Поиск по наименованию'); end; procedure TGlav_Form.N4Click(Sender: TObject); begin IBQuery1.Active:=False; IBQuery1.SQL.Clear; IBQuery1.SQL.Add('select * from P_580547'); IBQuery1.SQL.Add('order by KOD'); IBQuery1.Active:=True; DBGrid1.Columns[0].Title.Caption:='Код ст.'; DBGrid1.Columns.Title.Caption:='Наименование ст. '; DBGrid1.Columns.Title.Caption:='Регном.'; DBGrid1.Columns.Title.Caption:='Регном ст. '; ComboBox1.Items.Clear; ComboBox1.Items.Add('Поиск по коду'); ComboBox1.Items.Add('Поиск по наименованию'); ComboBox1.Items.Add('Поиск по регном'); ComboBox1.Items.Add('Поиск по регном ст.'); end; как можно сделать при каждой выборе из меню таблиц (таблиц у меня 20) у всех кнопок добавление, удаления, редоктирование, просмотр тоже помениялся код на соответств-й таблиц. мне нужно именно через кнопок, а не через навигатор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 09:29 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Ну если у тебя все поля одинаковые, то при открытии таблицы в переменную пиши ее название - потом при нажатии на кнопку изменения/удаления/.... подставляй название таблицы из этой переменной. Остальной код одинаковый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 09:53 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
проблема в том что поля разные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 11:36 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Тогда никак На каждую таблицу свою процедуру запускать - это можно одной кнопкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 11:37 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
у кого есть идея на счет этого, по другому обходить нельзя например имя таблицы выбрать не с меню а с комбобохса Ну у кого есть идея обходить проблему , измеить прогу по другому что вы советуете за ранее блогадарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 11:47 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, ты используешь один Query, один Grid и один ComboBox. Ну, ладно Grid и ComboBox, а Query - почему один для всех таблиц?!?! Оставь один Grid и один ComboBox, а для каждой таблицы - свой IBQuery. Будет намного удобнее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 12:25 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
если у меня количество таблиц увеличится до 150 то 150 ibquery чтоли мне кажется это не реально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 12:32 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
>если у меня количество таблиц увеличится до 150 то 150 ibquery чтоли Нереально такую структуру БД иметь, чтоб через одну форму пытаться 150 таблиц редактировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 12:50 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Советуте добавить 150 форм чтоль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:01 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
В базу, по-моему, придётся добавить ещё одну Служебную Таблицу с описанием всех твоих таблиц. Она будет содержать поля: Русское название Таблицы (которое отображается в ComboBox е), Название соответствующей Таблицы в Базе (напр. P_580546), Её ключевое поле (для для Order by ), а также названия всяких там Титлов и строки для ComboBox а, может и ещё что-нибудь... Далее, при выборе нужной для отображения таблицы - искать нужную запись в Служебной Таблице и заполнять все поля значениями из этой записи. SQL текст для запроса построить на лету и записать в свойство единственного компонента TQuery - тоже не составит труда. Можно, конечно держать эту информацию не в Базе, а в Коде Программы/Ini-Файле/Реестре, но это уже другая тема... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:07 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
SQL текст для запроса построить на лету и записать в свойство единственного компонента TQuery - тоже не составит труда. Тока еще и запросы на изменение данных придеться строить на лету, хотя и это теоретически возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:13 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
nas Создать одну таблицу, которая будет хранить все данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:20 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Несколько общих шаблонов и пару переменных с именами Таблиц и Изменяемых полей. А потом - ReplaceString() :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:21 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Это не экономично и неправильно. Кроме того, что структуру этой Таблицы и ключи придётся долго утрясать с логикой Базы, это приведёт к несчётному количеству пустых полей и понизит скорость навигации по ней (Я уже не говорю о скорости обновления) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:28 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
На чем остановиться есть какие ни будь примеры на эту тему где взять как быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:32 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
А чего такое делаешь то? Может и не надо столько таблиц? Да еще с изменяемым их количеством. Универсальный клиент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:39 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Как это началось, короче конвертироваль из FoxPro в интербасе около 200 таблиц, имя поля разные. задание такое из меню выбираем например 1) классификаторы(N1) на форме отображается таблица классификаторы. 2) виды сообщения (N2) на форме отоб таблица виды сообщения. ..................................................................................... н ное количество n).................................................................таблица ........................... еще на каждую таблцу должна быть кнопки на добавления, удаления, редоктирвания, Поиск, с перво хотел на каждую таблицу отдельную форму, потом передумал столько количеств фором добавить. решил обойтись с одним датасоурсом, ивкуери.... кто то подсказал так можно решил у вас спросить, про универсальных свойств ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2003, 13:55 |
|
||
|
как сделать универсальным
|
|||
|---|---|---|---|
|
#18+
Погоди, тебе нужно конвертировать или редактировать? и редактировать где? в фоксе? или уже в сконвертированном IB? Если конвертировать с постоянным переездом на IB то боюсь придется переделать структуру базы... 150 таблиц... боюсь ее можно нормализовать... или боюсь с такой базой может справится только что-то из более мощных СУБД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 03:42 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32136519&tid=2118631]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 395ms |

| 0 / 0 |
