Ошибка синтаксиса

noobs
Дата: 11.03.2016 07:19:34
Добрый день, подскажите где собственно ошибка синтаксиса?
incorrect syntax near ','.

Set cnRecordset = cn.Execute("Update dbo.DogovorPlan Set Year= " & Y & " ,kod_25='" & kod25 & "',kod_usluga='" & usluga & "',kod_urovuslug='" & urov & "',kod_12='" & kod12 & "',kod_52='" & kod_52 & "',kod_33='" & kod33 & " ', " _
& " kod_39='" & kod39 & "',kod_47='" & kod47 & "',kod_103='" & kod103 & "',kod_24='" & kod24 & "',kod_AFE='" & AFE & "',kod_Cdelka='" & cdelka & "',kod_StatBud='" & sbud & "',kod_edizm='" & edizm & "',cost='" & cost & "',coefficient='" & coef & "', " _
& " volume01 ='" & v01 & "',volume02='" & v02 & "',volume03='" & v03 & "',volume04='" & v04 & "',volume05='" & v05 & "',volume06='" & v06 & "',volume07='" & v07 & "',volume08='" & v08 & "',volume09='" & v09 & "',volume10='" & v10 & "',volume11='" & v11 & "', " _
& " volume12='" & v12 & "',sum01='" & s01 & "',sum02='" & s02 & "',sum03='" & s03 & "',sum04='" & s04 & "',sum05='" & s05 & "',sum06='" & s06 & "',sum07='" & s07 & "',sum08='" & s08 & "',sum09='" & s09 & "',sum10 ='" & s10 & "',sum11='" & s11 & "',sum12='" & s12 & "',totalVolume='" & totalv & "', " _
& " totalSum='" & totals & "',kod_kurator ='" & kurat & "',kod_manager='" & manag & "',type_activ='" & activ & "',Kod_18='" & kod18 & "',nameUslugi='" & nameUs & "',kod_upr='" & upr & "',kod_13='" & kod13 & "',recoverable='" & recover & "',numberLot='" & lot & "',ZKprotocol='" & zk & "',procNDS='" & nds & "', " _
& " NumDogKurator='" & dkur & "' , valuta='" & valuta & "' where dbo.DogovorPlan.idPlan='" & idp & "' ")
ПЕНСИОНЕРКА
Дата: 11.03.2016 07:52:38
noobs,

попробуйте так
хотя я сомневаюсь, что коды, суммы у вас символьные
dim s1
s1 = "Update dbo.DogovorPlan Set "
 s1 = s1 & " Year= " & y & " ,"
 s1 = s1 & " kod_25='" & kod25 & "',"
 s1 = s1 & " kod_usluga='" & usluga & "',"
 s1 = s1 & " kod_urovuslug='" & urov & "',"
 s1 = s1 & " kod_12='" & kod12 & "',"
 s1 = s1 & " kod_52='" & kod_52 & "',"
 s1 = s1 & " kod_33='" & kod33 & " ',"
 s1 = s1 & " kod_39='" & kod39 & "',"
 s1 = s1 & " kod_47='" & kod47 & "',"
 s1 = s1 & " kod_103='" & kod103 & "',"
 s1 = s1 & " kod_24='" & kod24 & "',"
 s1 = s1 & " kod_AFE='" & AFE & "',"
 s1 = s1 & " kod_Cdelka='" & cdelka & "',"
 s1 = s1 & " kod_StatBud='" & sbud & "',"
 s1 = s1 & " kod_edizm='" & edizm & "',"
 s1 = s1 & " cost='" & cost & "',"
 s1 = s1 & " coefficient='" & coef & "',"
 s1 = s1 & " volume01 ='" & v01 & "',"
 s1 = s1 & " volume02='" & v02 & "',"
 s1 = s1 & " volume03='" & v03 & "',"
 s1 = s1 & " volume04='" & v04 & "',"
 s1 = s1 & " volume05='" & v05 & "',"
 s1 = s1 & " volume06='" & v06 & "',"
 s1 = s1 & " volume07='" & v07 & "',"
 s1 = s1 & " volume08='" & v08 & "',"
 s1 = s1 & " volume09='" & v09 & "',"
 s1 = s1 & " volume10='" & v10 & "',"
 s1 = s1 & " volume11='" & v11 & "',"
 s1 = s1 & " volume12='" & v12 & "',"
 s1 = s1 & " sum01='" & s01 & "',"
 s1 = s1 & " sum02='" & s02 & "',"
 s1 = s1 & " sum03='" & s03 & "',"
 s1 = s1 & " sum04='" & s04 & "',"
 s1 = s1 & " sum05='" & s05 & "',"
 s1 = s1 & " sum06='" & s06 & "',"
 s1 = s1 & " sum07='" & s07 & "',"
 s1 = s1 & " sum08='" & s08 & "',"
 s1 = s1 & " sum09='" & s09 & "',"
 s1 = s1 & " sum10 ='" & s10 & "',"
 s1 = s1 & " sum11='" & s11 & "',"
 s1 = s1 & " sum12='" & s12 & "',"
 s1 = s1 & " totalVolume='" & totalv & "',"
 s1 = s1 & "  totalSum='" & totals & "',"
 s1 = s1 & " kod_kurator ='" & kurat & "',"
 s1 = s1 & " kod_manager='" & manag & "',"
 s1 = s1 & " type_activ='" & activ & "',"
 s1 = s1 & " Kod_18='" & kod18 & "',"
 s1 = s1 & " nameUslugi='" & nameUs & "',"
 s1 = s1 & " kod_upr='" & upr & "',"
 s1 = s1 & " kod_13='" & kod13 & "',"
 s1 = s1 & " recoverable='" & recover & "',"
 s1 = s1 & " numberLot='" & lot & "',"
 s1 = s1 & " ZKprotocol='" & zk & "',"
 s1 = s1 & " procNDS='" & nds & "',"
 s1 = s1 & " NumDogKurator='" & dkur & "' ,"
 s1 = s1 & " valuta='" & valuta & "' "
s1 = s1 & " where dpo.DogovorPlan.idPlan='" & idp & "' "
Debug.Print s1
''CurrentDb.QueryDefs("wrem").SQL = s1
''DoCmd.RunSQL s1
Set cnRecordset = cn.Execute(s1)
ПЕНСИОНЕРКА
Дата: 11.03.2016 07:59:10
ПЕНСИОНЕРКА,

ошиблась
s1 = s1 & " where dbo.DogovorPlan.idPlan='" & idp & "' "
noobs
Дата: 11.03.2016 08:29:44
Все равно выходит ошибка, но уже другая
the multi-part identifier could not be bound

Собранный запрос выглядит вот так

Update dbo.DogovorPlan Set  Year= '2016' , kod_25='2140215/3707Д', kod_usluga='', kod_urovuslug='Э', kod_12='0901', kod_52='', kod_33='9800 ', kod_39='001', kod_47='04080201', kod_103='', kod_24='01054', kod_AFE='1.1.3.021', kod_Cdelka='1513', kod_StatBud='2.1.7.13.3', kod_edizm='ðàá. ìåñòî', cost='1910', coefficient='0,68', volume01 ='3', volume02='3', volume03='3', volume04='3', volume05='3', volume06='3', volume07='3', volume08='3', volume09='3', volume10='3', volume11='3', volume12='3', sum01='3896,4', sum02='3896,4', sum03='3896,4', sum04='3896,4', sum05='3896,4', sum06='3896,4', sum07='3896,4', sum08='3896,4', sum09='3896,4', sum10 ='3896,4', sum11='3896,4', sum12='3896,4', totalVolume='36',  totalSum='46756,8', kod_kurator ='86', kod_manager='129', type_activ='ÎÄ', Kod_18='10058761', nameUslugi='OIS', kod_upr='002-08', kod_13='', recoverable='', numberLot='288-16 ÍÏ', ZKprotocol='202-15/16', procNDS='0,18', NumDogKurator='5600715/3357Ä/2140215/3707Д' , valuta='RUB'  where dpo.Dogo
vorPlan.idPlan='3693' 
noobs
Дата: 11.03.2016 08:31:27
А в чем тут ошибка?
ПЕНСИОНЕРКА
ПЕНСИОНЕРКА,

ошиблась
s1 = s1 & " where dbo.DogovorPlan.idPlan='" & idp & "' "
ПЕНСИОНЕРКА
Дата: 11.03.2016 08:41:06
noobs,

я же не могу создавать базу на 60 полей (создала на 60 текстовых полей +1 счетчик)
у вас же часть полей может быть числовые или дата или кавычка есть в текстовом поле
ПЕНСИОНЕРКА
Дата: 11.03.2016 09:11:19
noobs,

не срабатывает where. без него работает
UPDATE [dbo].DogovorPlan SET [Year] = '2018'
WHERE dbo.DogovorPlan.idPlan=1;
Анатолий ( Киев )
Дата: 11.03.2016 11:51:40
Подозреваю, что поле idPlan у вас числовое, поэтому условие должно выглядеть так:
where dpo.DogovorPlan.idPlan=3693
т.е. 3693 без апострофов.
ПЕНСИОНЕРКА
хотя я сомневаюсь, что коды, суммы у вас символьные
Я тоже. Причем некоторым полям вы присваиваете пустую строку.

ИМХО, здесь правильнее открыть Recordset и изменить запись в нем, присвоив полям значения из переменных.
noobs
Дата: 11.03.2016 12:29:30
Лишние апострофы я уже убрал, но появилась другая ошибка
Error converting data type varchar to numeric
изменив запятую на точку запрос выполняется нормально и на сервере сохраняются данные, а как сделать чтобы всегда была точка независимо от того на каком компьютере открывается база?
Анатолий ( Киев )
Дата: 11.03.2016 13:40:59
noobs
как сделать чтобы всегда была точка независимо от того на каком компьютере открывается база?
Функция Str().

Еще раз! Редактирование записи в Recordset избавит вас не только от этой проблемы, а еще формата даты, значений Null и кавычек внутри текстовых значений.