Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Вниз

Работа с подтаблицами в MDB   Найти похожие ветки 

 
Магнум   (2005-06-15 17:14) [0]

Работа с таблицами ведется, понятное дело, через GetTableNames и TableName. Подскажите, пожалуйста, как работать с подтаблицами через ADO.


 
-=XP=- ©   (2005-06-15 18:17) [1]

как работать с подтаблицами через ADO

Через ADO.


 
Магнум   (2005-06-15 19:08) [2]

Я и работаю через ADO.


 
Zacho ©   (2005-06-15 19:22) [3]

Магнум   (15.06.05 17:14)

А что такое "подтаблицы" ? Нарушение 1НФ ?


 
Магнум   (2005-06-15 20:08) [4]

О подтаблицах
В подтаблице можно просматривать и редактировать связанные или объединенные данные таблицы, запроса, формы или подчиненной формы. Например, в базе данных «Борей» таблица «Поставщики» имеет отношение «один-ко-многим» с таблицей «Товары»; поэтому для каждой строки таблицы «Поставщики» в режиме таблицы можно просматривать и редактировать в подтаблице связанную строку таблицы «Товары».

 Щелкните индикатор развертывания, чтобы развернуть или свернуть подтаблицу

Microsoft Access автоматически создает подтаблицу в таблице, имеющей отношение «один-к-одному» или являющейся стороной «один» в отношении «один-ко-многим», если свойство таблицы Имя подтаблицы (SubdatasheetName) имеет значение Авто. Отношение определяется по совпадению полей первичного ключа и внешнего ключа в связанных таблицах.

Тем не менее, подтаблицу можно добавить в любую таблицу, запрос или форму. Подтаблица может использовать в качестве источника данных таблицу или запрос (указанный в свойстве Имя подтаблицы (SubdatasheetName)). Подтаблица, относящаяся к подчиненной форме, может использовать в качестве источника данных таблицу, запрос или форму (указанную в свойстве подчиненной формы Объект-источник (SourceObject)).

В пределах таблицы можно вложить до восьми уровней подтаблиц. Однако каждая таблица или подтаблица может иметь только одну вложенную подтаблицу. Например, таблица «Клиенты» может содержать одну подтаблицу таблицы «Заказы», а подтаблица таблицы «Заказы» может содержать одну подтаблицу «Заказано». Но содержать подтаблицу таблицы «Заказы» и подтаблицу запроса «Продавцы» одновременно таблица «Клиенты» не может.

Формы, подчиненные формы и подтаблицы

Форма в режиме формы или таблицы также может иметь подтаблицу, но между подтаблицей формы и подтаблицей таблицы или запроса существуют отличия.

В форму подтаблица вставляется путем добавления подчиненной формы с последующим определением объекта-источника путем указания таблицы, запроса или формы в свойстве Объект-источник (SourceObject) подчиненной формы. При просмотре формы в режиме таблицы, подчиненная форма отображается в виде подтаблицы. Если в качестве объекта-источника подчиненной формы используется форма, то для свойства Режим по умолчанию (DefaultView) может быть задано значение Таблица, Простая форма или Ленточная форма. Таким образом, в форме в режиме таблицы можно также просматривать подтаблицу в виде простой или ленточной формы.
Хотя форма может иметь более одной подчиненной формы, каждая из которых может иметь до двух уровней вложения, в режиме таблицы для формы отображается только одна подтаблица. Microsoft Access выводит подтаблицу, соответствующую первой подчиненной форме в порядке перехода по форме.
При первом открытии таблицы, запроса или формы в режиме таблицы подтаблица не развертывается; однако при первом открытии формы в режиме формы подтаблица, соответствующая подчиненной форме, развертывается.
Если объектом-источником для подчиненной формы является форма, то в подтаблице, соответствующей этой подчиненной форме, можно постоянно отображать внешний ключ или связанные поля.


 
Zacho ©   (2005-06-15 21:38) [5]

Магнум   (15.06.05 20:08) [4]

Читай лучше другую документацию, в которой используется общепринятая для СУБД терминология, а не какие-то загадочные "подтаблицы", которые на деле оказываются стандартной связкой Master-Detail.
И изучи любой учебник по работе с БД в Дельфи.

А вот ответ на твой вопрос: посмотри в хелпе, например, раздел Making the table a detail of another dataset И не забудь нажать на ссылку "See Also" :)


 
Магнум   (2005-06-16 07:13) [6]

Где sniknik?
Нужна ваша квалифицированная помощь!!!


 
sniknik ©   (2005-06-16 08:30) [7]

да здесь я, только не понимаю вопроса вот и не вмешиваюсь... ;о))

не в принципе понятно что ты имееш ввиду (достаточно открыть аксес) но то что там видим это скорее такой оригинальный DBGrid а не свойства таблиц (подтаблицы ;о))). он просто так отображает внешние ключи (FOREIGN KEY). если хочеш у себя также, придется делать визуальный контрол аналогичный аксесовскому. (муторно и долго, хотя и возможно)
если же хочеш делать таблицы которые в при открытии базы в аксессе дадут тот же эффект, то это просто достаточно сделать связь... открываем справку jet-а, "срисовываем" пример запросов, выполняем через ADO,  

CREATE TABLE Клиенты (ИндексКлиента INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50))

CREATE TABLE Заказы (КодЗаказа INTEGER PRIMARY KEY, ИндексКлиента INTEGER, ПримечанияЗаказа NCHAR VARYING (255),
CONSTRAINT ВнКлЗаказыИндексКлиента FOREIGN KEY (ИндексКлиента) REFERENCES Клиенты ON UPDATE CASCADE ON DELETE CASCADE)

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

> Making the table a detail of another dataset
это тоже связь, аналогичная, мастер детайл, но обеспеченая на уровне клиента (программа на дельфи), foreign key на уровне сервера (базы).


 
sniknik ©   (2005-06-16 08:41) [8]

в > Магнум   (15.06.05 20:08) [4] ты все в принципе описал (значит понимаеш что такое внешний ключ), и как работает. но что хочеш сделать непонятно. вопрос "как работать с "...любой несуществующий термин..." через "...неважно что..."" как вопрос не воспринимается.
если чегото нет, то как с ним работать? ;о))



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

Форум: "Базы";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
14-1120986439
NewWonder
2005-07-10 13:07
2005.07.31
Как сделать счётчик скачиваний файла?


1-1121167541
Alex_C
2005-07-12 15:25
2005.07.31
Как сдедать чтобы Hint не пропадал?


1-1121163862
ANB
2005-07-12 14:24
2005.07.31
Как достать текстовое значение Enumeration переменной ?


6-1113811986
MaximP
2005-04-18 12:13
2005.07.31
Несколько програм на одном порту


14-1120677507
Piter
2005-07-06 23:18
2005.07.31
Сколько стоит билет до Алушты?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский