|
обновление таблицы
|
|||
---|---|---|---|
#18+
помогите мне обновить таблицу пожалуйста в соответствии со следующими условиями: вот мой код для создания таблицы из xml файла: авторcfolder=god+mes cfile = PathToShtrafs + cfolder + "\T05M50" + SUBSTR(cfolder, 3, 4) + "050130.xml" cMessageTitle = 'Формирование отчетов' cMessageText = 'Файл ' + cfile +' уже существует. Перезаписать?' nDialogType = 4 + 32 + 256 IF FILE(cfile) IF MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)=6 CREATE cursor tmp ( ; id I, ; id_sch I, ; vpolis I, ; spolis C(3), ; npolis C(16), ; fam C(30), ; im C(30), ; ot C(30), ; dr t, ; w I,; smo C(5), ; smo_db_payment C(8),; smo_in_foms C(8),; stat I, ; name_error C(50), ; kol_strax I, ; kol_uslugi N(5,2), ; kol_kd N(5,2), ; sumv N(10, 2), ; code_mo C(6), ; name_mo C(50), ; smo_tmp C(5)) XMLTOCURSOR(cfile, "tmp", 512+8192) COPY TO (forceext(cfile,'dbf')) thisform.optiongroup1.Enabled= .T. ELSE MESSAGEBOX=7 thisform.optiongroup1.Enabled= .T. ENDIF ELSE MESSAGEBOX('Не создана таблица на основе xml-файла - '+cfile +' или возможно файл не существует' ) ENDIF нужно обновить эту создаваемую таблицу по таким условиям: 1. если поле name_error=Отсутствует в СРЗ, то smo_db_payment=smo smo_in_foms=пустым оставить 2. если поле name_error=СМО в файле - "Совита", СМО в СРЗ - "МАКС-М, то smo_db_payment='Совита' smo_in_foms='МАКС-М' 3. если поле name_error содержит что-то другое, то smo_db_payment=smo smo_in_foms=smo я просто пишу но там ошибка появилась что поле smo_db_payment не найдено. писал так после строки COPY TO (forceext(cfile,'dbf')) в выше описанном коде, но выдала ошибку smo_db_payment не найдено SELECT (forceext(cfile,'dbf')) UPDATE (forceext(cfile,'dbf')) SET smo_db_payment=smo,smo_in_foms='' WHERE name_error='Отсутствует в СРЗ' ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 16:03 |
|
обновление таблицы
|
|||
---|---|---|---|
#18+
все разобрался. извиняюсь) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 16:11 |
|
обновление таблицы
|
|||
---|---|---|---|
#18+
одна проблемка у меня. я пишу так для обновления таблицы, но не знаю как сделать так чтобы обновлялась таблица если ни одно из указанных условий не встречается авторSELECT (forceext(cfile,'dbf')) UPDATE (forceext(cfile,'dbf')) SET smo_db_opl=smo,smo_in_fom='' WHERE name_error='Отсутствует в СРЗ' UPDATE (forceext(cfile,'dbf')) SET smo_db_opl='Совита',smo_in_fom='Макс' WHERE name_error='СМО в файле - "Совита", СМО в СРЗ - "МАКС-М' UPDATE (forceext(cfile,'dbf')) SET smo_db_opl=smo,smo_in_fom='' WHERE name_error='СМО в файле - "МАКС-М", СМО в СРЗ - "Совита' надо еще сделать чтобы если поле name_error НЕ РАВНО Отсутствует в СРЗ или СМО в файле - "Совита", СМО в СРЗ - "МАКС-М" или СМО в файле - "МАКС-М", СМО в СРЗ - "Совита" , то было так: smo_db_opl=smo smo_in_fom=smo ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 16:23 |
|
обновление таблицы
|
|||
---|---|---|---|
#18+
никто не знает? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 19:04 |
|
|
start [/forum/topic.php?fid=41&msg=38008727&tid=1583384]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
others: | 290ms |
total: | 410ms |
0 / 0 |