Ошибка синтаксиса во введенном выражении access введена запятая перед которой

Запятая ошибка синтаксиса MS Access Решение и ответ на вопрос 1324256

20 / 0 / 0

Регистрация: 09.12.2014

Сообщений: 7

1

Запятая ошибка синтаксиса

09.12.2014, 09:43. Показов 7015. Ответов 9


Ребят привет

есть проблемка
Хотела сделать себе рейтинг — нашла но этом форуме (за что огромное спасибо всем «местным») нужную формулу (см пример ниже)
вписала туда свои поля — и выдает ошибку мне

«Ошибка синтаксиса (запятая) в выражении запроса ‘[Цена] <= 15,1′»

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

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Эксперт MS Access

16799 / 6965 / 1551

Регистрация: 21.06.2012

Сообщений: 12,998

09.12.2014, 09:51

2

В SQL числа в американском стандарте 15.1, а в конструкторе — в национальном — 15,1.



0



20 / 0 / 0

Регистрация: 09.12.2014

Сообщений: 7

09.12.2014, 09:55

 [ТС]

3

Понимаю, но не совсем, можно показать на онной формуле?

Очень прошу )



0



Эксперт MS Access

16799 / 6965 / 1551

Регистрация: 21.06.2012

Сообщений: 12,998

09.12.2014, 10:02

4

Приведите полный текст SQL (в тегах, они приведены в окне сообщения). Тогда можно будет и поправить.



0



20 / 0 / 0

Регистрация: 09.12.2014

Сообщений: 7

09.12.2014, 10:15

 [ТС]

5

Вот он



0



Эксперт MS Access

16799 / 6965 / 1551

Регистрация: 21.06.2012

Сообщений: 12,998

09.12.2014, 10:17

6

Цитата
Сообщение от eLsAAB
Посмотреть сообщение

Вот он

Это что, типа шутка? В общем, поставьте вместо запятой точку, возможно поможет.



0



20 / 0 / 0

Регистрация: 09.12.2014

Сообщений: 7

09.12.2014, 10:25

 [ТС]

7

Сорри я здесь в первый раз — так получилось

SELECT База.Код, База.[Код товара], База.Наименование, База.Цена, CInt(DCount(«*»,»[База]»,»[Код товара]=» & [Код товара] & » and Цена<=» & [Цена])) AS пробую, *
FROM База;



0



ltv_1953

Эксперт MS Access

16799 / 6965 / 1551

Регистрация: 21.06.2012

Сообщений: 12,998

09.12.2014, 11:46

8

В таком варианте без выложенной базы не разобраться. М.б. цена символьная, … . Выкладывайте базу (Правила раздела).

Добавлено через 32 минуты
Возможно пройдет вариант с подчиненным отчетом

SQL
1
2
SELECT QQ.Код, QQ.[Код товара], QQ.Цена, (SELECT COUNT(*) FROM Таблица1 WHERE [Код товара]= QQ.[Код товара], AND Цена<=QQ.Цена) AS пробую
FROM База AS QQ;



1



20 / 0 / 0

Регистрация: 09.12.2014

Сообщений: 7

09.12.2014, 16:48

 [ТС]

9

Еще не все получилось — но во всяком случае спасибо — решение выложу обязательно
Там много еще других моментов оказалось не решенных —

Одна просьба укажите литературу или источник откуда могу почерпнуть знания по синтаксису в access — по составлению формул

А то ковыряюсь ковыряюсь а там все просто оказывается — как то неприлично и спрашивать )



0



Эксперт MS Access

16799 / 6965 / 1551

Регистрация: 21.06.2012

Сообщений: 12,998

09.12.2014, 17:11

10

В Путеводитель по форуму смотрите. В любой есть. Но дело не в написании формул, а в тонкостях использования разных типов в разных местах (запрос, SQL сформированный в VB, поле в форме, … ).



0



В этой статье представлена ошибка с номером Ошибка 2431, известная как Введенное вами выражение содержит недопустимый синтаксис, описанная как Введенное вами выражение содержит недопустимый синтаксис. @ Возможно, вы ввели запятую без предшествующего значения или идентификатора. @@ 1 @@@ 1.

О программе Runtime Ошибка 2431

Время выполнения Ошибка 2431 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Запятая — запятая ‘,’ используется для обозначения разделения элементов внутри списка, например массива, или параметров, принимаемых функцией.
  • Выражение — комбинация нескольких программных символов и значений, предназначенная для получения результата.
  • Идентификатор — идентификатор — это имя, которое идентифицирует уникальный объект или уникальный класс объектов.
  • Синтаксис — синтаксис относится к фактическим языковым элементам и самим символам
  • синтаксическая ошибка — синтаксис ошибка возникает, когда программа не следует синтаксическим правилам языка программирования.

Симптомы Ошибка 2431 — Введенное вами выражение содержит недопустимый синтаксис

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix Введенное вами выражение содержит недопустимый синтаксис (Error Ошибка 2431)
(Только для примера)

Причины Введенное вами выражение содержит недопустимый синтаксис — Ошибка 2431

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 5 — Запустить очистку диска

Вы также можете столкнуться с ошибкой выполнения из-за очень нехватки свободного места на вашем компьютере.

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C :)
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

Другие языки:

How to fix Error 2431 (The expression you entered contains invalid syntax) — The expression you entered contains invalid [email protected] may have entered a comma without a preceding value or [email protected]@[email protected]@@1.
Wie beheben Fehler 2431 (Der von Ihnen eingegebene Ausdruck enthält eine ungültige Syntax) — Der von Ihnen eingegebene Ausdruck enthält eine ungültige [email protected] haben möglicherweise ein Komma ohne vorangestellten Wert oder Bezeichner [email protected]@[email protected]@@1.
Come fissare Errore 2431 (L’espressione che hai inserito contiene una sintassi non valida) — L’espressione immessa contiene una sintassi non [email protected] aver inserito una virgola senza un valore o identificatore [email protected]@[email protected]@@1.
Hoe maak je Fout 2431 (De expressie die je hebt ingevoerd bevat ongeldige syntaxis) — De uitdrukking die u hebt ingevoerd, bevat een ongeldige [email protected] hebt mogelijk een komma ingevoerd zonder een voorafgaande waarde of [email protected]@[email protected]@@1.
Comment réparer Erreur 2431 (L’expression que vous avez saisie contient une syntaxe non valide) — L’expression que vous avez saisie contient une syntaxe non [email protected] avez peut-être saisi une virgule sans valeur ni identificateur précé[email protected]@[email protected]@@1.
어떻게 고치는 지 오류 2431 (입력한 표현식에 잘못된 구문이 있습니다.) — 입력한 표현식에 잘못된 구문이 있습니다[email protected]앞에 값이나 식별자 없이 쉼표를 입력했을 수 있습니다[email protected]@[email protected]@@1.
Como corrigir o Erro 2431 (A expressão que você inseriu contém sintaxe inválida) — A expressão inserida contém sintaxe inválida. @ Você pode ter inserido uma vírgula sem um valor ou identificador anterior. @@ 1 @@@ 1.
Hur man åtgärdar Fel 2431 (Uttrycket du angav innehåller ogiltig syntax) — Uttrycket du angav innehåller ogiltig [email protected] kan ha angett ett komma utan föregående värde eller identifierare. @@ 1 @@@ 1.
Jak naprawić Błąd 2431 (Wprowadzone wyrażenie zawiera nieprawidłową składnię) — Wprowadzone wyrażenie zawiera nieprawidłową składnię[email protected]żesz wprowadzić przecinek bez poprzedzającej wartości lub [email protected]@[email protected]@@1.
Cómo arreglar Error 2431 (La expresión que ingresaste contiene una sintaxis no válida) — La expresión que ingresó contiene sintaxis no válida. @ Es posible que haya ingresado una coma sin un valor o identificador anterior. @@ 1 @@@ 1.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Последнее обновление:

06/02/22 10:37 : Пользователь Windows 10 проголосовал за то, что метод восстановления 1 работает для него.

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX011198RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Совет по увеличению скорости #1

Дефрагментация жесткого диска:

В Windows есть встроенные инструменты, которые вы можете использовать для дефрагментации жесткого диска, что может ускорить работу вашего компьютера. Если вам нужно больше функций и расширенных функций, чем то, что может предложить встроенный инструмент Windows, также доступны уважаемые сторонние программы, которые помогут вам максимизировать дисковое пространство вашего компьютера.

Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows

Содержание

  1. Сообщение об ошибке при использовании специальных символов в базах данных Access
  2. Симптомы
  3. Проблема 1
  4. Проблема 2
  5. Проблема 3
  6. Дополнительная информация
  7. Как исправить время выполнения Ошибка 2431 Введенное вами выражение содержит недопустимый синтаксис
  8. Руководство по синтаксису выражений
  9. В этой статье
  10. Общие сведения о выражениях
  11. Компоненты выражений
  12. Объекты, семейства и свойства
  13. Идентификаторы
  14. Функции, операторы, константы и значения
  15. Функции
  16. Оператор
  17. Константы
  18. Значения
  19. Максимальное число уровней вложенности в веб-базах данных — 65

Сообщение об ошибке при использовании специальных символов в базах данных Access

В этой статье перечислены специальные символы, которые не следует использовать при работе с именами объектов базы данных или именами полей во всех версиях Access.

Оригинальный номер базы знаний: 826763

Эта статья применима к файлам баз данных Microsoft Access (.mdb) или (.accdb), а также к файлу проекта Microsoft Access (.adp).

Симптомы

При использовании специальных символов в Access возникает одна из следующих проблем.

Проблема 1

В имени поля таблицы используется один из следующих специальных символов:

  • Знак над символом (`)
  • Восклицательный знак (!)
  • Точка (.)
  • квадратные скобки ([])
  • Пробел
  • Непечатаемые символы

В этом случае отобразится следующее сообщение об ошибке:

Недопустимое имя поля.
Убедитесь, что имя не содержит точку (.), восклицательный знак(!), квадратные скобки ([]), пробел или непечатаемый символ, например символ возврата каретки. Если вы вставляете имя из другого приложения, попробуйте нажать клавишу ESC и ввести имя еще раз.

При использовании этих специальных символов в имени таблицы отобразится следующее сообщение об ошибке:

Введенное имя объекта ‘TableName‘ не соответствует правилам именования объектов Microsoft Office Access.

Проблема 2

Вы создаете выражение запроса. Выражение запроса включает поля, содержащие специальные символы. При использовании отдельных специальных символов отображается следующее сообщение об ошибке:

Если имя поля содержит пробел, вопросительный знак (?) или знак @, отобразится следующее сообщение об ошибке:

Ошибка синтаксиса во введенном выражении.
Задано значение для операции без оператора

Если имя поля содержит кавычки («) или апостроф (‘), отобразится следующее сообщение об ошибке:

Введенное выражение содержит ошибочную строку.
Строка может содержать до 2048 знаков, включая знаки открывающей и закрывающей кавычек.

Если имя поля содержит знак решетки (#), отобразится следующее сообщение об ошибке:

Введенное выражение содержит недопустимое значение даты.

Если имя поля содержит знак процента (%), тильду (

), точку с запятой (;) или скобки ([]), отобразится следующее сообщение об ошибке:

Ошибка синтаксиса во введенном выражении.
Пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо задана строка без кавычек.

Если имя поля содержит фигурные скобки (<>), отобразится следующее сообщение об ошибке:

Неверно сформированный код GUID в выражении запроса ‘ObjectName

Если имя поля содержит квадратные скобки ([]) или круглые скобки (()), отобразится следующее сообщение об ошибке:

Во введенном выражении отсутствует закрывающая скобка, квадратная скобка (]) или вертикальная черта (|).

Проблема 3

У вас есть запрос, содержащий выражения запроса. Выражения запроса включают поля, содержащие специальные символы. При выполнении запроса предлагается ввести значение параметра. Как правило, эта проблема возникает при использовании следующих специальных символов:

  • знак «больше» (>);
  • знак «меньше» ( ), используйте [>].

Дополнительная информация

Microsoft Access не ограничивает использование специальных символов, таких как знак решетки (#), точка (.) или кавычки («) в именах объектов базы данных или в именах полей базы данных. Однако при использовании специальных символов могут возникнуть непредвиденные ошибки. Поэтому корпорация Майкрософт рекомендует не использовать специальные символы в именах объектов базы данных в базе данных Access или в проекте базы данных. В этой статье рассматриваются специальные символы, которые не следует использовать во избежание известных проблем с ними.

При работе с Access или другим приложением, например приложением Microsoft Visual Basic или приложением Active Server Pages (ASP), не следует использовать следующие специальные символы:

Источник

Как исправить время выполнения Ошибка 2431 Введенное вами выражение содержит недопустимый синтаксис

В этой статье представлена ошибка с номером Ошибка 2431, известная как Введенное вами выражение содержит недопустимый синтаксис, описанная как Введенное вами выражение содержит недопустимый синтаксис. @ Возможно, вы ввели запятую без предшествующего значения или идентификатора. @@ 1 @@@ 1.

Информация об ошибке

Имя ошибки: Введенное вами выражение содержит недопустимый синтаксис
Номер ошибки: Ошибка 2431
Описание: Введенное вами выражение содержит недопустимый синтаксис. @ Возможно, вы ввели запятую без предшествующего значения или идентификатора. @@ 1 @@@ 1.
Программное обеспечение: Microsoft Access
Разработчик: Microsoft

Этот инструмент исправления может устранить такие распространенные компьютерные ошибки, как BSODs, зависание системы и сбои. Он может заменить отсутствующие файлы операционной системы и библиотеки DLL, удалить вредоносное ПО и устранить вызванные им повреждения, а также оптимизировать ваш компьютер для максимальной производительности.

О программе Runtime Ошибка 2431

Время выполнения Ошибка 2431 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Запятая — запятая ‘,’ используется для обозначения разделения элементов внутри списка, например массива, или параметров, принимаемых функцией.
  • Выражение — комбинация нескольких программных символов и значений, предназначенная для получения результата.
  • Идентификатор — идентификатор — это имя, которое идентифицирует уникальный объект или уникальный класс объектов.
  • Синтаксис — синтаксис относится к фактическим языковым элементам и самим символам
  • синтаксическая ошибка — синтаксис ошибка возникает, когда программа не следует синтаксическим правилам языка программирования.
Симптомы Ошибка 2431 — Введенное вами выражение содержит недопустимый синтаксис

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

(Введенное вами выражение содержит недопустимый синтаксис) Repair Tool»/>
(Только для примера)

Причины Введенное вами выражение содержит недопустимый синтаксис — Ошибка 2431

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

Источник

Руководство по синтаксису выражений

В Microsoft Access часто приходится работать со значениями, которые не хранятся непосредственно в базе данных. Например, вам может потребоваться вычислить налог с оборота для заказа или итоговую сумму заказа. Такие значения вычисляются с помощью выражений. Чтобы использовать выражения, их следует записать, используя правильный синтаксис. Синтаксис — это набор правил, по которым сочетаются слова и символы в выражении. Сначала выражения в Access могут показаться сложными для восприятия. Но если разобраться в их синтаксисе и немного попрактиковаться, работа с выражениями не вызовет затруднений.

В этой статье

Общие сведения о выражениях

Выражение — это сочетание некоторых или всех из следующих компонентов: встроенных или пользовательских функций, идентификаторов, операторов, значений и констант. Результатом вычисления выражения является одно значение.

Например, это выражение содержит все четыре указанных компонента:

Sum() — встроенная функция;

[Purchase Price] — идентификатор;

Это выражение можно использовать в текстовом поле в нижнем колонтитуле формы или отчета, чтобы вычислить налог с продаж для группы товаров.

Выражения могут быть гораздо сложнее или проще данного примера. Например, следующее логический выражение состоит только из оператора и константы:

Это выражение возвращает следующие значения:

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

False , если сравнение выполняется с числом, которое меньше нуля.

Вы можете использовать это выражение в свойстве ValidationRule (Правило проверки) элемента управления или поля таблицы, чтобы разрешить ввод только положительных значений. Выражения широко используются для вычислений, обработки символов и проверки данных. У всех объектов — таблиц, запросов, форм, отчетов и макросов — есть свойства, принимающие выражения. Например, для элемента управления можно использовать выражения в свойствах ControlSource (Данные) и DefaultValue (Значение по умолчанию). Вы также можете использовать выражения в свойстве ValidationRule (Правило проверки) поля таблицы.

Компоненты выражений

Чтобы создать выражение, следует объединить идентификаторы с помощью функций, операторов, констант и значений. Любое допустимое выражение должно содержать по крайней мере одну функцию или один идентификатор, а также может включать в себя константы или операторы. Выражение можно также использовать как часть другого выражения — обычно в качестве аргумента функции. Это называется вложением выражений.

Идентификаторы Общий вид:

Достаточно указать столько частей идентификатора, чтобы он был уникальным в контексте выражения. Нередко идентификатор имеет форму [Object name] .

Функции Общий вид:

Один из аргументов обычно представляет собой идентификатор или выражение. Для некоторых функций аргументы не нужны. Прежде чем использовать определенную функцию, ознакомьтесь с ее синтаксисом. Дополнительные сведения см. в статье Функции (по категориям).

Операторы Общий вид:

Существуют исключения, которые описаны в разделе Операторы.

Константы Общий вид:

Значения Значения могут использоваться в различных частях выражения.

Объекты, семейства и свойства

Все таблицы, запросы, формы, отчеты и поля в базе данных Access также называются объектами. У каждого объекта есть имя. Некоторые объекты уже имеют имена, например таблица «Контакты» в базе данных, созданной на основе шаблона «Контакты» Microsoft Office Access. При создании объекта ему следует дать имя.

Набор всех объектов определенного типа называется семейством. Например, набор всех таблиц в базе данных является семейством. Некоторые объекты, являющиеся частью семейства в базе данных, могут также быть семействами, содержащими другие объекты. Например, объект таблицы — это семейство, содержащее объекты полей.

Объекты имеют свойства, которые описывают и позволяют изменять их характеристики. Например, у объекта запроса есть свойство Представление по умолчанию, описывающее отображение запроса при его выполнении и позволяющее настроить его.

На следующей схеме показана связь между семействами, объектами и свойствами:

Идентификаторы

При использовании семейства, объекта или свойства в выражении вы ссылаетесь на него с помощью идентификатора. Идентификатор содержит имена самого элемента и элемента, к которому он относится. Например, идентификатор поля включает в себя имя поля и имя таблицы, в которую оно входит. Пример такого идентификатора:

В некоторых случаях идентификатором служит само имя элемента. Это справедливо, если имя элемента уникально в контексте создаваемого выражения. Оставшаяся часть идентификатора подразумевается по контексту. Например, при создании запроса, использующего только одну таблицу, идентификатором может быть имя поля без имени таблицы, так как имена полей внутри таблицы уникальны. Так как используется только одна таблица, имя таблицы в любом идентификаторе, используемом в запросе для ссылки на поле, подразумевается.

В других случаях необходимо явно указать части идентификатора, чтобы ссылка работала. Это требуется, если идентификатор не является уникальным в контексте выражения. При наличии неоднозначности необходимо явно указать достаточно частей идентификатора, чтобы сделать его уникальным. Например, предположим, что вы создаете запрос, который использует таблицы «Товары» и «Заказы», и обе из них содержат поля КодТовара. В таком случае идентификатор, используемый в запросе для ссылки на поле КодТовара, должен включать имя таблицы в дополнение к имени поля. Например:

Операторы идентификаторов. Существуют три оператора, которые можно использовать в идентификаторах:

оператор «восклицательный знак» ( ! );

оператор «квадратные скобки» ( [ ] ).

Каждая часть идентификатора заключается в квадратные скобки, а затем они соединяются с помощью восклицательного знака или точки. Например, идентификатор для поля Last Name в таблице Employees будет иметь вид [Employees]![Last Name] . Оператор «восклицательный знак» означает, что объект, следующий за ним, относится к семейству, указанному до него. В этом случае [Last Name] — объект поля, которое принадлежит к семейству [Employees], являющемуся объектом таблицы.

Строго говоря, не всегда обязательно заключать идентификатор или его части в квадратные скобки. Если в идентификаторе не содержится пробелов или других специальных знаков, квадратные скобки будут добавлены автоматически. Однако самостоятельное включение квадратных скобок является хорошей практикой, так как позволяет избежать ошибок, а также служит визуальным обозначением идентификатора в выражении.

Функции, операторы, константы и значения

Чтобы создать выражение, следует указать не только идентификаторы, но также и действие, которое требуется выполнить. Для выполнения действий в выражении используются функции, операторы и константы.

Функции

Функция представляет собой процедуру, которую можно использовать в выражении. Некоторые функции, такие как Date, не требуют входных данных, однако большинству функций нужны аргументы.

В примере, приведенном в начале этой статьи, функция DatePart использует два аргумента: интервал со значением «yyyy» и дату со значением [Customers]![BirthDate] . Функции DatePart требуются по крайней мере эти два аргумента (интервал и дата), но можно указать до четырех аргументов.

В следующем списке приведено несколько функций, часто используемых в выражениях. Для получения дополнительных сведений о синтаксисе функции щелкните ее ссылку.

Функция Date позволяет вставить текущую системную дату в выражение. Она обычно используется в сочетании с функцией Format и с идентификаторами полей, содержащих значения даты и времени.

С помощью функции DatePart можно задать или извлечь часть даты, которая обычно берется из поля, заданного идентификатором, но также может возвращаться другой функцией, например Date.

Функция DateDiff используется для определения разницы между двумя датами. Обычно это дата, которая берется из поля, заданного идентификатором, и дата, возвращаемая функцией Date.

Функция Format позволяет применить формат к идентификатору или к результату другой функции.

Функция IIf оценивает выражение как истинное или ложное, а затем возвращает одно значение, если выражение истинно, или другое, если оно ложно.

Функция InStr используется для поиска позиции знака или строка в другой строке. Искомая строка обычно берется из идентификатора поля.

Функции Left, Mid и Right используются для извлечения знаков из строки, начиная с первого символа (Left), определенной позиции в середине (Mid) или последнего символа (Right). Они часто используются в сочетании с функцией InStr. Строка, из которой извлекаются символы, обычно берется из поля, заданного идентификатором.

Список функций по категориям см. в этой статье.

Оператор

Оператор — это слово или символ, обозначающий определенную арифметическую или логическую операцию с элементами выражения. Существуют следующие типы операторов:

арифметические операторы, например знак «плюс» ( + );

операторы сравнения, например знак равенства ( = );

логические операторы, например Not ;

операторы объединения, например & ;

специальные операторы, например Like .

Операторы обычно используются для обозначения отношения между двумя идентификаторами. В приведенных ниже таблицах описаны операторы, используемые в выражениях Access.

Арифметические операторы используется для вычисления значения на основе нескольких чисел или изменения положительного знака числа на отрицательный.

Сложение двух чисел.

Вычисление разницы между двумя числами или вывод отрицательного значения числа.

Перемножение двух чисел.

Деление первого числа на второе.

Округление обоих чисел до целых, деление первого числа на второе и усечение результата до целого.

Возврат остатка от деления первого числа на второе.

[Зарегистрировано] Mod [Комнаты]

Возведение числа в указанную степень.

Операторы сравнения позволяют сравнивать значения. Они возвращают результат True (истина), False (ложь) или Null (неопределенное значение).

Определяет, что первое значение меньше второго.

Определяет, что первое значение не больше второго.

Определяет, что первое значение больше второго.

Определяет, что первое значение не меньше второго.

Определяет, что первое значение равно второму.

Определяет, что первое значение не равно второму.

Во всех случаях, когда первое или второе значение равно Null , результатом также является Null . Так как Null представляет собой неизвестное значение, результат сравнения с Null также неизвестен.

Используйте логические операторы для объединения двух значений и возврата результата true (истина), false (ложь) или Null. Логические операторы также называются булевыми.

Выраж1 And Выраж2

Возвращает значение «Истина», если выражения 1 и 2 имеют значение «Истина».

Выраж1 Or Выраж2

Возвращает значение «Истина», если хотя бы одно из выражений 1 и 2 имеет значение «Истина».

Выраж1 Eqv Выраж2

Возвращает значение «Истина», если оба выражения 1 и 2 имеют значение «Истина» или оба выражения 1 и 2 равны «Ложь».

Возвращает «Истина», если выражение не имеет значения «Истина».

Выраж1 Xor Выраж2

Возвращает значение «Истина», если одно и только одно из выражений 1 и 2 имеет значение «Истина».

С помощью операторов объединения можно объединить два текстовых значения в одну строку.

Объединение двух строк в одну.

Объединение двух строк в одну и распространение значений Null.

Специальные операторы используются, как показано в следующей таблице:

Is Null or Is Not Null

Определяет, равно ли значение Null или Not Null.

Ищет строковые значения с помощью подстановочных операторов ? и * .

Between val1 And val2

Определяет, находится ли число или дата в пределах диапазона.

Определяет, входит ли строковое значение в множество.

Константы

Константа — это известное постоянное значение, которое может быть использовано в выражении. В Access есть четыре часто применяемых константы:

True указывает, что что-то является логической истиной;

False указывает, что что-то является логической ложью;

Null указывает на отсутствие известного значения;

«» (empty string) указывает, что значение является пустым.

Константы могут использоваться в качестве аргументов функций и в выражениях как часть условия. Например, константу «пустая строка» ( «» ) можно использовать в качестве условия для столбца в запросе, чтобы вернуть значения полей этого столбца: <>«» . В данном примере <> — оператор, а «» — константа. Вместе они определяют, что идентификатор нужно сравнить с пустой строкой. Выражение возвращает значение True, если значение идентификатора не равно пустой строке.

Будьте осторожны при использовании константы Null . В большинстве случаев использование константы Null в сочетании с оператором сравнения приводит к ошибке. Если в выражении требуется сравнить значение с Null , используйте оператор Is Null или Is Not Null .

Значения

В выражениях можно использовать литералы (например, число 1254 или строку «Введите число от 1 до 10»). Также можно использовать числовые значения, которые могут состоять из нескольких цифр, а также знака и запятой. При отсутствии знака Access считает значение положительным. Чтобы сделать значение отрицательным, добавьте знак «минус» ( —). Также можно использовать научную форму записи. Для этого добавьте символ «E» или «e» и знак экспоненты (например, 1,0E-6).

При использовании текстовых строк заключайте их в кавычки, чтобы они правильно интерпретировались Access. В некоторых ситуациях Access вводит кавычки за пользователя. Например, при вводе текста в выражение для правила проверки или условий запроса Access автоматически заключает текстовые строки в кавычки.

Например, если ввести слово Paris , Access отобразит в выражении строку «Paris». Если требуется, чтобы результатом выражения была строка, заключенная в кавычки, вложенная строка заключается либо в одинарные кавычки ( ‘ ), либо в три пары двойных кавычек ( » ). Например, следующие выражения эквивалентны:

При использовании значений даты и времени заключайте значения в символы решетки ( # ). Например, #03.07.17#, #7-Мар-17# и #Мар-7-2017# — допустимые значения даты и времени. Когда приложение Access встречает допустимое значение даты и времени, заключенное в символы «#», значение автоматически обрабатывается как имеющее тип даты и времени.

Максимальное число уровней вложенности в веб-базах данных — 65

Выражения с более чем 65 уровнями вложенности не будут работать в браузере, поэтому их не следует использовать в веб-базах данных Access. Вы не увидите сообщение об ошибке — выражение просто не будет работать.

Источник

Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль

Поиск по форуму
Расширенный поиск

Страница 1 из 2 1 2 Следующая >

Почему возникает эта ошибка.
Ошибка синтаксиса (пропущен оператор) в выражении запроса ‘[Стипендія нарахування].[Середній бал]? (база данных в Access 2010)

SELECT [Стипендія нарахування].[Середній бал]
IF([Середній бал]<4,»0″,
IF([Середній бал]=5,»950″,
IF([Середній бал]>=4 And <5,»800″)) AS [Стипендія]
FROM [Стипендія нарахування];

Сообщение об ошибке при использовании специальных символов в базах данных Access

В этой статье перечислены специальные символы, которые не следует использовать при работе с именами объектов базы данных или именами полей во всех версиях Access.

Оригинальный номер базы знаний: 826763

Эта статья применима к файлам баз данных Microsoft Access (.mdb) или (.accdb), а также к файлу проекта Microsoft Access (.adp).

Симптомы

При использовании специальных символов в Access возникает одна из следующих проблем.

Проблема 1

В имени поля таблицы используется один из следующих специальных символов:

  • Знак над символом (`)
  • Восклицательный знак (!)
  • Точка (.)
  • квадратные скобки ([])
  • Пробел
  • Непечатаемые символы

В этом случае отобразится следующее сообщение об ошибке:

Недопустимое имя поля.
Убедитесь, что имя не содержит точку (.), восклицательный знак(!), квадратные скобки ([]), пробел или непечатаемый символ, например символ возврата каретки. Если вы вставляете имя из другого приложения, попробуйте нажать клавишу ESC и ввести имя еще раз.

При использовании этих специальных символов в имени таблицы отобразится следующее сообщение об ошибке:

Введенное имя объекта ‘TableName‘ не соответствует правилам именования объектов Microsoft Office Access.

Проблема 2

Вы создаете выражение запроса. Выражение запроса включает поля, содержащие специальные символы. При использовании отдельных специальных символов отображается следующее сообщение об ошибке:

Если имя поля содержит пробел, вопросительный знак (?) или знак @, отобразится следующее сообщение об ошибке:

Ошибка синтаксиса во введенном выражении.
Задано значение для операции без оператора

Если имя поля содержит кавычки («) или апостроф (‘), отобразится следующее сообщение об ошибке:

Введенное выражение содержит ошибочную строку.
Строка может содержать до 2048 знаков, включая знаки открывающей и закрывающей кавычек.

Если имя поля содержит знак решетки (#), отобразится следующее сообщение об ошибке:

Введенное выражение содержит недопустимое значение даты.

Если имя поля содержит знак процента (%), тильду (

), точку с запятой (;) или скобки ([]), отобразится следующее сообщение об ошибке:

Ошибка синтаксиса во введенном выражении.
Пропущен операнд или оператор, введен недопустимый знак или лишняя запятая, либо задана строка без кавычек.

Если имя поля содержит фигурные скобки (), отобразится следующее сообщение об ошибке:

Неверно сформированный код GUID в выражении запроса ‘ObjectName

Если имя поля содержит квадратные скобки ([]) или круглые скобки (()), отобразится следующее сообщение об ошибке:

Во введенном выражении отсутствует закрывающая скобка, квадратная скобка (]) или вертикальная черта (|).

Проблема 3

У вас есть запрос, содержащий выражения запроса. Выражения запроса включают поля, содержащие специальные символы. При выполнении запроса предлагается ввести значение параметра. Как правило, эта проблема возникает при использовании следующих специальных символов:

  • знак «больше» (>);
  • знак «меньше» (<);
  • Точка (.)
  • Звездочка (*)
  • Двоеточие (:)
  • Крышка (^)
  • Знак плюс (+)
  • Обратная косая черта ()
  • Знак равенства (=)
  • амперсанд (&);
  • Косая черта (/)

Обходной путь

Чтобы устранить эту проблему, не используйте специальные символы. Если в выражениях запроса необходимо использовать специальные символы, заключите их в квадратные скобки ([]). Например, если вы хотите использовать знак «больше» (>), используйте [>].

Дополнительная информация

Microsoft Access не ограничивает использование специальных символов, таких как знак решетки (#), точка (.) или кавычки («) в именах объектов базы данных или в именах полей базы данных. Однако при использовании специальных символов могут возникнуть непредвиденные ошибки. Поэтому корпорация Майкрософт рекомендует не использовать специальные символы в именах объектов базы данных в базе данных Access или в проекте базы данных. В этой статье рассматриваются специальные символы, которые не следует использовать во избежание известных проблем с ними.

При работе с Access или другим приложением, например приложением Microsoft Visual Basic или приложением Active Server Pages (ASP), не следует использовать следующие специальные символы:

Соглашения об именовании в Access

Корпорация Майкрософт рекомендует не использовать точку (.), восклицательный знак (!), знак ударения (`), квадратные скобки ([ ]), пробел ( ) или кавычки («) внутри имен функций, имен переменных, имен полей или имен объектов базы данных, таких как таблицы и формы.

Использование следующих специальных символов в Access приводит к возникновению известных проблем. В следующих сценариях описано, когда не следует использовать специальные символы:

Что значит пропущен оператор в выражении запроса access

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Здравствуйте.

Вобще на форме выбирется ДАТА в dateTimePicker, затем хочу сделать ЗАПРОС на ВЫБОРКУ из таблицы (Access) по этой дате . ну если дата совпала, то потом все вывожу в dataGridView1

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE Дата=»+dateTimePicker1.Value+»», «Provider=Microsoft.Jet.OLEDB.4.0;» + «Data Source=» + @»….kafe.mdb»);
B.SelectCommand.Connection.Open();
B.SelectCommand.ExecuteNonQuery();
B.SelectCommand.Connection.Close();
DataTable C = new DataTable();
B.Fill(C);
dataGridView1.DataSource = C;

ну вобщем когда я на форме выбираю дату и нажимаю кнопку поиск ВЫЛАЗИЕТ вот такая ОШИБКА:

Код
Ошибка синтаксиса (пропущен оператор) в выражении запроса ‘Дата=03.12.2008 0:00:00’.
Код
SELECT * FROM Содержание_заказа WHERE Дата=03.12.2008 0:00:00

Помогите разобраться с этой проблемой.
Заранее спасибо.

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67

kuller, dateTimePicker1.Value.ToString(«dd.MM.yyyy»);

Добавлено через 36 секунд
kuller, а вообще в каком формате дата хранится в базе?

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67

Вот так выглядит у меня в Access 2003 запрос на выборку поля с датой

SELECT Table1.ID, Table1.Field1
FROM Table1
WHERE (((Table1.Field1)=#1/10/2008#));

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Код
Дата содержит синтаксическую ошибку в выражении запроса ‘Дата=#03.12.2008 0:00:00#’.
Код
SELECT * FROM Содержание_заказа WHERE Дата=#03.12.2008 0:00:00#

Добавлено через 4 минуты и 4 секунды
и так ошибка(((

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE (([Содержание_заказа].[Дата]=» + dateTimePicker1.Value + «))», «Provider=Microsoft.Jet.OLEDB.4.0;» + «Data Source=» + @»….kafe.mdb»);
Код
Ошибка синтаксиса (пропущен оператор) в выражении запроса ‘(([Содержание_заказа].[Дата]=03.12.2008 0:00:00))’.

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67

kuller, попробуйте прогнать запрос с хардкодом

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE Дата= #12/03/2008#», «Provider=Microsoft.Jet.OLEDB.4.0;» + «Data Source=» + @»….kafe.mdb»);
B.SelectCommand.Connection.Open();
B.SelectCommand.ExecuteNonQuery();
B.SelectCommand.Connection.Close();
DataTable C = new DataTable();
B.Fill(C);
dataGridView1.DataSource = C;

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE Дата=#12/03/2008#», .

ну т.к. в БД нет строки с такой датой то у меня выскочила табличка:

Код
MessageBox.Show(«Извените, по вашему запросу ничего не найдено», .

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

Добавлено через 1 минуту и 8 секунд
Вот поставил 20/11/2008:
и в dataGridView1 вывелись ВСЕ найденные РЕЗУЛЬТАТЫ .. причем верные)))))

Добавлено через 3 минуты и 34 секунды
ВЫВОД:

дату надо получить из dateTimePicker1.Value и привести к виду:

#ч/м/г#,а потом только вызывать запрос.

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 67

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE Дата=#»+dateTimePicker1.Value.ToString(«dd/MM/yyyy»)+»#», «Provider=Microsoft.Jet.OLEDB.4.0;» + «Data Source=» + @»….kafe.mdb»);
B.SelectCommand.Connection.Open();
B.SelectCommand.ExecuteNonQuery();
B.SelectCommand.Connection.Close();
DataTable C = new DataTable();
B.Fill(C);
dataGridView1.DataSource = C;

Это сообщение отредактировал(а) Partizan — 4.12.2008, 12:28

Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет

Да уж(
и так не работате((((

Код
OleDbDataAdapter B = new OleDbDataAdapter(«SELECT * FROM Содержание_заказа WHERE Дата=#»+dateTimePicker1.Value.ToString(«MM/dd/yyyy»)+»#», «Provider=Microsoft.Jet.OLEDB.4.0;» + «Data Source=» + @»….kafe.mdb»);
Код
Дата содержит синтаксическую ошибку в выражении запроса ‘Дата=#11.20.2008#’.
Код
SELECT * FROM Содержание_заказа WHERE Дата=#11.20.2008#

Добавлено через 5 минут
Причем по моему не так:
ToString(«MM/dd/yyyy»)
а вот так:
ToString(«dd/MM/yyyy»)
ну всеравно не пашет((((

Это сообщение отредактировал(а) kuller — 4.12.2008, 12:32

Let’s do some .NET

Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Я создаю sql-запрос в Access 2013. Это мой запрос:

SELECT  
COUNT(Age) FROM Members AS [Under 12] WHERE Age <= 12,
COUNT(Age) FROM Members AS [13-18] WHERE Age BETWEEN 13 AND 18

Но я продолжаю получать эту ошибку:

Синтаксическая ошибка (запятая) в выражении запроса ‘Age <= 12, COUNT (Age) FROM SukkotMembers AS [13-18] WHERE Age BETWEEN 13 AND 18`

Проблема в запятой в конце второй строки, но я не понимаю, почему. Когда я запускаю только одну строку, все работает нормально. Я новичок в SQL. Просто чтобы вы знали.

Также я только что понял, что AS [Under 12] и AS [13-18] не работают, и я также не знаю, почему

2 ответа

Лучший ответ

Вы также можете суммировать:

SELECT  
    Sum(Abs(Age <= 12)) AS [Under 12],
    Sum(Abs(Age BETWEEN 13 AND 18)) AS [13-18]  
FROM 
    Members


3

Gustav
13 Сен 2015 в 13:26

Во-первых: синтаксис, который вы используете, не является допустимым SQL, так как у вас есть несколько недопустимых предложений FROM; то же самое относится к предложению where, которое, кстати, действует для всего набора.

Вы не можете просто взять кусочки SQL и исправить вместе, чтобы получить рабочий запрос — существует довольно строгий и четко определенный синтаксис, которого вы должны придерживаться.

Вам нужно либо использовать подзапросы, возвращающие скалярные значения, либо использовать условный подсчет:

SELECT  
  COUNT(IIF(Age<=12,age,null)) AS [Under 12] 
 ,COUNT(IIF(Age BETWEEN 13 AND 18,age,null)) AS [13-18]  
FROM Members

Кроме того, FROM Members AS [13-18] назначает псевдоним таблице, а не столбцу.

Использование подзапросов (что, я думаю, могло быть вашим намерением):

SELECT DISTINCT
    (SELECT COUNT(*) FROM MEMBERS WHERE AGE<=12) AS  [UNDER 12] ,
    (SELECT COUNT(*) FROM MEMBERS WHERE AGE BETWEEN 13 AND 18) AS  [13-18]
FROM MEMBERS


4

jpw
13 Сен 2015 в 12:01

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Ошибка синонимы к этому слову
  • Ошибка синхронизации вы попытались удалить слишком много элементов календарь
  • Ошибка синий экран windows 7 124
  • Ошибка синхронизации времени сигма 7
  • Ошибка синий экран windows 10 на ноутбуке

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии