обновление таблицы

Дима1991
Дата: 22.10.2012 16:03:09
помогите мне обновить таблицу пожалуйста в соответствии со следующими условиями:

вот мой код для создания таблицы из 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='Отсутствует в СРЗ'
Дима1991
Дата: 22.10.2012 16:11:21
все разобрался. извиняюсь)
Дима1991
Дата: 22.10.2012 16:23:12
одна проблемка у меня. я пишу так для обновления таблицы, но не знаю как сделать так чтобы обновлялась таблица если ни одно из указанных условий не встречается

автор
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
Дима1991
Дата: 22.10.2012 19:04:14
никто не знает?
Дима1991
Дата: 22.10.2012 19:17:20
блин :) элементарно все.. разобрался сам