Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.07;
Скачать: CL | DM;

Вниз

Проблема с Lookup полями в ADO с MS SQL Server   Найти похожие ветки 

 
Nikolai_S ©   (2003-07-17 15:40) [0]

MS SQL Server
Использую две таблицы TADOTable: Table1, Table2.
В Table2 есть поля:
Table2ID
Name

В Table1 есть поля:
Table1ID
Table2ID
Name

В Table1 создаю Lookup поле Table2Name, которое ссылается на поле NAME из Table2. Если где-то в таблице Table1 в поле Table2ID записан NULL, то при открытии, редактировании, прокрутке и т.д. возникает ошибка:

Project <X> raised exception class EOleException with message "An unknown error has occurred". Process stopped. Use Step or Run to continue.

Все тоже самое, но в Access работает безотказно.
В чем можнт быть проблема?


 
Nikolai_S ©   (2003-07-17 16:06) [1]

???


 
stone ©   (2003-07-17 16:14) [2]

Table2Name.LookupCache := True;


 
Theoden   (2003-07-17 16:15) [3]

Если я правильно понял ты связываешь по ключу и как уникальная запись может быть NULL? Если тебе не надо выводить записи где у тебя Table2ID NULL, то надо делать LEFT(RIGHT) OUTER JOIN


 
Nikolai_S ©   (2003-07-17 16:28) [4]

Нет, ты немного неправильно понял. Вот более конкретный пример:

Записи таблицы CLASS:
CLASS_ID, CLASS_NAME
1, Класс 1
2, Класс 2

Записи таблицы OBJECT:
OBJECT_ID, CLASS_ID, NAME
1, 1, Объект 1
2, <NULL>, Объект 2


Есть две соответствующие таблицы TADOTable. В таблице Object я создал Lookup поле, ссылающееся на CLASS.NAME по полю CLASS_ID

При открытии, прокрутке, редактировании таблицы Object (TADOTable) и возникает ошибка.



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-20715
snake1977
2003-07-23 17:11
2003.08.07
Активизаця приложения


1-20556
Dmitriy_R
2003-07-23 13:13
2003.08.07
Работа с ТХТ файлом


1-20519
MalkoLinge
2003-07-23 14:08
2003.08.07
Как заставить контрол показать свой хинт ?


7-20823
Shadow
2003-05-25 14:19
2003.08.07
Серийный номер.


3-20394
Alex_x
2003-07-16 10:24
2003.08.07
Как в BeforeDelete отменить процес удаления