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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как вносить новые данные в БД Access? 
V
    Опции темы
kazus
Дата 2.9.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеется БД (Access 2003) состоящая из 3-х связанных (заполненных) таблиц. Каким образом в неё можно внасить новые записи? Как дополнять БД?
Заранее благодарю.
PM MAIL   Вверх
kazus
Дата 2.9.2007, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Сделала Общую форму для добавления, добавляю след. новую запись, выдает ошибку: "Невозможно добавление или изменение запси. Для обеспечения целостности данных необходимо наличие связанной записи в таблице 2."
????? Помогите, пожалуйста, разобраться.
PM MAIL   Вверх
Anark1
Дата 2.9.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 11



Проблема в том, что на таблицы БД наложено ограничение ссылочной целостности. Ошибка типа "Violating of foreign key".
Сначала стоит узнать, что это такое.



--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Akina
Дата 2.9.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Каскадное добавление всегда начинается с таблиц на стороне "один". Ты же пытаешься сразу добавить данные в таблицу на стороне "много".


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

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


Новичок



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

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



Прошу прощения, за полное отсутствие знаний в этой области, только сегодня села за Access,действовала по рекомендациям из самоучителя- все получилось, кроме запроса на добавление (объединение таблиц)- ошибка: ...нарушение уникальности ключа;
и, совершенно не понятно, как добавлять новые данные в таблицу. Из комментариев выше - не ясно как делать надо?!
Если не затруднит, опишите порядок действий для чайников. Чувствую, что просто должно быть...
Очень благодарю. 
PM MAIL   Вверх
ТоляМБА
Дата 3.9.2007, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

Репутация: 3
Всего: 252



Сервис -> Схема данных
Посмотри с какой таблицей связана твоя, открой ту таблицу, посмотри значения и в свою таблицу в соответствующее поле (видно в схеме данных) вноси только те записи которые есть в той таблице.
PM   Вверх
Akina
Дата 3.9.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(ТоляМБА @  3.9.2007,  10:25 Найти цитируемый пост)
Сервис -> Схема данных

Хорошо, но мало.

Надо еще смотреть макет таблиц - там могут быть поля подстановки.


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

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


Новичок



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

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



Общая форма для заполнения содержит все поля из первой и второй таблиц.
Например:
"№ (ключ, типа- счетчик)", "ФИО", "группа" - поля Табл.1;
"№ (ключ, типа- счетчик)", "адрес", "тел." - поля Табл.2;
Связь- один к одному полей "№(ключ, типа- счетчик)" между Табл.1 и Табл.2;
Пусть БД из этих двух таблиц состоит.
Как новые данные туда внести????????????????
  smile   smile   smile   smile   smile  smile   smile 
Кто-нибудь знает???

PM MAIL   Вверх
Anark1
Дата 6.9.2007, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 11



Такие таблицы ты никогда не свяжешь (вернее это реально, но это в корне не правильно). Почему? Потому что у тебя оба поля связи автоинкрементны. Во второй таблице создай некоторое поле Table1_Id. Потом создай внешний ключ и добавляй записи INSERTом. Сначала в главную таблицу, потом в подчиненную. В поле Table1_id добавляешь значение из № таблицы1.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
bopoha
Дата 7.9.2007, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

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



Anark1, очень сложно решение.

Дейстительно в таблицу необходимо добавить поле внешнего ключа Table1_Id - куда будут записываться коды из первичного ключа "№ (ключ, типа- счетчик)" из Таблицы 1.

Дальше делаются две формы. Для таблицы1 и таблицы2 - форма1 и форма2. На форма2 будет подчиненной (надеюсь ты знаешь как добавлять подчиненные формы на форму). Далее в свойствах элемента увпраленя подчиненной формы на вкладке "Даные" необходимо указать отношения между полями. Подчиненные поля - Table1_Id, Основные поля - "№ (ключ, типа- счетчик)".

Все пользователь со спокойной душой может добавить несколько записей.
PM MAIL WWW ICQ Skype GTalk   Вверх
Anark1
Дата 8.9.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 11



bopoha, 
в чем сложность ?


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
kazus
Дата 9.9.2007, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bopoha, Anark1, спасибо!
PM MAIL   Вверх
bopoha
Дата 10.9.2007, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

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



Anark1, сложность заключается в том, что записи нужно не только добавлять, но и удалять. Писать каждый раз (если принять этот метод для всех подобных случаев) подобный код утомительно (прикинь полей эдак 50-т INSERT-ом). 

Можно воспользоваться стандартными возможностями. Быстрее, проще, работает!
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

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

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

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


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

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


 




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


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

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