![]() |
|
Модераторы: Akina |
![]()
|
|
| javas |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 23.10.2003 Репутация: 1 Всего: 2 |
Необходимо добавить name, age, style в person по group.name конечно, не знаю как програмить под VBA для работы с БД, поэтому возник такой вопрос.
Работа через формы конечно. понятно что надо получить groupId, но OpenQuery, RunSQL этого не сделаешь. Вообщем как проще подскажите, на уровне форм, запросов, и т. д. Присоединённый файл ( Кол-во скачиваний: 0 )
bd.gif--------------------
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Если у тебя name, age, style жестко связаны с group.name, то почему надо добавлять в person?
Впрочем задача совершенно непонятна - хотя слов и много... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Ну если программить проблема - тогда создай форму с помощью мастера. Выбери поля из обеих таблиц и он тебе сам создаст форму с подчиненной, где главная - group, а подчиненная - person. Связка по полю - groupId.
В этом случае пользователь, открывая форму, выбирает группу, а в подчиненной форме фильтруется автоматом список персон, входящих в эту группу - добавляй/удаляй/редактируй... groupId будет добавляться автоматом. Еще советую глянуть на такую вещь как подтаблица - тот же эффект, а иногда и прикольнее - табличная форма, в которой щелкаешь плюсик, открываешь подтаблицу и делаешь тоже самое, что обрисовал выше. |
|||
|
||||
| javas |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 23.10.2003 Репутация: 1 Всего: 2 |
В том то и фишка, если я выбираю подчиненную форму по полям из разных таблиц name, age, style и group.name
При условии, что group.name = выбранному в поле со списком:
То создавать записи в person, т.е. добавить name, age, style для определенного group.name не получится. Как сделать, чтобы можно было добавить записи в person по group.name? (Чтобы Id не вытаскивать из recordset'a, а чисто аксесовскими примочками) --------------------
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
И изначально ни хрена было не понять, и сейчас яснее не стало...
Начни-ка с самого начала - что у тебя есть, как поставлена задача, что хочешь получить и что именно не получается. да поподробнее - тебе-то видно чего там у тебя есть, а нам нет... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
"Нафига дофига нафигачили????!!! Расфигачивай нафиг!!!"
Все можно проще, если я правильно понял. Поле со списком "Forms!Администратор!ПолеСоСписком63" - содержит запрос к таблице "group"!(?) и возвращает значение groupId. Тогда укажи источником данных подчиненной формы таблицу "person" (или обновляемый запрос) без всяких джойнов и веров. Затем выдели подчниненную форму как контрол и в свойствах (вкладка Данные) укажи - основные поля: ПолеСоСписком63 - подчиненные поля: groupId Добавляй - удаляй - редактируй сколько душе угодно Добавлено @ 16:24 Вдогонку - имя группы ведь отображается в поле со списком? стал быть и не нужно оно в подчиненной форме. Добавлено @ 16:30 Стоп - неправильно прочитал сообщение. ПолеСоСписком63 - возвращает ИМЯ ( Тогда дополнительное преобразование (на свои стандартные места). В поле со списком в качестве источника строк задай запрос который вернет поля groupid и name. Укажи количество столбцов = 2. Основным (BoundColumn) укажи 1, а ширину столбцов ~ 0;3. Тогда получать будешь id, а видеть пользователи будут ИМЯ. |
|||
|
||||
| javas |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 23.10.2003 Репутация: 1 Всего: 2 |
Papirus ты единственный понял меня, но все же не получается добавлять запись, приходится в подчинненную форму вставлять groupId и вводить вручную. Как этого избежать. Т.е. ввести name, age, style, а Id он сам подставил, что и в ПолесоСписком.
Иначе пишет
В принципе то, что ты подсказал с полем со списком, где Id, скрывается но выдается в Value решает проблему с помощью RunSQL(но надо добавлять для каждой записи Поле Это сообщение отредактировал(а) javas - 21.4.2005, 21:17 --------------------
|
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
А основные - подчиненные поля прописал? Боюсь, что нет. При выборе в списке группы - в подчиненной форме записи фильтруются?
|
|||
|
||||
| javas |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 23.10.2003 Репутация: 1 Всего: 2 |
Конучно фильтруется, все отображается правильно, для определенной group.name значения из person(их много). Но создать то не получается новые person. Либо Id ручками вводить приходится.
--------------------
|
|||
|
||||
| Papirus |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 19.4.2005 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Любопытный глюк!
Значит - основные поля - имя комбобокса, возвращающего groupid из списка подчиненные поля - имя контрола, в котором groupid подчиненой формы? И не работает!??? Посмотри примерчик. Присоединённый файл ( Кол-во скачиваний: 2 )
db1.rar |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |