Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183

Ошибка синтаксиса SQL или нужна функция

05.08.2023, 13:08. Показов 3768. Ответов 68

Студворк — интернет-сервис помощи студентам
Приветствую всех.

Нужно выполнить арифметические вычисления в полях одной таблицы с записью результатов в другую.
В формуле от среднего арифметического по полю Avg) отнимается среднеквадратическое отклонение (StDev), умноженное на коэффициент :

10Н: Avg [ШкВПРОН]![Sum-10Н] - 5*StDev [ШкВПРОН]![Sum-10Н]

Сообщение : Ошибка синтаксиса. Задано значение для операции без оператора.

Ставил скобки везде, где можно, не берет.
Или это вообще невозможно вычислять в SQL и нужна функция ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.08.2023, 13:08
Ответы с готовыми решениями:

SQL Server - SQL ввод данных первичный и внешний ключи - ошибка синтаксиса
SQL Server - SQL ввод данных первичный и внешний ключи Проблема с вводом данных первичного ключа --CREATE DATABASE Form_Test; ...

Ошибка синтаксиса SQL
Помогите исправить ошибку синтаксиса в запросе. Пишет ошибка возле "=" "," ",". cmd.CommandText = "INSERT INTO Products values...

Ошибка синтаксиса SQL
Я заполнил DBComboBox данными из таблицы : DM->ADOQuery3->Close(); DM->ADOQuery3->SQL->Clear(); ...

68
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
06.08.2023, 22:29
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от novyi Посмотреть сообщение
А я и писал, что справки мне бесполезны, в них нет, что нужно для моих данных,
а применять их методом тыка делаю постоянно - результаты показал.
А то что они (их хранение,структура,логика работы ВАШЕЙ БД) не верны аж до такой степени что справка стала бесполезной не наталкивает на мысль что Вы делаете что-то не то. А метод тыка это "вершина" базостроения
1
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 11:36  [ТС]
Цитата Сообщение от SDKU Посмотреть сообщение
А то что они (их хранение,структура,логика работы ВАШЕЙ БД) не верны аж до такой степени что справка стала бесполезной не наталкивает на мысль что Вы делаете что-то не то. А метод тыка это "вершина" базостроения
Можно подумать, что на меня божья благодать должна была снизойти, чтобы структура, логика и пр. стали бы верны
до степени полезности справки.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12511 / 5085 / 814
Регистрация: 07.08.2010
Сообщений: 14,963
Записей в блоге: 4
07.08.2023, 12:18
Цитата Сообщение от novyi Посмотреть сообщение
чтобы структура, логика и пр. стали бы верны до степени полезности справки.
увы, современная справка по аксесс (особенно VBA) крайне плоха в поиске - на любой запрос показывает десятки ссылок, что совсем не улучшает настроения спрашивающего

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

новичок должен в первую очередь внимательно почитать любую методичку или учебник, пока он не поймет все выложенные в них примеры
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
07.08.2023, 13:25
shanemac51, Солидарен. Главное ТСу иметь желание-тогда проблем не будет. Например справка А97, на мой взгляд, лучшая..Но точно не помню с какой винды работа с *.hlp не возможна-только *.chm) И человек без желания опускает руки и говорит "усе пропало, шеф", хотя достаточно из сети скачать 2 маленьких файла (там же написано как и куда их:1заменить\1поместить в систему и смотри *.hlp сколь угодно
Ну и естественно надо понять что справка действенна для правильно организованной системы\структуры таблиц, хранения данных. Она не будет верной для таблиц которые созданы кое как, с нарушением требований нормальных форм. Таблицы это фундамент БД, а запросы\формы\отчеты-это потом
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 13:35  [ТС]
Цитата Сообщение от shanemac51 Посмотреть сообщение
увы, современная справка по аксесс (особенно VBA) крайне плоха в поиске - на любой запрос показывает десятки ссылок, что совсем не улучшает настроения спрашивающего
убедилась неоднократно на своем опыте, хотя я давно не новичок
новичок должен в первую очередь внимательно почитать любую методичку или учебник, пока он не поймет все выложенные в них примеры
Хоть кто-то понял бедного крестьянина. Кроме этих тупо-наглых справок постоянно штудую : П. Киммел. Освой самостоятельно программирование для MS Access 2000. Керри Н. Праг. Интенсивный курс программирования в Acc. 2003. В каждой по 400 стр. От азов толк есть, да малый.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
07.08.2023, 13:38
Цитата Сообщение от SDKU Посмотреть сообщение
справка действенна для правильно организованной системы\структуры таблиц, хранения данных.
Она не будет верной для таблиц которые созданы кое как, с нарушением требований нормальных форм
Справка - это справка.
Она не может быть для чего-то верной, для чего-то неверной.

Если ТС написал чушь, так нечего под неё теоретический фундамент подводить.

А ТС прямая дорога во Фриланс с таким настроем.

Добавлено через 30 секунд
Цитата Сообщение от novyi Посмотреть сообщение
этих тупо-наглых справок
Вот-вот.
4
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 16:33  [ТС]
Цитата Сообщение от Capi Посмотреть сообщение
Если ТС написал чушь, так нечего под неё теоретический фундамент подводить.
А ТС прямая дорога во Фриланс с таким настроем.
Взяли бы да удалили эту чушь, чего было утруждаться. Фундамента под этими справками и так никакого
нет, туда подводить нечего.

Одолжите мне денег на фриланс.
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
07.08.2023, 16:51
Цитата Сообщение от novyi Посмотреть сообщение
Одолжите мне денег на фриланс.
А может вы неправильно ищите?

Справоник: Функции (Visual Basic для приложений)

"Правильный" способ для любой поисковой системы, набирайте:
VBA Access + ЧтоВыХотитеЧерезПробел
SQL Access + ЧтоВыХотитеЧерезПробел

Или просто:
VBA + ЧтоВыХотитеЧерезПробел

+ VBA код для Word и Excel совместим с Access (иногда с небольшими переделками)
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 17:45  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А может вы неправильно ищите?
Я ищу то, что нужно в данный момент, типа сейчас : "Создать таблицу в запросе SQL Access"

Вот он мне дал ответ : https://learn.microsoft.com/ru... rver-ver16

SQL
1
2
3
{ database_name.schema_name.table_name | schema_name.table_name | TABLE_NAME }
    ( { <column_definition> } [ ,... n ] )
[ ; ]
В двух учебниках нет ничего про "имя схемы". В этой справке еще и "имя схемы", на кой оно надо.

Перед этим по учебнику написал: CREATE TABLE STNPER (10Н Integer (5), 11Р Integer (5));

Результат тут всем понятен, кроме меня. Это я "теоретический фундамент" подвожу.
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
07.08.2023, 17:49
Цитата Сообщение от novyi Посмотреть сообщение
Вот он мне дал ответ :
А если поисковый запрос набрать как я вам советовал: "SQL access Создать таблицу в запросе"
- первые 3-4 ссылки точно ваши ...
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 17:52  [ТС]
Щас попробую
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
07.08.2023, 17:55
Цитата Сообщение от novyi Посмотреть сообщение
Вот он мне дал ответ : https://learn.microsoft.com/ru... rver-ver16
Там это:
Инструкция CREATE TABLE (Transact-SQL)
Вам зачем Transact-SQL?
Или с SQL Server работаете?
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
07.08.2023, 18:00
Цитата Сообщение от novyi Посмотреть сообщение
Вот он мне дал ответ :
Вы смотрите в правильную сторону: Инструкция CREATE TABLE (Transact-SQL)

Там сложные вариации даны, а в MSA всё поростенько:
Visual Basic
1
2
3
4
5
6
Dim sSQL As String
   
    sSQL = "CREATE TABLE ThisTable (FirstName CHAR, LastName CHAR);"
    CurrentDb.Execute sSQL
    'Обновляем список таблиц тек. базы (не обязательно)
    Application.RefreshDatabaseWindow
Посложнее:
Visual Basic
1
    CurrentDb.Execute "CREATE TABLE tbl1 (ctl0 counter primary key,ctl1 TEXT,ctl2 TEXT,ctl3 INT)"
Добавлено через 5 минут
novyi, ещё можно создать таблицу при помощи "родной"* библиотеки DAO
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Private Sub CreateTempTable()
'Создание временной Таблицы с кодами подлежащими удалению
'--------------------------------------------------------------------
Const strTableName As String = "tmpДубли" 'Название таблицы
Dim tbl As DAO.TableDef       'объект таблица
Dim idx As DAO.Index          'объект индекс
Dim fld As DAO.Field          'объект поле
 
'Удаяем прошлое
On Error Resume Next
    CurrentDb.TableDefs.Delete strTableName
    Err.Clear
    
On Error GoTo CreateTempTableErr
 
'создание объектной переменной таблицы, полей и индекса в ней
    Set tbl = CurrentDb.CreateTableDef(strTableName)
    With tbl
        .Fields.Append tbl.CreateField("Max_ID", dbLong)
            'создание уникального индекса
            Set idx = .CreateIndex("Primary Key")
                With idx
                    'добавление поля в индекс
                    .Fields.Append .CreateField("Max_ID")
                    'Установка свойств индекса
                    .Unique = True   'Уникальный
                    .Primary = True  'Первичный
                End With
            .Indexes.Append idx
           'индекс создан
    End With
'Фактическое добавление таблицы из объектной переменной описанной выше
    CurrentDb.TableDefs.Append tbl
CreateTempTableBye:
    On Error Resume Next
    Set idx = Nothing
    Set tbl = Nothing
    Exit Sub
 
CreateTempTableErr:
    MsgBox "Произошла ошибка при выполнении процедуры " & _
    "[CreateTempTable] :" & vbCrLf & _
    Err.Description & vbCrLf & _
    "Номер ошибки = " & Err.Number, vbCritical
    Resume CreateTempTableBye
End Sub
- может так вам будет проще задавать типы и размерности полей ?

* "родной" = по умолчанию она подключена
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
07.08.2023, 18:56  [ТС]
SQL
1
2
3
4
5
6
7
8
9
10
11
12
[quote="novyi;16996180"]SQL
SELECT 5 AS Koeff, 
       Avg([ШкВПРОН]![Sum-10Н])-5*StDev([ШкВПРОН]![Sum-10Н]) AS 10Н, 
       Avg([ШкВПРОН]![Sum-11Р])-5*StDev([ШкВПРОН]![Sum-11Р]) AS 11Р, 
.......
FROM ШкВПРОН
UNION ALL
SELECT 4 AS Koeff, 
       Avg([ШкВПРОН]![Sum-10Н])-4*StDev([ШкВПРОН]![Sum-10Н]) AS 10Н, 
       Avg([ШкВПРОН]![Sum-11Р])-4*StDev([ШкВПРОН]![Sum-11Р]) AS 11Р, 
.......
FROM ШкВПРОН[/quote]
Мне, собственно, надо сделать таблицу из этого запроса, добавив в нее два поля: ID и ИМЯ СТРОКИ.
При этом данные в ячейках будут изменяться и таблицу надо будет обновлять новым исходным запросом.
Если это делать путем создания таблицы из Констр-ра с тем же именем с удалением предыдущей,
то эти два новых поля тоже убираются, а они нужны. Попробую разобраться в кодах.
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
07.08.2023, 19:08
Цитата Сообщение от novyi Посмотреть сообщение
надо сделать таблицу из этого запроса, добавив в нее два поля: ID и ИМЯ СТРОКИ
А зачем вам создавать таблицу кодом ?
Создайте конструктором и очищайте после использования.
...
Показали бы кусок исходных данных - давно бы порешали уже.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
08.08.2023, 02:25
Цитата Сообщение от shanemac51 Посмотреть сообщение
новичок должен в первую очередь внимательно почитать любую методичку или учебник
Есть специально прикрепленные темы на форуме, там всё разжевано и даже на примере. Без книшэк

Добавлено через 3 минуты
Цитата Сообщение от novyi Посмотреть сообщение
Результат тут всем понятен, кроме меня.
таблица(поле тип(размер),поле тип(размер))
НУ АРХИСЛОЖНО!!!!
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
08.08.2023, 07:42  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
А зачем вам создавать таблицу кодом ?
Создайте конструктором и очищайте после использования.
Конструктором создавал, но в итоговую таблицу надо добавить еще два поля: ID и ИМЯ СТРОКИ , а остальные данные в ячейках итоговой обновлять, выполняя расчеты с KFF по полям исходной таблицы ШКВПРОН.
Обновлять пытался созданием такой же итоговой в Констре из Запроса с итоговой таблицей, в котором нет этих двух новых полей с удалением предыдущей. Тогда этих двух новых полей, естестно, нет в итоговой. Сейчас создам таблицу из этих двух полей и сделаю Запрос из Констра из двух таблиц - итоговой с KFF и этой новой с двумя полями.
0
1 / 1 / 0
Регистрация: 21.01.2021
Сообщений: 183
08.08.2023, 13:43  [ТС]
Цитата Сообщение от Eugene-LS Посмотреть сообщение
SQLВыделить код

SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT 5 AS Koeff, 
       Round(Avg([ШкВПРОН]![Sum-10Н])-5*StDev([ШкВПРОН]![Sum-10Н]), 0) AS 10Н, 
       Round(Avg([ШкВПРОН]![Sum-11Р])-5*StDev([ШкВПРОН]![Sum-11Р]), 0) AS 11Р, 
.......
FROM ШкВПРОН
UNION ALL
SELECT 4 AS Koeff, 
       Round(Avg([ШкВПРОН]![Sum-10Н])-4*StDev([ШкВПРОН]![Sum-10Н]), 0) AS 10Н, 
       Round(Avg([ШкВПРОН]![Sum-11Р])-4*StDev([ШкВПРОН]![Sum-11Р]), 0) AS 11Р, 
.......
FROM ШкВПРОН
Ничего не понимаю, как в результат этого запроса включить поле с номерами записей.
Все перетыкал, в что въехал.
В нем записей сколько Koeff-ов. Не подскажет ли кто.
0
Эксперт MS Access
 Аватар для Eugene-LS
13266 / 5943 / 1529
Регистрация: 05.10.2016
Сообщений: 16,632
08.08.2023, 13:51
Цитата Сообщение от novyi Посмотреть сообщение
как в результат этого запроса включить поле с номерами записей.
В этот запрос с UNION - не получится, его возможно придётся "обернуть" другим запросом (с нумерацией).
А чем вас поле счётчика в получающей таблице не устраивает?

vba access нумерация записей в запросе
...
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
08.08.2023, 16:05
Лучший ответ Сообщение было отмечено novyi как решение

Решение

Цитата Сообщение от novyi Посмотреть сообщение
как в результат этого запроса включить поле с номерами записей.
...
В нем записей сколько Koeff-ов.
1. Сделать таблицу коэффициентов с полями Номер и Коэффициент
Номер Коэффициент
1 11
2 12
3 13
4 14
5 15

2. Сделать запрос на основе ШкВПРОН и таблицы Коэффициенты.
SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT Номер, Коэффициент,
       (Avg10Н - Коэффициент * StDev10Н) \ 1 AS 10Н, 
       (Avg11Р - Коэффициент * StDev11Р) \ 1 AS 11Р, 
.....
FROM 
(SELECT 
Avg(ШкВПРОН.[Sum-10Н]) AS Avg10Н, StDev(ШкВПРОН.[Sum-10Н]) AS StDev10Н,
Avg(ШкВПРОН.[Sum-11Р]) AS Avg11Р, StDev(ШкВПРОН.[Sum-11Р]) AS StDev11Р,
.....
FROM ШкВПРОН) AS Q, 
Коэффициенты
Добавлено через 6 минут
3. Можно сразу создать таблицу с результатами.

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT * INTO НоваяТаблица FROM
(
SELECT Номер, Коэффициент,
       (Avg10Н - Коэффициент * StDev10Н) \ 1 AS 10Н, 
       (Avg11Р - Коэффициент * StDev11Р) \ 1 AS 11Р, 
.....
FROM 
(SELECT 
Avg(ШкВПРОН.[Sum-10Н]) AS Avg10Н, StDev(ШкВПРОН.[Sum-10Н]) AS StDev10Н,
Avg(ШкВПРОН.[Sum-11Р]) AS Avg11Р, StDev(ШкВПРОН.[Sum-11Р]) AS StDev11Р,
.....
FROM ШкВПРОН) AS Q, 
Коэффициенты
) AS QQ
При этом таблицы НоваяТаблица в БД быть не должно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2023, 16:05

Ошибка синтаксиса в SQL-запросе
Добрый вечер у меня в программе выводит ошибку: You have an error in your SQL syntax; check the manual that corresponds to your MySQL...

SQL INSERT. Ошибка синтаксиса
Доброго времени суток, коллеги. Прошу подсказать, в чем моя ошибка. Код останавливается с сообщением &quot;ошибка синтаксиса&quot; ...

Ошибка синтаксиса в запросе SQL
Хочу чтобы поля заполнялись с помощью компонентов edit dblookupcombobox. Но пишет что ошибка синтаксиса INSERT INTO...

Ошибка SQL синтаксиса, не получается подключиться к БД
Доброго времени суток всем! Никак не могу понять/найти причины ошибки. Имею: Delphi 7 MySQL 5.5.23 Community Server (GPL) Связь...

Ошибка синтаксиса SQL, статья не добавляется в БД
ошибка : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru