![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Еще одно поле в Query [D5, Oracle]
Val © (2002-03-14 14:20:00)Подскажите пожалуйста, возможно ли к Query, со статическим SQL и созданным набором полей, динамически добавить поле типа fkData?
Val (2002-03-18 14:25:00) [1]если бы :)
Lord Warlock (2002-03-18 14:14:00) [2]Val: или я чего-то недопонял, или ты описал задачу классического LookUp-а?
Val (2002-03-14 17:33:00) [3]Через BDE коннект.
Дело в том, что это не моя вольная разработка, а коммерческий проект, думаю дальше пояснять не надо. Просто, думалось можно приделать вот так просто :), ладно, будем мыслить дальше, спасибо всем :)
Johnmen (2002-03-14 17:29:00) [4]RxMemoryData
roottim (2002-03-14 17:24:00) [5]бообщем некоторый буфер... ясно!
да я сейчас посмотрел сам с этим полем.! он действительно по всем полям пробегает при добавлении строки!.. увы видно нельзя :)...
вот чего хотел спросить... ты что используеш для коннекта?
я у себя смотрю(ODAC).. есть такая штука ка виртуальная таблица в памяти... и пример даже с ней есть!...
если через BDE то у Rx тоже есть... тока я с ними не работал..
или просто можно в твоей буферной таблице добавить пару(навсякий) VARCHAR2 полей... и кода они нужны то туда кидать туда AsStrig из твоей выборки...
Val (2002-03-14 17:06:00) [6]Контейнер выбранных материалов, для занесения их в документы. То есть выбрал я водку -нажал кнопку-запрос в Query-получил 3 записи, затем сочку захотелось, выбрал сок -нажал кнопку-сработал Query - 2 записи сока - итого в QueryPositions и выпивон и закусон :))
Johnmen (2002-03-14 17:00:00) [7]А зачем вообще нужен QueryPositions (по сути) ???
Val (2002-03-14 16:44:00) [8]Я выше говорил, что добавить поле fkCalculated,fkLookup-нет проблем, мне просто негде хранить значения этого нового поля из прошлого запроса.
Код его создания в у меня программе один в один. В OnCalcField:
if QueryPositions.FindField("DateInsert")<>nil then
QueryPositions.FieldByName("DateInsert").AsString:=Query.FieldByName("DateInsert").AsString;
Попробую пояснить получше суть задачи: QueryPositions-контейнер для позиций материалов, т.е. я выбираю материалы, с помощью Query,-> в QueryPositions(пробегаюсь в цикле по Query и добавляю записи в QueryPositions), и дальше идет работа уже с ним...
Так вот: в Query я выбираю также и дату оприходования, но такого поля нет в QueryPositions, поэтому его нужно как-то добавить хотя бы для отображения.
roottim (2002-03-14 16:26:00) [9]все ясно!
то биш прицепилось... просто вроде как вылезало "филд не найден"...
блин трудно понять что там происходит с кверями...
кусочек кода где там добавляется и т.подобные вещи происходят
Val (2002-03-14 16:16:00) [10]не понял, поясните?
Калк. цепляется нормально, но я теряю данные - при добавлении новых записей, так как в событии OnCalFields стоит присвоение этого поля из одного квери в другой - это поле во всем квери заполняется одинаковыми значениями-из последней добавленной записи.
roottim (2002-03-14 16:07:00) [11]а ADD... тоже самое
калк.. -то поле должно прицепиться.. тут то вроде вопроса нет!...
Val (2002-03-14 15:56:00) [12]>roottim (14.03.02 15:43)
прикручивается оно в .DataSet;
Val (2002-03-14 15:44:00) [13]>Lord Warlock © (14.03.02 15:28)
вроде бы внимательно читал, но дело в том, что если про fkData, написано, что поле этого типа физически находится в БД, то про fkInternalCalc, написано о наборе данных(так ведь переводится dataset? ;)) вот я и подумал о наборе данных, который возвратил Query.
roottim (2002-03-14 15:43:00) [14]к вопросу " нет такого поля"
а где оно прикручивается... Self у тебя на что указывает?
Johnmen (2002-03-14 15:33:00) [15]>Lord Warlock © : И что же мы даем и кому ? :)
Lord Warlock (2002-03-14 15:33:00) [16]Извиняюсь, не SML, a DDL - Data Definition Language
все таки под вечер клинит...
Lord Warlock (2002-03-14 15:28:00) [17]Ну вы все даете...
Val: У тебя никогда не получится работать с полями типа
fkData, fkInternalCalc , если они не связаны с
реальным полем в БД
Если внимательно читал хелп, fkInternalCalc - то же что
и fkCalculated, но данные после расчета хранятся в БД, для
чего опять та-ки нужно поле.
Так что ответ на твой вопрос - создать можно, но работать
не будет
а если хочешь динамически создать поле именно в БД, пользуй
SML
Johnmen (2002-03-14 15:18:00) [18]Ты скажи, а зачем тебе вообще это надо ?
М.б.решить твои проблемы по-другому ?
Val (2002-03-14 15:10:00) [19]Ок :), я тормознул с fkData, так как это поле должно быть из реальной таблицы. Но, смотрим-fkInternalCalc-вроде как раз-то что надо - и вычисляемое и в наборе данных сохраняется,но..та же история-ошибка-поле не найдено :(
Johnmen (2002-03-14 15:00:00) [20]Приношу свои извинения, и rottim тоже !
Ну конечно же ! НЕВОЗМОЖНО добавить поле, если оно не будет связано с реальным !
А фокусы с добавлением поля проходят с НД, не связанными ни с какими реальными таблицами или запросами !