powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выражение из запроса в коде выдает Ошибку синтаксиса
17 сообщений из 17, страница 1 из 1
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951681
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Подскажите, пж, где у меня ошибка синтаксиса:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
"Val(Nz([d01]))+Val(Nz([d02]))+Val(Nz([d03]))+Val(Nz([d04]))+Val(Nz([d05]))+Val(Nz([d06]))+Val(Nz([d07]))+Val(Nz([d08]))+Val(Nz([d09]))+Val(Nz([d10]))+ " & _
"Val(Nz([d11]))+Val(Nz([d12]))+Val(Nz([d13]))+Val(Nz([d14]))+Val(Nz([d15]))+Val(Nz([d16]))+Val(Nz([d17]))+Val(Nz([d18]))+Val(Nz([d19]))+Val(Nz([d20]))+ " & _
"Val(Nz([d21]))+Val(Nz([d22]))+Val(Nz([d23]))+Val(Nz([d24]))+Val(Nz([d25]))+Val(Nz([d26]))+Val(Nz([d27]))+Val(Nz([d28]))+Val(Nz([d29]))+Val(Nz([d30]))+ " & _
"Val(Nz([d31]))+Nz([addHours] AS vs, " & _
"IIF(vs<mHour,vs,IIF(chkYesNo=True,vs,mHour)) AS tab, " & _
"IIf([d01]=""Б"",1,0)+IIf([d02]=""Б"",1,0)+IIf([d03]=""Б"",1,0)+IIf([d04]=""Б"",1,0)+IIf([d05]=""Б"",1,0)+IIf([d06]=""Б"",1,0)+IIf([d07]=""Б"",1,0)+ " & _
"IIf([d08]=""Б"",1,0)+IIf([d09]=""Б"",1,0)+IIf([d10]=""Б"",1,0)+IIf([d11]=""Б"",1,0)+IIf([d12]=""Б"",1,0)+IIf([d13]=""Б"",1,0)+IIf([d14]=""Б"",1,0)+ " & _
"IIf([d15]=""Б"",1,0)+IIf([d16]=""Б"",1,0)+IIf([d17]=""Б"",1,0)+IIf([d18]=""Б"",1,0)+IIf([d19]=""Б"",1,0)+IIf([d20]=""Б"",1,0)+IIf([d21]=""Б"",1,0)+ " & _
"IIf([d22]=""Б"",1,0)+IIf([d23]=""Б"",1,0)+IIf([d24]=""Б"",1,0)+IIf([d25]=""Б"",1,0)+IIf([d26]=""Б"",1,0)+IIf([d27]=""Б"",1,0)+IIf([d28]=""Б"",1,0)+ " & _
"IIf([d29]=""Б"",1,0)+IIf([d30]=""Б"",1,0)+IIf([d31]=""Б"",1,0) AS sd, " & _



в коде есть другие выражения, которые работают, делал по подобию но при открытии формы ругается на Ошибку синтаксиса (пропущен оператор)...
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951696
ИВП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы постепенно убирал кусочки и ждал, когда ошибка исчезнет.
Или, наоборот, начал с короткого и правильного текста и постепенно добавлял.
Нельзя такие длинные тексты сразу запускать.
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951701
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
есть ограничение на количество строк продолжения=25
и максимальную длину полученной строки=1024

поэтому пишу иначе
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
s=""
s=s & " Val(Nz([d01]))+Val(Nz([d02]))+Val(Nz([d03]))+Val(Nz([d04]))+Val(Nz([d05])) 
s=s & "+Val(Nz([d06]))+Val(Nz([d07]))+Val(Nz([d08]))+Val(Nz([d09]))+Val(Nz([d10]))
s=s & "+Val(Nz([d11]))+Val(Nz([d12]))+Val(Nz([d13]))+Val(Nz([d14]))+Val(Nz([d15]))
s=s & "+Val(Nz([d16]))+Val(Nz([d17]))+Val(Nz([d18]))+Val(Nz([d19]))+Val(Nz([d20]))
s=s & "+Val(Nz([d21]))+Val(Nz([d22]))+Val(Nz([d23]))+Val(Nz([d24]))+Val(Nz([d25]))
s =s &"+Val(Nz([d26]))+Val(Nz([d27]))+Val(Nz([d28]))+Val(Nz([d29]))+Val(Nz([d30]))
s=s & "+Val(Nz([d31]))+Nz([addHours] AS vs, 


.......

хотя я не пойму, зачем вам понадобилось и VAL и NZ
и видимо формировала строку в цикле
Код: vbnet
1.
2.
3.
4.
5.
s=""
for n=1 to 31
s=s & "+val(nz(d)" & iif(n<10,"0" & n,n)"
next n
s=mid(s,2)



для строки типа IIf([d01]=""Б"",1,0) - аналогично
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951704
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного ошиблась - конечно надо проверить debug.print
Код: vbnet
1.
2.
3.
4.
5.
s=""
for n=1 to 31
s=s & "+val(nz(d" & iif(n<10,"0" & n,n)))" 
next n
s=mid(s,2)
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951705
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА
и максимальную длину полученной строки=1024
не вводите в заблуждение. Легко получил строку длиннее
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951711
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, сейчас буду «втыкаться» ))

авторзачем вам понадобилось и VAL и NZ
Это поля табеля, текстовые, в нем могут быть и пустые значения, для этого NZ. А Val пустые (Null) поля превращает в ноль? Тогда я конечно уберу Nz..
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951714
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
не вводите в заблуждение. Легко получил строку длиннее

я тоже проверяла , только строка была реальная(типа как у ТС), а не одинаковые звездочки(на них не видно, что строка без хвоста)

по крайней мере создайте в третьей строке реальную добавочку типа хотя бы 12345678901234567890
и удостоверьтесь, что добавочка не отрежется
и выведите debug.print len(strTmp),right(strTmp,30)
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951716
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
Это поля табеля, текстовые, в нем могут быть и пустые значения

в табеле могут быть и буквы, но похоже это проверяется второй частью запроса

VAL понимает только точку и если в табеле может быть дробное время, об этом надо помнить и учитывать
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951719
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА
а не одинаковые звездочки(на них не видно, что строка без хвоста)
думаете обманываю? пффф!
На скриншоте прекрасно видны кавычки в начале строки.
Тут надо говорить о другом.
Строка в редакторе(?) физически может быть длинной до 1023 символа, но конкатенацией можно собрать строку более 10 тыс символов. Количество объединяемых строк не может действительно превышать 25.
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951722
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стандартное решение же: получившуюся строку запроса вставляем в построитель запросов и запускаем на выполнение. Курсор сразу же встанет в месте ошибки.
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951724
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА
и выведите debug.print len(strTmp),right(strTmp,30)
И?
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951735
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
Строка в редакторе(?) физически может быть длинной до 1023 символа, ...
Количество объединяемых строк не может действительно превышать 25

хоть в чем-то мы согласны - просто надо более четко ставить задачу

-строка кода в редакторе - это одно
-строка данных -это другое

просто я стараюсь не применять символ продолжения без крайней потребности(причем только в коде) - стараюсь вместить код в ширину экрана
и никогда не применяю в формировании строки данных, всегда s=s & "....."
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951747
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FFFFFFFF
Стандартное решение же: получившуюся строку запроса вставляем в построитель запросов и запускаем на выполнение. Курсор сразу же встанет в месте ошибки.


В запросе эти выражения работают. Когда переносишь в код, то там надо кое-что менять, например, точку с запятой на запятые, кавычки на двойные кавычки и ставятся другие знаки, которые я подсматриваю в других кодах и которые я не совсем понимаю зачем они, поэтому и спрашиваю, где я что пропустил ))
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951751
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga
я не совсем понимаю зачем они, поэтому и спрашиваю, где я что пропустил

вы бы лучше пример базы выложили с образцом типичного заполнения - легче было бы понять ваши потребности
- какие могут быть буквы в днях
- есть ли дробные часы в днях
- если есть - какой по умолчанию установлен в системе десятичный разделитель
- сколько примерно строк в таблице ТАБЕЛЬ(100-500-1000-10000-100000 в месяц)
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951752
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,

например на заводе, где я много лет работала -были разные единицы измерения времени для разных видов оплаты
повременка часы с одним десятичным знакомбольничные, отпускв днях
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39951808
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый дельный совет:
ПЕНСИОНЕРКА
.......
и видимо формировала строку в цикле
.......
Какие данные Вы хотите получить-может все решить на VBA
И почему нет закрывающей скобки в 4 строке Вашего скрина для ф-ции NZ
...
Рейтинг: 0 / 0
Выражение из запроса в коде выдает Ошибку синтаксиса
    #39952879
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

прошу прощения за молчание.
Спасибо за попытку вникнуть в мою головоломку )) Данную задачу решил оставить на потом, думаю может не пригодится, если реализую другие моменты. Пожалуйста, ознакомьтесь с ними в другом топике, который я сейчас выложу )
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выражение из запроса в коде выдает Ошибку синтаксиса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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