![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход к другой таблице [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 использовать уже неправильно, так стоит ли заботиться об остальном?
(это все одно что на светском рауте озаботится вопросом с какой стороны должна лежать вилочка, при том продолжая есть руками... ;о)))
вообще непонятно почему возник вопрос, что стоит добавить еше компонент и "после некоторого момента" использовать его?