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

Вниз

Редко изменяемые данные   Найти похожие ветки 

 
AlexA ©   (2002-06-18 14:16) [0]

Уважаемые мастера и подмастерья доброго здравия.
Посоветуйте.
Ситуация такая.
Имеется справочник.(S)
Справочник изменяется редко.
Данные из справочника (а имено лишь одно поле) в другой форме отображаютсяв часто.
Какое поле отобразить зависить от четырех полей в другой таблице(T)
(можно считать что имеется связь 1:М), причем одно из полей таблицы Т может быть равно null.

Все это работает в локальной сети.

Я делаю следующее.
При запуске программы все данные из справочника S читаются в IBDateSet.
При изменениях в справочнике IBDateSet переоткрывается (случается редко).
Для таблицы Т создано вычисляемое поле. Значение этого поля вычисляется
метом Lookup компонента IBDateSet.
Сложности начинаются при поиске, когда одно из полей таблицы Т равно null.
(null передаю - запись не находится).
Может еще один IBDateSet добавить у которого поле равно null? А?

Верной ли дорогой иду товарищи.

Может подскажите другие решения.


Спасибо.


 
alexA ©   (2002-06-20 11:51) [1]

Помогите пжл.


 
Lusha ©   (2002-06-20 12:22) [2]

А какое значение должно вычисляться для записи с null полем? Разве при ненахождении записи метод TDataSet.LookUp не вызывает исключительной ситуации?


 
AlexA ©   (2002-06-21 10:06) [3]

>Lusha
если поле null то из справочника также выбирается поле для которого поле равняется null (дело в том, что связь организуется по нескольким полям - одно из поле может равняться NULL ).
TDataSet.LookUp ПРИ ПОИСКЕ ПОЛЬЗУЮСЬ инвариантным МАССИВОМ.


 
Lusha ©   (2002-06-21 10:17) [4]

>AlexA © (21.06.02 10:06)
Так Вы же сами сказали, что такой записи нет, вот я и спрашиваю, а что должно быть в случае отсутствия таковой?
А чем Вас не устраивает TDataSet.LookUp?


 
AlexA ©   (2002-06-24 13:46) [5]

>Lusha
спасибо за внимание.
>Так Вы же сами сказали, что такой записи нет

не понял. У записи одно из полей может равнятся NULL, но запись то есть. Приходиться искать запись на соответствие NULL.
TDataSet.LookUp этого как я понял не может.
А писать запросы и гонять их по сети , наверное не рационально.


 
Lusha ©   (2002-06-25 09:31) [6]

>AlexA © (24.06.02 13:46)
TDataSet.LookUp этого как я понял не может.
TDataSet и не должен этого мочь... TIBDataSet должен... Если не может, значит Вы наткнулись на некий глючок... =)
Совет: установите все необходимые апдейты и сходите на страничку Borland в раздел support (если мне не изменяет память)...



 
AlexA ©   (2002-06-25 14:22) [7]

> Lusha © (25.06.02 09:31)

Виноват. Использую TIBDataSet.
Можно примерчик следующего метода
IBDataSet1.LookUp(?)
Поиск по двум поля одно из которых null

Спасибо


 
Lusha ©   (2002-06-25 15:33) [8]

Проверить TIBDataSet не имею возможности, но на TQuery вот такое прокатывает... :)
V := Query1.LookUp("Addr2;Company", VarArrayOf([NULL, "Ocean Paradise"]), "CustNo");


 
AlexA ©   (2002-06-27 16:37) [9]

не прокатывает
Но все равно спасибо



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
1-58108
Question
2002-07-08 18:13
2002.07.18
screen.Datamodulecount


1-58176
v2k
2002-07-05 19:07
2002.07.18
Переместить папку


1-58204
Lin Grey
2002-07-06 19:41
2002.07.18
Как удалить из StringGrid выделенную строку


1-58189
ricks
2002-07-06 01:02
2002.07.18
Toolbar ы


1-58109
BlackSun
2002-07-08 15:18
2002.07.18
Как управлять IExplore