Модераторы: Akina
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Добавить записи в таблицу по Id 
:(
    Опции темы
javas
Дата 21.4.2005, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 23.10.2003

Репутация: 1
Всего: 2



Необходимо добавить name, age, style в person по group.name конечно, не знаю как програмить под VBA для работы с БД, поэтому возник такой вопрос.
Работа через формы конечно.
понятно что надо получить groupId, но OpenQuery, RunSQL этого не сделаешь.
Вообщем как проще подскажите, на уровне форм, запросов, и т. д.

Присоединённый файл ( Кол-во скачиваний: 0 )
Присоединённый файл  bd.gif
--------------------
 
PM   Вверх
Akina
Дата 21.4.2005, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Если у тебя name, age, style жестко связаны с group.name, то почему надо добавлять в person?

Впрочем задача совершенно непонятна - хотя слов и много...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Papirus
Дата 21.4.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



Ну если программить проблема - тогда создай форму с помощью мастера. Выбери поля из обеих таблиц и он тебе сам создаст форму с подчиненной, где главная - group, а подчиненная - person. Связка по полю - groupId.
В этом случае пользователь, открывая форму, выбирает группу, а в подчиненной форме фильтруется автоматом список персон, входящих в эту группу - добавляй/удаляй/редактируй... groupId будет добавляться автоматом.

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

smile
PM MAIL ICQ   Вверх
javas
Дата 21.4.2005, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 23.10.2003

Репутация: 1
Всего: 2



В том то и фишка, если я выбираю подчиненную форму по полям из разных таблиц name, age, style и group.name
При условии, что group.name = выбранному в поле со списком:
Код

SELECT group.name AS group_name, person.name AS person_name, person.age, person.style FROM [group] INNER JOIN person ON group.groupId=person.groupId WHERE (((group.name)=Forms!Администратор!ПолеСоСписком63)); 

То создавать записи в person, т.е. добавить name, age, style для определенного group.name не получится.
Как сделать, чтобы можно было добавить записи в person по group.name? (Чтобы Id не вытаскивать из recordset'a, а чисто аксесовскими примочками)
--------------------
 
PM   Вверх
Akina
Дата 21.4.2005, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



И изначально ни хрена было не понять, и сейчас яснее не стало...

Начни-ка с самого начала - что у тебя есть, как поставлена задача, что хочешь получить и что именно не получается. да поподробнее - тебе-то видно чего там у тебя есть, а нам нет...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Papirus
Дата 21.4.2005, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



"Нафига дофига нафигачили????!!! Расфигачивай нафиг!!!" smile

Все можно проще, если я правильно понял.

Поле со списком "Forms!Администратор!ПолеСоСписком63" - содержит запрос к таблице "group"!(?) и возвращает значение groupId.

Тогда укажи источником данных подчиненной формы таблицу "person" (или обновляемый запрос) без всяких джойнов и веров. Затем выдели подчниненную форму как контрол и в свойствах (вкладка Данные) укажи
- основные поля: ПолеСоСписком63
- подчиненные поля: groupId

Добавляй - удаляй - редактируй сколько душе угодно smile
Добавлено @ 16:24
Вдогонку - имя группы ведь отображается в поле со списком? стал быть и не нужно оно в подчиненной форме.
Добавлено @ 16:30
Стоп - неправильно прочитал сообщение.

ПолеСоСписком63 - возвращает ИМЯ ( smile ) группы, а не ID????
Тогда дополнительное преобразование (на свои стандартные места). В поле со списком в качестве источника строк задай запрос который вернет поля groupid и name. Укажи количество столбцов = 2. Основным (BoundColumn) укажи 1, а ширину столбцов ~ 0;3. Тогда получать будешь id, а видеть пользователи будут ИМЯ.
PM MAIL ICQ   Вверх
javas
Дата 21.4.2005, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 23.10.2003

Репутация: 1
Всего: 2



Papirus ты единственный понял меня, но все же не получается добавлять запись, приходится в подчинненную форму вставлять groupId и вводить вручную. Как этого избежать. Т.е. ввести name, age, style, а Id он сам подставил, что и в ПолесоСписком.
Иначе пишет
Код

Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 'group'. Добавляю какую-нибудь запись из group вообще добавление блокируется.

В принципе то, что ты подсказал с полем со списком, где Id, скрывается но выдается в Value решает проблему с помощью RunSQL(но надо добавлять для каждой записи Поле smile ), но желательно с подчиненной формой чтоб получилось. smile

Это сообщение отредактировал(а) javas - 21.4.2005, 21:17
--------------------
 
PM   Вверх
Papirus
Дата 22.4.2005, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



А основные - подчиненные поля прописал? Боюсь, что нет. При выборе в списке группы - в подчиненной форме записи фильтруются?
PM MAIL ICQ   Вверх
javas
Дата 22.4.2005, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 23.10.2003

Репутация: 1
Всего: 2



Конучно фильтруется, все отображается правильно, для определенной group.name значения из person(их много). Но создать то не получается новые person. Либо Id ручками вводить приходится.
--------------------
 
PM   Вверх
Papirus
Дата 25.4.2005, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 19.4.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 1



Любопытный глюк! smile
Значит - основные поля - имя комбобокса, возвращающего groupid из списка
подчиненные поля - имя контрола, в котором groupid подчиненой формы?
И не работает!???

Посмотри примерчик. smile

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  db1.rar
PM MAIL ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.