Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Переход к другой таблице [D7, Access]


Lexa ©   (2005-06-14 11:29:00) 

ADOTable связана с некоторой базой данных содержащей несколько таблиц, и после некоторого момента нужно перейти к другой таблице. Как это правильно сделать?


msguns   (2005-06-14 13:55:00) [1]

Для отображения данных, получаемых сложным запросом, либо по изменяющимся динамически условиям, либо для отчетов - TADOQuery, для редактирования в решетке - TADODataSet, для пакетного изменения - TADOStoredProc либо TADOCommand


Lexa   (2005-06-14 13:30:00) [2]

Если не ADOTable, то что???


Zacho   (2005-06-14 13:21:00) [3]

Lexa   (14.06.05 13:05) [7]
нужно между этими таблицами переключатся.


Что такое "переключаться" ???

> Ну не кидать же 20 ADOTable по штуке на таблицу

Почему бы и нет ? Это вполне нормально. И, как уже и сказали, не стоит использовать TADOTable

P.S. То, что ты привёл - это не постановка задачи, а просто, извени за выражение, бред. Хочешь полезных советов - приведи нормальную постановку задачи.


Sergey13   (2005-06-14 13:13:00) [4]

2[7] Lexa   (14.06.05 13:05)
>Ну не кидать же 20 ADOTable по штуке на таблицу.
А что тут плохого?


msguns   (2005-06-14 13:13:00) [5]

>Lexa   (14.06.05 13:05) [7]

Типа броузер БД ? Т.е. никакой топологии (по-умному бизнесьлогики) и т.д.


Anatoly Podgoretsky   (2005-06-14 13:12:00) [6]

В принципе многие, которые могут повлиять на успешность этого дела.


Lexa   (2005-06-14 13:05:00) [7]

ОК
Постановка задачи:
Имеется база данных (MS Access 2000) содержащая несколько таблиц (порядка 20) и нужно между этими таблицами переключатся.

Ну не кидать же 20 ADOTable по штуке на таблицу. Какие свойства ADOTable, кроме TableName, нужно указать в коде, чтобы после выполнения ADOTable.Open всё нормально работало?


msguns   (2005-06-14 12:52:00) [8]

Если обе таблицы (или более, чем две) надо отображать в одном гриде, то в дизайне не надо форматить столбцы. Достаточно при создании формы выстывать столбцам св-во Title (например, выравнивание) и перед открытием новой таблицы (точнее, перед связыванием источника данных с новой таблицей) и сразу после давать гриду Columns.RebuildColumns. Грид "настроится" на новую таблицу сам (правда, не уверен, что названия, ширины и способ отображения данных в колонках удовлетворят Великого Комбинатора)

ИМХО, лучше все же было бы внятно изложить суть решаемой задачи - глядишь, и советы будут поконкретнее.


ЮЮ   (2005-06-14 12:45:00) [9]

Да, если для настройки видимости полей первой таблицы пользовался FieldEditor-ом, то кроме как использовать второй ADOTable у тебя альтернативы нет :( Или и первый тогда уж в коде настраимать:

ADOTable.FieldByName('...').Visible := false


ЮЮ   (2005-06-14 12:41:00) [10]

>и как указать отображаемые столбцы (Fields).

А чего поля скрывать, строки же все отдаешь на поругание :)

Положи рядом ещё один ADOTable и настраивай, как душе угодно.
Потом сравни свойства первого и второго (в dfm) и переопределяй кодом, если надеешься сыкономить больше, чем приобрести


Lexa   (2005-06-14 12:35:00) [11]

Всё правильно, ADOTable связана с одной таблицей в базе, а после некоторого момента нужно закрыть эту таблицу, и открыть другую, вопрос собственно в том, какие свойства нужно определить, и как указать отображаемые столбцы (Fields).


msguns   (2005-06-14 12:24:00) [12]

>Lexa   (14.06.05 11:29)  

ADOTable не может быть связана с базой данных. Она может быть связана с одной таблицей базы данных. Если необходимо послеобработки одной таблицы подключиться к другой, то можно просто закрыть TADOTable, затем указать в свойствах имя другой таблицы и открыть ее.  Если нужен одновременныйдоступ к двум таблицам, то надо использовать два объекта TADOTable, "связанные" с разными таблицами БД.
Доступ же к таблице из объекта TADOTable осуществляется с помощью методов и свойств данного класса (например, Next,Prior,Insert,Delete,FieldByName и т.д.)


sniknik   (2005-06-14 12:11:00) [13]

странная забота о правильности, при изначально неправильных подходах. ADOTable в ADO использовать уже неправильно, так стоит ли заботиться об остальном?

(это все одно что на светском рауте озаботится вопросом с какой стороны должна лежать вилочка, при том продолжая есть руками... ;о)))

вообще непонятно почему возник вопрос, что стоит добавить еше компонент и "после некоторого момента" использовать его?


Наверх

Титульная страница Поиск, карта сайта Написать письмо