powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как сделать Append из таблиц FPD в VFР?
10 сообщений из 10, страница 1 из 1
как сделать Append из таблиц FPD в VFР?
    #32956257
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я переделываю свою прогу из FPD в VFР. Получилось так, что во многих таблицах добавил/изменил поля. Все это время досовая прога работает. А как теперь мне перенести все текущие данные? Если я сделаю Аппенд, то в таблице будет кака, тк таблица-то моя уже 1251, а данные в нее зальются в 866 СР.

Команды Append from ххх as 866 нету... а чем это можно заменить?
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956284
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а. и еще есть вопрос. по ходу программа будет постоянно черпать данные из досовых таблиц. дык вот, VFР постоянно выдает окошко с вопросом, а в какой СР данные.
Можно ли как-то задать по-умолчанию 866? или лучше не надо?
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956312
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
use t1251 in 0
use t866 in 0
select t1251
zap
sele t866
scan
insert into t1251 (f1,f2,f3,f4) values (f1,f2, cpconvert(866,1251,f3), f4)
endscan
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956316
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
use t1251 in 0
use t866 in 0
select t1251
zap
sele t866
scan
insert into t1251 (f1,f2,f3,f4) values (t866.f1,t866.f2,cpconvert(866,1251,t866.f3),t866.f4)
endscan
сегодня, 16:49 [1379486] Цитировать Сообщить
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956324
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET CPDIALOG ON | OFF
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956332
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а Вы батенька дезинформатор

APPEND FROM FileName | ?
[FIELDS FieldList]
[FOR lExpression]
[[TYPE] [DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB]
| DIF | FW2 | MOD | PDOX | RPD | SDF | SYLK | WK1 | WK3 | WKS
| WR1 | WRK | XLS | XL5 ]]
[AS nCodePage]
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32956937
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi CTAC-KO!

Если в FPD таблице ПРОСТАВЛЕНА кодовая страница (CPDBF() = 866) то всё пройдёт совершенно корректно дез лишних извращений. Если НЕ проставлена - то либо проставь (cpzero в помощь), либо явно CPCONVERT-ом перегони во временный курсор (SELECT nNum, CPCONVERT(866,1251, cChar) AS cChar ...) и делай APPEND уже из него (APPEND FROM DBF("MyCursor")).
Также если фокс >=8 то пойдёт "прямой"
INSERT INTO MyVFPTable (поля) SELECT поля, CPCONVERT(...) ...

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32958339
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leafа Вы батенька дезинформатор

APPEND FROM FileName | ?
[AS nCodePage]

Эт точно Я-то запомнил, что у меня с этим проблема возникла, а упустил одну деталь - APPEND FROM ? AS 866 не срабатывает вообще - грит инвалид СР. А я вообще-то перепутал с USE - вот у него точно нету, ему нельзя указать наявно:
Код: plaintext
1.
2.
3.
4.
5.
USE [[DatabaseName!]Table | SQLViewName | ?]
   [IN nWorkArea | cTableAlias]   [ONLINE]   [ADMIN]   [AGAIN]
   [NOREQUERY [nDataSessionNumber]]   [NODATA]   [INDEX IndexFileList | ?
   [ORDER [nIndexNumber | IDXFileName   | [TAG] TagName [OF CDXFileName]
      [ASCENDING | DESCENDING]]]]   [ALIAS cTableAlias]   [EXCLUSIVE]
   [SHARED]   [NOUPDATE]   [CONNSTRING cConnectionString | (m.nStatementHandle) ]
И как раз в этом-то и проблема. Это базы от досового фокса и в 29-м байте у них ничего не указано про СР. Соответственно при открытии такой базы посредством USE и возникает СР-диалог. Это несколько неудобно будет досовым юзерам и к тому же есть вероятность ненужной АшиПки в выборе этой самой СР. Основные базы-то я сам сконверчу, не проблема, а дело в том, что нам сбербанк присылает постоянно базы с оплатами, они-то и без СР, а юзьверям именно с этим и работать.
В общем буду пользовать пока cpzero, а мож мне сразу перед открытием валить в 29 байт чего надо да и все? Для 866 СР в 29 байте должно стоять 101.
т.е. типа CHR(101) или латинская е. Так и буду действовать!!!

А если я SET CPDIALOG OFF, то в какой, собственно, СР будет открыт файл?
в 1251 - проверил.

ВСЕМ СПАСИБО ЗА ОТВЕТЫ!!!!!!!
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32959890
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi CTAC-KO!

А я вообще-то перепутал с USE - вот у него точно нету, ему нельзя указать
И это правильно - он считывает CP из заголовка таблицы - а то каша будет чёрт-те какая :(
Это базы от досового фокса и в 29-м байте у них ничего не указано про СР
Кстати FPD 2.6 уже вовсю работал с CP - а предыдущие версии хоть и не понимали CP, но не трогали 29-й байт. Вот кто пакостил - ток это Clipper - он его обнуляет.
Соответственно при открытии такой базы посредством USE и возникает СР-диалог
1) При EXCLUSIVE открытии
2) При SET CPDIALOG ON
В общем буду пользовать пока cpzero, а мож мне сразу перед открытием валить в 29 байт чего надо да и все?
А что по твоему делает cpzero :)
> А если я SET CPDIALOG OFF, то в какой, собственно, СР будет открыт файл?
> в 1251 - проверил.
По идее в CPCURRENT() - а какая уж она у тебя будет это другой вопрос :)

Как вариант - тебе-же не работать с таблицами, а данные забрать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE MyBadTable SHARED
IF CPDBF() =  0 
    SCAN
        INSERT INTO MyGoodTable (...) VALUES (MyBadTable.FldNum, CPCONVERT( 866 , 1251 , MyBadTable.FldChar))
    ENDSCAN
ELSE
    SCAN
        INSERT INTO MyGoodTable (...) VALUES (MyBadTable.FldNum, MyBadTable.FldChar)
    ENDSCAN
ENDIF
Идея думаю понятна :) Вполне универсально (с предположением конечно что если CP не указана, то это 866) и не требует эксклюзивного доступа к таблице.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
как сделать Append из таблиц FPD в VFР?
    #32960432
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати FPD 2.6 уже вовсю работал с CP - а предыдущие версии хоть и не
понимали CP, но не трогали 29-й байт. Вот кто пакостил - ток это Clipper - он
его обнуляет.
ну не знаю, все базы были созданы под 2.6 и в 29 байте - 00
мож в нем была функция работы с СР, но я об этом не думал и не знал даже.

В общем буду пользовать пока cpzero, а мож мне сразу перед открытием валить в 29 байт чего надо да и все?
А что по твоему делает cpzero :)
дык я поимел в виду, что воспользуюсь их методом просто, что и сделал, просто выдрал 4 строки работы с файлом и сразу в базу, перед открытием валю в 29 байт 101, даже если оно там есть. это только в тех местах, где 100% работа ТОЛЬКО с досовыми базами. Я ж не буду работать с базами на других языках, то какой мне смысл всю прогу юзать, которая еще и может внезапно задать лишний вопрос юзьверю...

А если я SET CPDIALOG OFF, то в какой, собственно, СР будет открыт файл? в 1251 - проверил.
По идее в CPCURRENT() - а какая уж она у тебя будет это другой вопрос :)
а она у меня 1251 и меняется она только в фоксовом конфиге, но какой мне смысл ее менять на 866?

Как вариант - тебе-же не работать с таблицами, а данные забрать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
USE MyBadTable SHARED
IF CPDBF() =  0 
    SCAN
        INSERT INTO MyGoodTable (...) VALUES (MyBadTable.FldNum, CPCONVERT( 866 , 1251 , MyBadTable.FldChar))
    ENDSCAN
ELSE
    SCAN
        INSERT INTO MyGoodTable (...) VALUES (MyBadTable.FldNum, MyBadTable.FldChar)
    ENDSCAN
ENDIF
Идея думаю понятна :) Вполне универсально (с предположением конечно что если CP не указана, то это 866) и не требует эксклюзивного доступа к таблице.
а это вариант!!! - спасибо
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / как сделать Append из таблиц FPD в VFР?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]