|
|
|
Задача
|
|||
|---|---|---|---|
|
#18+
Задача: Организовать импорт базы в сторонюю. Имеется: use db1.dbf in 1 alias NDFL use db2.dbf in 2 alias MAIN sele 2 counter=1 do while .not. eof(2) append blank in 1 repl NDFL.NREF with counter repl NDFL.STATUSFL with 1 repl NDFL.FAMFL with strtran(alltrim(NMLS),' ',',') if .not. empty(TYPE_DOKUM) repl NDFL.KODUDL with val(TYPE_DOKUM) else if val(S_N_DOKUM)=0 repl NDFL.KODUDL with 91 else repl NDFL.KODUDL with 21 endif endif repl NDFL.UDLICHN with S_N_DOKUM repl NDFL.DATEROJD with BIRTH_DATA repl NDFL.ADRMZH with ADRES repl NDFL.DOXIMYSH with '1520,'+alltrim(str(SUM_SUMAK,45,2)) repl NDFL.M_ERR with 'L' repl NDFL.GRAJD with 643 repl NDFL.OBSHDOX with SUM_SUMAK skip counter=counter+1 enddo Что здесь не так? В db1.dbf ничего не добавляется. Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 21:49 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
попробуйте заменить append blank in 1 repl NDFL.NREF with counter repl NDFL.STATUSFL with 1 repl NDFL.FAMFL with strtran(alltrim(NMLS),' ',',') на INSERT INTO ndfl (NREF,STATUSFL,FAMFL) VALUES (counter,1,strtran(alltrim(NMLS),' ',',')) вставится уж точно P.S. может удобней без номеров , а указывать названия алиасов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 22:16 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
Да нет в пинципе корректное решение просто есть одно надо переходить на ту таблу в которой двигаешься. Т.е. select 1 skip а ты выбираешь вторую. А вообще я обычно делаю так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Так можно использовать i для отображения сколько обработано и сколько осталось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 04:47 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
И да совсем забыл действительно лучше указывать алиасы. 1. Так нагляднее, след. меньше путаешься 2. Редко но у меня бывало что по номерам не переключаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 04:49 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
авторINSERT INTO NDFL (NREF,STATUSFL,FAMFL) VALUES (counter,1,strtran(alltrim(NMLS),' ',',')) append blank in 1 Error in line 6: Unrecognized phrase/keyword in command. FoxPro 2.6a авторДа нет в пинципе корректное решение просто есть одно надо переходить на ту таблу в которой двигаешься. Т.е. select 1 skip а ты выбираешь вторую. А вообще я обычно делаю так select 1 for i=1 to recc() sele 1 goto i ..... repl.... repl..... endfor Так можно использовать i для отображения сколько обработано и сколько осталось use sp2004.dbf in 1 alias NDFL use s2004.dbf in 2 alias main select lom for i=1 to recc() goto i repl NDFL.NREF with i repl NDFL.STATUSFL with 1 repl NDFL.FAMFL with strtran(alltrim(NMLS),' ',',') if .not. empty(TYPE_DOKUM) repl NDFL.KODUDL with val(TYPE_DOKUM) else if val(S_N_DOKUM)=0 repl NDFL.KODUDL with 91 else repl NDFL.KODUDL with 21 endif endif repl NDFL.UDLICHN with S_N_DOKUM repl NDFL.DATEROJD with BIRTH_DATA repl NDFL.ADRMZH with ADRES repl NDFL.DOXIMYSH with '1520,'+alltrim(str(SUM_SUMAK,45,2)) repl NDFL.M_ERR with 'Ф' repl NDFL.GRAJD with 643 repl NDFL.OBSHDOX with SUM_SUMAK endfor Я запутался с SELECT Если ставлю select - 2(main) - то при компиляции происходят вычисления, но резльтат в базу не записывается Если 1 (NDFL) , то Variables not found. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 10:31 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
так это авторselect lom выбор чего? здесь авторfor i=1 to recc() делаем так Код: plaintext 1. и не видя данных скорее всего еще: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 11:15 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
А нельзя сделать что либо подобное? Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 11:27 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
Можно то оно можно, но: 1. Быстрее не будет, поверь. или проверь 2. Можно сделать много замечаний, например что ханить подобные данные в базе просто зло, читайте про нормальные формы. Вычисляемые данные должны вычислятся, а не храниться, индексное поле должно иметь проверку на уникальность и т.д. 3. Select это конечно более приемлемый СТИЛЬ програмирования, но сабж ставит явно человек, делающий случайную работу или просто осваивающий VFP, делаем скидки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 11:33 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
antemosselect lom Это MAIN antemosrepl NDFL.UDLICHN with main.S_N_DOKUM repl NDFL.DATEROJD with main.BIRTH_DATA repl NDFL.ADRMZH with main.ADRESAK Помогло только для одной записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 13:06 |
|
||
|
Задача
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. если еще где алиасы просохатил вбей. будут проблемы пиши в аську 488 139 593 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 13:19 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=212&tid=1589873]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 391ms |

| 0 / 0 |
