![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BatchMove не работает с вычисляемым полем! [D6, dBase, FoxPro]
Соловьев © (2003-01-09 12:23:00)Использую BatchMove для сохранения данных из одной таблицу в другую. Если поле не вычисляемое , то все нормально, а как быть с вычисляемым?
sniknik (2003-01-09 15:47:00) [1]Можно попробовать разбить строку если перейти на ADO + Jet (тогда в запросе многие функции бейсика доступны, получится чуть ли не программа в одном запросе)
но для одного раза действительно не стоит огород городить.
MsGuns (2003-01-09 15:45:00) [2]Как чувствовал :)) Зубодробительный !!!! Делал когда-то подобные вещи. Одним проходом без ручного контроля-правки тут обойтись тяжело. И это надо было всунуть в OnCalcFields ?!?! Ну уж, как говорится, флаг в руки, а древко - в ....
Val (2003-01-09 14:39:00) [3]это нормально для одноразовой работы
Соловьев (2003-01-09 14:37:00) [4]Я так и делаю. Но сохранять потом около 30 тыс записей перебором очень долго.
Val (2003-01-09 14:35:00) [5]мда...вычисляемое поле называется. придется разбирать строку на паскале и добавлять по одной записи. см.Mike Kouzmine (09.01.03 14:09)
Соловьев (2003-01-09 14:19:00) [6]КЕМ ВЫДАН ДОКУМЕНТ, ДАТА и ДРУГОЕ- 3 вычисляемых поля из одного.
Val (2003-01-09 14:12:00) [7]ничего не понял :(
где вычисляемое поле?
Поле1 - Name = VYDANили нужно выцепить из строки ...?
Mike Kouzmine (2003-01-09 14:09:00) [8]Наверное, только while not eof appendrecord
Соловьев (2003-01-09 14:01:00) [9]OK!
Пишу. Структура такая:
Таблица №1
Поле1 - Name = VYDAN, type=character, size=150.
Остальные поля в вычислении не принимают участия поэтому не пишу.
В этом поле хранится Бог знает что - инфу набивали, кто только угодно. Алгорит такой, что нужно выцепить из строки ДАТУ и КЕМ ВЫДАН ДОКУМЕНТ=вся строка-ДАТА(или ЧАСТЬ ДАТЫ), если этого нельзя сделать то выдать всю строку.
Таблица №2
Поле1 - name=ID_VYDAN, type=numeric, size=2,0
Поле2 - name=N_VYDAN, type=character, size=150
Так вот нужно сохранить КЕМ ВЫДАН ДОКУМЕНТ в N_VYDAN.
Val (2003-01-09 13:55:00) [10]>MsGuns © (09.01.03 13:52)
согласен с утверждениями, с последним в особенности, но, Сергей, я говорил о вложенном в insert select"e, тут может не сработать на Local"е, хотя, я, конечно же, могу ошибаться.
MsGuns (2003-01-09 13:52:00) [11]>Val © (09.01.03 13:48)
>Единственная проблема может возникнуть в том, что Local SQL не поддержит конструкции, тогда придется ваоспользоваться Local views, возможно.
Local SQL поддерживает бОльшую часть конструкций: конъюнкцию-дизъюнкцию, всю арифметику и еще кое-что. Но если там и взаправду зубодробительный алгоритм вычисляемого поля, то тогда вопросы к разработчику приложения.
А вообще-то без структур и формулы это все базарный п....ж !
Val (2003-01-09 13:48:00) [12]>Соловьев (09.01.03 13:40)
> но попробуй
Что пробовать, делать надо :)
Давайте структуры таблиц, для начала.
Единственная проблема может возникнуть в том, что Local SQL не поддержит конструкции, тогда придется ваоспользоваться Local views, возможно.
Соловьев (2003-01-09 13:40:00) [13]2 Val
Да, с SQL я недоучил, но попробуй сохранить с помощью SQL вычисляемое поле.
Val (2003-01-09 13:38:00) [14]>Соловьев (09.01.03 13:30)
SQL этого не сделает.
На сколько я знаю SQL добавляет по одной записи
Прежде чем утверждать, неплохо бы изучить предмет.
В Вашем случае, лучший выход именно SQL.
Соловьев (2003-01-09 13:30:00) [15]А множество он добавить сможет, я не знал. :((((
insert into <table1> <select * from table2 >
gek (2003-01-09 13:30:00) [16]
> как быть с вычисляемым?
Никак см. MsGuns © (09.01.03 13:00)
Соловьев (2003-01-09 13:18:00) [17]2 MsGuns
Ты наверное не понял: мне надо сохранить вычисляемоеполе из первой во вторую. SQL этого не сделает.
MsGuns (2003-01-09 13:12:00) [18]Структуры таблиц - в студию !
Соловьев (2003-01-09 13:05:00) [19]Мне надо переписывать все записи с одной таблицы в другую: вычисляемое поле из первой в физическое поле второй. На сколько я знаю SQL добавляет по одной записи. А может я чего-то не понимаю. Сорри. Может поможите с SQL запросом тогда: чтобы добавлял множество.
MsGuns (2003-01-09 13:00:00) [20]Если обе таблицы идентичны, то не имеет смысла переписывать вычисляемые поля,- они сами по себе смысла не имеют. Если же в исх.таблице такого поля физически нет, а в результирующую надо его переписывать как поле обычное, то лучше это делать SQL-запросом.