Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 03.09.2017, 02:56   #1
vadimius
Новичок
 
Регистрация: 25.02.2007
Сообщений: 1
Репутация: 10
По умолчанию Выбор таблицы при вводе данных в базу

База данных ACCESS.
Cхема на рисунке.
imghttp://www.programmersforum.ru/attachment.php?attachmentid=89355&s tc=1&d=1504392726/img
Таблицы: Наблюдатели, Птицы, Встречи, Поведение и 4-е таблицы вариантов поведения. Вообщем Наблюдатель встречает объект и по его поведению данные о нем заносятся в одну из четырех таблиц. Через таблицу Поведение - привязаны данные Встреч ко всем 4-м вариантам поведения по принципу многие-ко-многим. Никак не могу решить проблему: при вводе данных для одного варианта поведения - требуется ввод данных и для остальных 3-х. Как в ACCESS-е можно реализовать этот выбор - так чтобы вводить данные только для одной выбранной таблицы?
Ниже код реализующий ввод данных с вариантом поведения - таблица Observations .. при котором вылетает ошибка: .. для обеспечения целостности данных необходимо наличие связанной записи в таблице Migrations. В примере подключены только 2-е из 4-х таблиц.
Некоторые пояснения к коду:
adotb1->Birds - Объекты
adotb2->Watchers - Наблюдатели
adotb3->Meets - Встречи
adotb4->Behaviors - Поведение
adotb5->Observations - ПростоеПоведение
adotb6->Migrations - МиграционноеПоведение
//---------------------кнопка Добавить-----------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
adotb1->Append();
adotb2->Append();
adotb3->Append();
adotb4->Append();
adotb5->Append();
//adotb6->Append();
}
//------------------------кнопкаПрименить---------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
TLocateOptions SearchOptions;
if(adotb1->Locate("BName", DBComboBox1->Text, SearchOptions<<loPartialKey<<loCase Insensitive) == true)
{
adotb3->FieldByName("ID_bird")->AsInteger = adotb1->RecNo;
}else
{
adotb1->FindLast();
adotb3->FieldByName("ID_bird")->AsInteger = adotb1->RecNo + 1;
}
if(adotb2->Locate("WName", DBComboBox2->Text, SearchOptions<<loPartialKey<<loCase Insensitive) == true)
{
adotb3->FieldByName("ID_watcher")->AsInteger = adotb2->RecNo;
}else
{
adotb2->FindLast();
adotb3->FieldByName("ID_watcher")->AsInteger = adotb2->RecNo + 1;
}

if(adotb3->Modified == true)
adotb3->Post();
if(adotb5->Modified == true)
adotb5->Post();

adotb3->FindLast();
adotb4->FieldByName("ID_meet")->AsInteger = adotb3->RecNo;
adotb5->FindLast();
adotb4->FieldByName("ID_observation")->AsInteger = adotb5->RecNo;
//adotb4->FieldByName("ID_migration")->AsInteger = 0;
if(adotb4->Modified == true)
adotb4->Post();
Изображения
Тип файла: jpg pic1.jpg (46.7 Кб, 1 просмотров)
vadimius вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический выбор из списка значений combobox при ручном вводе с клавиатуры Настя Белова Microsoft Office Excel 3 14.05.2014 17:35
Включить button при вводе данных Damik Общие вопросы Delphi 4 11.02.2013 22:48
преобразование таблицы в базу данных drollig Microsoft Office Excel 3 17.02.2012 04:01
Как включить выбор домена при вводе аккаунта? Stilet Операционные системы общие вопросы 2 18.08.2008 08:40
преобразование массивов при вводе данных greenkat Microsoft Office Excel 4 28.02.2008 20:21




12:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru