|
|
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
Всем здрасьте! Возникла такая проблема: Мне нужно импортировать данные из первой дбф во вторую если определенные поля первой не пусты! Чего-то не получается! SELECT temp m='' m=STR(shifr.shifr) SELECT obsh_prizn SCAN SCATTER MEMVAR !EMPTY(o.(m))= .t. select temp APPEND BLANK GATHER MEMVAR ENDSCAN Что не так делаю? подскажите плиз Реньше отлично использовалось: select material scan scatter memvar m.Nom_tr=m.treb m.tov=m.naim m.nomenkl=m.nom m.sum=m.suma select tov_IN append blank gather memvar select material endscan А вот при его небольшом изменении чего-то он глючит В чем моя ошибка? Всем заранее огромное спасибо за любую помощь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 10:48:30 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
А зачем так много команд? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 11:09:49 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
А что написать типа select * from TableSource where Expression into dbf TableDestination Религия не позволяет ???? p/s Читайте доку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 11:09:51 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
SamvelА зачем так много команд? Код: plaintext 1. Прописываю: SELECT obsh_prizn append from data/temp for !EMPTY(obsh_prizn.sum_150)=.T. НЕ РАБОТАЕТ! может из-за того, что названия полей разные? но они должны быть разными! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 12:15:46 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
INSERT INTO dbf_name [(fname1 [, fname2, ...])] SELECT [(fname1 [, fname2, ...])] FROM tablename WHERE condition тебе поможет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 12:26:49 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
Ну напишите кто нибудь чего нибудь существующее а не из хелпа!!! Я уже все мозги себе вытр....ал! Может уже туплю! но ничего не получается! ни это SELECT obsh_prizn append from data/temp for !EMPTY(obsh_prizn.sum_150)=.T. ни это select * from obsh_prizn where !EMPTY(obsh_prizn.sum_150)=.T. into dbf temp и даже вот это! INSERT INTO obsh_prizn (nom_m_dela, fio, sum_150); SELECT nom_m_dela, fio FROM temp; WHERE obsh_prizn.sum_150 > 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 12:52:25 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
А какая версия фокса? Для FPD - вот так можно (если поля названы неодинаково - хотя зачем было так их называть?): SELECT obsh_prizn SCAN FOR !EMPTY(sum_150) INSERT INTO temp (здесь поля TEMP через запятые) VALUE(соотв.поля obsh_prizn через запятые) ENDSCAN Для VFP - явно лучше формула с SELECT-ом (только правильно надо составить - там у тебя явно совсем не то - структура-то у таблиц разная! А какая - не указано). И вообще - "не работать" что-то может по-разному - то ли выдается сообщение об ошибке, то ли что другое... Кто-то может это угадать?! Надо указывать все конкретнее, если хочешь, чтоб ответили конкретно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 13:14:02 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
У меняи 8-ой Фокс Структура дбф-ок: Temp: nom_m_dela fio msek grup dat_okaz suma dat_sled obsh_nazn: nom_m_dela fio msek grup dat_150 sum_150 sled_150 ......... dat_210 sum_210 sled_210 Мне просто жизненно необходимо, чтоб Если при выборе в комбо шифра т.е. 150,160 или 170... в obsh_nazn было не пустое, то переносилось в Temp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 13:26:53 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
select * from obsh_prizn where !EMPTY(obsh_prizn.sum_150)=.T. into dbf temp ничего не отображается SELECT obsh_prizn append from data/temp.dbf for !EMPTY(obsh_prizn.sum_150)=.T. ничего никуда не переносится! INSERT INTO obsh_prizn (nom_m_dela, fio, sum_150); SELECT nom_m_dela, fio FROM temp; WHERE !EMPTY(obsh_prizn.sum_150)=.T. выдает: Необходимо задать доп параметры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 13:31:49 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
TachНу напишите кто нибудь чего нибудь существующее а не из хелпа!!! Стандартный "классический" способ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Если у Вас версия VFP9, то все это можно объединить в один запрос. Для версий до VFP3 включительно у команды Select-SQL не было опции NOFILTER. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 14:21:37 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
2Tach : Твой вариант 1 - изменит структуру Temp. Вариант 2 - не будет работать из-за несоответствия структур обеих таблиц. А разве в 3 варианте источник и назначение - не наоборот? :) В смысле, разве не вот так нужно: INSERT INTO temp (nom_m_dela, fio, suma); SELECT nom_m_dela, fio, sum_150 FROM obsh_prizn ; WHERE !EMPTY(obsh_prizn.sum_150) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 15:43:18 |
|
||
|
Импорт из одной дбф в другую
|
|||
|---|---|---|---|
|
#18+
Hi Tach! Внималеьность и ещё раз внимательность - ты указал вставить в 3 поля, а в запросе перечислены только 2 - что по твоему должно попасть в 3-е поле? И то что INSERT INTO <КУДА_ВСТАВЛЯЕМ> (поля) SELECT ... FROM <ОТКУДА_ВСТАВЛЯЕМ>. Для начала ты отладь простой SELECT - который выберет то что тебе нужно (имена полей на данном этапе несущественны - главное порядок их запомнить) - потом уже допиши начальную часть INSERT INTO - позаботившись о правильном списке полей. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2005, 04:46:05 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=309&tid=1593758]: |
0ms |
get settings: |
10ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 434ms |

| 0 / 0 |
