Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
3-57969
DenNNis
2002-06-26 11:18
2002.07.18
Ошибка! Хэлп плиз !!!!!!!!!


3-58021
Ivts
2002-06-27 15:58
2002.07.18
DCOM, TQuery


14-58300
Sergey13
2002-06-21 11:32
2002.07.18
Предложение по организации форума


1-58128
Дмитрий Иванов
2002-07-08 21:22
2002.07.18
TImage в TScrollBoxе


3-57947
skarm
2002-06-25 11:06
2002.07.18
dbf




   Наверх