Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как сделать универсальным / 18 сообщений из 18, страница 1 из 1
09.04.2003, 09:29
    #32136258
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Здраствуйте жители форума.
Н в прогр-й, у меня к вам такой вопрос глупо новерно
на форме 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)
у всех кнопок добавление, удаления, редоктирование, просмотр
тоже помениялся код на соответств-й таблиц. мне нужно именно через кнопок, а не через навигатор
...
Рейтинг: 0 / 0
09.04.2003, 09:53
    #32136281
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Ну если у тебя все поля одинаковые, то при открытии таблицы в переменную пиши ее название - потом при нажатии на кнопку изменения/удаления/.... подставляй название таблицы из этой переменной. Остальной код одинаковый
...
Рейтинг: 0 / 0
09.04.2003, 11:36
    #32136424
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
проблема в том что поля разные
...
Рейтинг: 0 / 0
09.04.2003, 11:37
    #32136428
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Тогда никак

На каждую таблицу свою процедуру запускать - это можно одной кнопкой
...
Рейтинг: 0 / 0
09.04.2003, 11:47
    #32136450
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
у кого есть идея на счет этого, по другому обходить нельзя например имя таблицы выбрать не с меню а с комбобохса
Ну у кого есть идея обходить проблему , измеить прогу по другому что вы советуете
за ранее блогадарен
...
Рейтинг: 0 / 0
09.04.2003, 12:25
    #32136519
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Насколько я понял, ты используешь один Query, один Grid и один ComboBox.
Ну, ладно Grid и ComboBox, а Query - почему один для всех таблиц?!?!
Оставь один Grid и один ComboBox, а для каждой таблицы - свой IBQuery.
Будет намного удобнее!
...
Рейтинг: 0 / 0
09.04.2003, 12:32
    #32136531
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
если у меня количество таблиц увеличится до 150 то 150 ibquery чтоли
мне кажется это не реально
...
Рейтинг: 0 / 0
09.04.2003, 12:50
    #32136564
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
>если у меня количество таблиц увеличится до 150 то 150 ibquery чтоли

Нереально такую структуру БД иметь, чтоб через одну форму пытаться 150 таблиц редактировать.
...
Рейтинг: 0 / 0
09.04.2003, 13:01
    #32136588
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Советуте добавить 150 форм чтоль
...
Рейтинг: 0 / 0
09.04.2003, 13:07
    #32136599
CrazyMihey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
В базу, по-моему, придётся добавить ещё одну Служебную Таблицу с описанием всех твоих таблиц. Она будет содержать поля: Русское название Таблицы (которое отображается в ComboBox е), Название соответствующей Таблицы в Базе (напр. P_580546), Её ключевое поле (для для Order by ), а также названия всяких там Титлов и строки для ComboBox а, может и ещё что-нибудь... Далее, при выборе нужной для отображения таблицы - искать нужную запись в Служебной Таблице и заполнять все поля значениями из этой записи. SQL текст для запроса построить на лету и записать в свойство единственного компонента TQuery - тоже не составит труда.
Можно, конечно держать эту информацию не в Базе, а в Коде Программы/Ini-Файле/Реестре, но это уже другая тема...
...
Рейтинг: 0 / 0
09.04.2003, 13:13
    #32136608
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
SQL текст для запроса построить на лету и записать в свойство единственного компонента TQuery - тоже не составит труда.

Тока еще и запросы на изменение данных придеться строить на лету, хотя и это теоретически возможно.
...
Рейтинг: 0 / 0
09.04.2003, 13:20
    #32136627
Седов А.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
nas
Создать одну таблицу, которая будет хранить все данные.
...
Рейтинг: 0 / 0
09.04.2003, 13:21
    #32136631
CrazyMihey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Несколько общих шаблонов и пару переменных с именами Таблиц и Изменяемых полей. А потом - ReplaceString() :)
...
Рейтинг: 0 / 0
09.04.2003, 13:28
    #32136649
CrazyMihey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Это не экономично и неправильно. Кроме того, что структуру этой Таблицы и ключи придётся долго утрясать с логикой Базы, это приведёт к несчётному количеству пустых полей и понизит скорость навигации по ней (Я уже не говорю о скорости обновления)
...
Рейтинг: 0 / 0
09.04.2003, 13:32
    #32136653
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
На чем остановиться есть какие ни будь примеры на эту тему где взять
как быть
...
Рейтинг: 0 / 0
09.04.2003, 13:39
    #32136666
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
А чего такое делаешь то? Может и не надо столько таблиц? Да еще с изменяемым их количеством.

Универсальный клиент?
...
Рейтинг: 0 / 0
09.04.2003, 13:55
    #32136690
nas
nas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Как это началось, короче конвертироваль из FoxPro в интербасе около 200 таблиц, имя поля разные. задание такое из меню выбираем например

1) классификаторы(N1) на форме отображается таблица классификаторы.
2) виды сообщения (N2) на форме отоб таблица виды сообщения.
..................................................................................... н ное количество
n).................................................................таблица ...........................
еще на каждую таблцу должна быть кнопки на добавления, удаления, редоктирвания, Поиск,
с перво хотел на каждую таблицу отдельную форму, потом передумал столько количеств фором добавить.
решил обойтись с одним датасоурсом, ивкуери....
кто то подсказал так можно решил у вас спросить, про универсальных свойств
...
Рейтинг: 0 / 0
10.04.2003, 03:42
    #32137136
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать универсальным
Погоди, тебе нужно конвертировать или редактировать? и редактировать где? в фоксе? или уже в сконвертированном IB? Если конвертировать с постоянным переездом на IB то боюсь придется переделать структуру базы... 150 таблиц... боюсь ее можно нормализовать... или боюсь с такой базой может справится только что-то из более мощных СУБД...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как сделать универсальным / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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