| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Вывод даных в DBLookUpComboBox |
| Автор: AleksandrH 20.5.2010, 12:01 |
| На форме есть 2 DBlookupcombobox (дбкб1, дбкб2) данные в которые берутся с таблиц. В зависимости от выбраной записи в первом дбкб1 выводятся значения в дбкб2. проблема состоит в том что если записи с дбкб1 нет соответсвенной в дбкб2, то выдается ошибка "BOF или EОF имеет значение True либо текущеее значение удалено". Как обратоботать ету ошибку чтобы выводило сообщение? |
| Автор: AleksandrH 20.5.2010, 13:13 |
ACCESS. таблица1: ид, имя таблица2: ид2, ид, имя_второе в таблица2 masterfield - ид. |
| Автор: former 20.5.2010, 13:37 |
Я имею виду это:![]() |
| Автор: AleksandrH 20.5.2010, 14:33 |
| Извини, я не понимаю что ты хочешь сказать. :-( Что с этими установками, что без них - не работает |
| Автор: former 20.5.2010, 16:31 | ||
Я хочу сказать, что нужно хотя бы с основами построения БД ознакомиться. Ты пишешь:
Значит эти таблицы должны быть связаны внешним ключом (FOREIGN KEY). Создание связи я привел на изображении. Это необходимо для обеспечения ссылочной целостности, т.е. при удалении записи из родительской таблицы tbl_a должны удаляться, связанные с ней внешним ключом, записи из таблицы tbl_b, что бы они не стали "осиротевшими". Поэтому у тебя и появляется ошибка - родительскую запись удалил, а связанные с ней записи из других таблиц "осиротели" (им не на что ссылаться). Так понятно? P.S. Когда же вы начнете книги читать? |
| Автор: AleksandrH 20.5.2010, 17:16 |
| При чем здесь книжки, удаление родительской записи? FOREIGN KEY это поле "ид" которое одинаковое в двух таблицах. Вопрос стоит о выборке данных а не об удалении связаных записей. Таблица1 Ид: 1; 2; 3 Таблица2 Ид2: 1_1; 2_2; 3_3 Ид: 1; 1; 2 Имя: Имя1; Имя2; Имя3 Выбираю в 1dblookupcomboboxe значение "1" в 2dblookupcombobox выводится "Имя1; Имя2" Выбираю в 1dblookupcomboboxe значение "2" в 2dblookupcombobox выводится "Имя3" Выбираю в 1dblookupcomboboxe значение "3" в 2dblookupcombobox ничего не выводится, програма выдает ошибку, потому что нет записей связанных с "3". (например, если в таблице1 классы а в таблице2 ученики. При выборе 1 класса - выведется список учеников, а при выборе 3 класса - ошибка, потому что класс есть, но без учеников(ну не успели додать, перевели, разформировали класс)) |
| Автор: former 20.5.2010, 18:03 |
| Ну тогда выкладывай пример. Телепаты в отпуске. |
| Автор: AleksandrH 21.5.2010, 09:16 |
| former спс за "пинок" в нужном напрямлении |