Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Jet 4.0 - недопустимые слова-идентификаторы  [new]
Никита А. Зимин
Member

Откуда: Ижевск
Сообщений: 129
Как известно, существует множество слов, которые - если вы используете их в качестве имен сущностей - в SQL-запросах нужно оборачивать в квадратные скобки. Взял из MSDN список MSAccess Reserved Words - ADD, ALL, Alphanumeric итд. Но практика показала, что список недопустимых слов шире - в частности, этот список пришлось пополнить словами "Password" и "note". Дайте пожалуйста полный список слов, которые нужно оборачивать.
22 сен 04, 16:18    [979567]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 5006
Используй префиксы, например, так называемой Венгерской нотации. У Гетца подробно рассмотерeно. Преимущество: удобно и понятно не только для тебя, но и для других, сразу видно, что предстваляет собой переменная, и никогда имя не совпадет со служебными словами.

З.Ы.
А список служебных слов я как-то в Акеса видел, так что МСДН и не нужен
23 сен 04, 00:01    [980747]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Senin Viktor
Используй префиксы, например, так называемой Венгерской нотации. У Гетца подробно рассмотерeно. Преимущество: удобно и понятно не только для тебя, но и для других, сразу видно, что предстваляет собой переменная, и никогда имя не совпадет со служебными словами.

Так ли уж никогда? Например:
dEsc
sElect
23 сен 04, 01:44    [980771]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Никита А. Зимин
Member

Откуда: Ижевск
Сообщений: 129
Senin Viktor
Используй префиксы, например, так называемой Венгерской нотации.

Проблема не в этом. Проблема в том чтобы прописать список этих слов в утилите - чтобы скобки на автомате ставились там где надо.
Вот поэтому меня и беспокоит полнота этого списка.
23 сен 04, 08:53    [980932]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Никита А. Зимин
Member

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

AS
AT
BY
GO
IN
IS
NO
OF
ON
OR
TO
ADD
ALL
AND
ANY
ARE
ASC
AVG
BIT
BOR
DAY
DEC
END
FOR
GET
INT
KEY
MAX
MIN
NOT
PAD
SET
SQL
SUM
TOP
...
23 сен 04, 10:02    [981113]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883

Долго ты будешь до "AUTOINCREMENT" добираться.
Лучше посмотреть в справку по перечню ключевых слов Jet-SQL, VBA и т.д. и все-таки пользоваться префиксами. А можно еще все имена на русском языке давать. Не всегда удобно, зато точно не ошибешься.
23 сен 04, 10:08    [981133]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
типа F1 - (jetsql40.chm)
jetsql40.chm

Зарезервированные слова SQL
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

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


--------------------------------------------------------------------------------

Примечание. Слова, отмеченные знаком звездочки (*) (например, Level и TableID), также являются зарезервированными, однако в данный момент не имеют определенного значения в контексте инструкций SQL ядра Microsoft® Jet. Неподчеркнутые слова приводятся без объяснений.


--------------------------------------------------------------------------------

A

ABSOLUTE ANY
ADD ARE
ADMINDB AS
ALL ASC
Alphanumeric — см. TEXT ASSERTION
ALTER AUTHORIZATION
ALTER TABLE AUTOINCREMENT — см. COUNTER
And Avg
AS


B-C

BEGIN COLLATION
Between COLUMN
BINARY COMMIT
BIT COMP, COMPRESSION
BIT_LENGTH CONNECT
BOOLEAN — см. BIT CONNECTION
BOTH CONSTRAINT, CONSTRAINTS
BY CONTAINER
BYTE CONTAINS
CASCADE CONVERT
CATALOG Count
CHAR, CHARACTER — см. TEXT COUNTER
CHAR_LENGTH CREATE
CHARACTER_LENGTH CURRENCY
CHECK CURRENT_DATE
CLOSE CURRENT_TIME
CLUSTERED CURRENT_TIMESTAMP
COALESCE CURRENT_USER
COLLATE CURSOR


D

DATABASE DISALLOW
DATE — см. DATETIME DISCONNECT
DATETIME DISTINCT
DAY DISTINCTROW
DEC, DECIMAL DOMAIN
DECLARE DOUBLE
DELETE DROP
DESC


E-H

Eqv FOREIGN
EXCLUSIVECONNECT FROM
EXEC, EXECUTE Предложение FROM
EXISTS GENERAL — см. LONGBINARY
EXTRACT GRANT
FALSE GROUP
FETCH GUID
FIRST HAVING
FLOAT, FLOAT8 — см. DOUBLE HOUR
FLOAT4 — см. SINGLE


I

IDENTITY INPUT
IEEEDOUBLE — см. DOUBLE INSENSITIVE
IEEESINGLE — см. SINGLE INSERT
IGNORE INSERT INTO
IMAGE INT, INTEGER, INTEGER4 — см. LONG
Imp INTEGER1 — см. BYTE
In INTEGER2 — см. SHORT
IN INTERVAL
INDEX INTO
INDEXCREATEDB Is
INNER ISOLATION


J-M

JOIN LONGTEXT
KEY LOWER
LANGUAGE MATCH
LAST Max
LEFT MEMO — см. LONGTEXT
Level* Min
Like MINUTE
LOGICAL, LOGICAL1 — см. BIT Mod
LONG MONEY — см. CURRENCY
LONGBINARY MONTH
LONGCHAR


N-P

NATIONAL Outer*
NCHAR OUTPUT
NONCLUSTERED OWNERACCESS
Not PAD
NTEXT PARAMETERS
NULL PARTIAL
NUMBER — см. DOUBLE PASSWORD
NUMERIC — см. DOUBLE PERCENT
NVARCHAR PIVOT
OCTET_LENGTH POSITION
OLEOBJECT — см. LONGBINARY PRECISION
ON PREPARE
OPEN PRIMARY
OPTION PRIVILEGES
Or PROC, PROCEDURE
ORDER PUBLIC


Q-S

REAL — см. SINGLE SMALLDATETIME
REFERENCES SMALLINT — см. SHORT
RESTRICT SMALLMONEY
REVOKE SOME
RIGHT SPACE
ROLLBACK SQL
SCHEMA SQLCODE, SQLERROR, SQLSTATE
SECOND StDev
SELECT StDevP
SELECTSCHEMA STRING — см. TEXT
SELECTSECURITY SUBSTRING
SET Sum
SHORT SYSNAME
SINGLE SYSTEM_USER
SIZE


T-Z

TABLE UPDATEOWNER
TableID* UPDATESECURITY
TEMPORARY UPPER
TEXT USAGE
TIME — см. DATETIME USER
TIMESTAMP USING
TIMEZONE_HOUR VALUE
TIMEZONE_MINUTE VALUES
TINYINT Var
TO VARBINARY — см. BINARY
TOP VARCHAR — см. TEXT
TRAILING VarP
TRANSACTION VARYING
TRANSFORM VIEW
TRANSLATE WHEN
TRANSLATION WHENEVER
TRIM WHERE
TRUE WITH
UNION WORK
UNIQUE Xor
UNIQUEIDENTIFIER YEAR
UNKNOWN YESNO — см. BIT
UPDATE ZONE
UPDATEIDENTITY
23 сен 04, 10:09    [981134]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Никита А. Зимин
Member

Откуда: Ижевск
Сообщений: 129
Ага, типа F1, все дела...
Поищи-ка там такие "запрещенные" слова - например, BAND, BXOR, BNOT...
23 сен 04, 10:17    [981159]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
уел, блин
Вот тобе новй F1

автор
List of Microsoft Jet 4.0 reserved words
Относится к
This article was previously published under Q321266
For a Microsoft Access 2000 version of this article, see 248738.

SUMMARY
The Microsoft Jet database engine runs in several different modes depending on whether it is called from Microsoft Access, Data Access Objects, the Microsoft OLE DB Provider for Microsoft Jet, or the Microsoft Access ODBC driver. It can be run in either ANSI mode or non-ANSI (traditional) mode.

Each of these modes results in a slightly different set of reserved words. Queries written in one mode may use a reserved word as an identifier and fail in another mode because of this.

This article provides a list of reserved words to avoid when choosing identifier names.
MORE INFORMATION
Reserved Words
AABSOLUTE ACTION ADD ADMINDB
ALL ALLOCATE ALPHANUMERIC ALTER
AND ANY ARE AS
ASC ASSERTION AT AUTHORIZATION
AUTOINCREMENT AVG

B
BAND BEGIN BETWEEN BINARY
BIT BIT_LENGTH BNOT BOR
BOTH BXOR BY BYTE

C
CASCADE CASCADED CASE CAST
CATALOG CHAR CHARACTER CHAR_LENGTH
CHARACTER_LENGTH CHECK CLOSE COALESCE
COLLATE COLLATION COLUMN COMMIT
COMP COMPRESSION CONNECT CONNECTION
CONSTRAINT CONSTRAINTS CONTAINER CONTINUE
CONVERT CORRESPONDING COUNT COUNTER
CREATE CREATEDB CROSS CURRENCY
CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
CURRENT_USER CURSOR

D
DATABASE DATE DATETIME DAY
DEALLOCATE DEC DECIMAL DECLARE
DEFAULT DEFERRABLE DEFERRED DELETE
DESC DESCRIBE DESCRIPTOR DIAGNOSTICS
DISALLOW DISCONNECT DISTINCT DOMAIN
DOUBLE DROP

E
ELSE END END-EXEC ESCAPE
EXCEPT EXCEPTION EXCLUSIVECONNECT EXEC
EXECUTE EXISTS EXTERNAL EXTRACT

F
FALSE FETCH FIRST FLOAT
FLOAT4 FLOAT8 FOR FOREIGN
FOUND FROM FULL

G
GENERAL GET GLOBAL GO
GOTO GRANT GROUP GUID

H
HAVING HOUR

I
IDENTITY IEEEDOUBLE IEEESINGLE IGNORE
IMAGE IMMEDIATE IN INDEX
INDICATOR INHERITABLE INITIALLY INNER
INPUT INSENSITIVE INSERT INT
INTEGER INTEGER1 INTEGER2 INTEGER4
INTERSECT INTERVAL INTO IS
ISOLATION

J
JOIN

K
KEY

L
LANGUAGE LAST LEADING LEFT
LEVEL LIKE LOCAL LOGICAL
LOGICAL1 LONG LONGBINARY LONGCHAR
LONGTEXT LOWER

M
MATCH MAX MEMO MIN
MINUTE MODULE MONEY MONTH

N
NAMES NATIONAL NATURAL NCHAR
NEXT NO NOT NOTE
NULL NULLIF NUMBER NUMERIC

O
OBJECT OCTET_LENGTH OF OLEOBJECT
ON ONLY OPEN OPTION
OR ORDER OUTER OUTPUT
OVERLAPS OWNERACCESS

P
PAD PARAMETERS PARTIAL PASSWORD
PERCENT PIVOT POSITION PRECISION
PREPARE PRESERVE PRIMARY PRIOR
PRIVILEGES PROC PROCEDURE PUBLIC

Q
R
READ REAL REFERENCES RELATIVE
RESTRICT REVOKE RIGHT ROLLBACK
ROWS

S
SCHEMA SCROLL SECOND SECTION
SELECT SELECTSCHEMA SELECTSECURITY SESSION
SESSION_USER SET SHORT SINGLE
SIZE SMALLINT SOME SPACE
SQL SQLCODE SQLERROR SQLSTATE
STRING SUBSTRING SUM SYSTEM_USER

T
TABLE TABLEID TEMPORARY TEXT
THEN TIME TIMESTAMP TIMEZONE_HOUR
TIMEZONE_MINUTE TO TOP TRAILING
TRANSACTION TRANSFORM TRANSLATE TRANSLATION
TRIM TRUE

U
UNION UNIQUE UNIQUEIDENTIFIER UNKNOWN
UPDATE UPDATEIDENTITY UPDATEOWNER UPDATESECURITY
UPPER USAGE USER USING

V
VALUE VALUES VARBINARY VARCHAR
VARYING VIEW

W
WHEN WHENEVER WHERE WITH
WORK WRITE

X
Y
YEAR YESNO

Z
ZONE

Starting with Microsoft Data Access Components (MDAC) version 2.6, MDAC no longer contains the following Jet components:
Microsoft Jet
Microsoft Jet OLE DB Provider
ODBC Desktop Database Drivers
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
239114 How to obtain the latest service pack for the Microsoft Jet 4.0 Database Engine

The MDAC 2.5 Stack and Windows File Protection white paper contains a full list of the components that are shipped with MDAC 2.5, along with a discussion of Windows File Protection. Refer to this white paper for more information about the Jet dynamic-link libraries (DLLs) that are included in MDAC 2.5, which are no longer a part of MDAC 2.6.

For more information about MDAC 2.5 and Windows File Protection, see the following Microsoft Web site:
http://www.microsoft.com/data/mdacwfp.htm

The information in this article applies to:
Microsoft Access 2002
Last Reviewed: 8/18/2004 (4.1)
Keywords: kbhowto kbProgramming KB321266



(с выражением лица)
23 сен 04, 10:36    [981224]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Никита А. Зимин
Member

Откуда: Ижевск
Сообщений: 129
Victosha
уел, блин
Вот тобе новй F1

Другое дело!
Спасибо.
23 сен 04, 11:16    [981424]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Victosha
Member

Откуда: Москва
Сообщений: 2620
Никита А. Зимин
Victosha
уел, блин
Вот тобе новй F1

Другое дело!
Спасибо.

там AABSOLUTE
д.б.
A
ABSOLUTE
23 сен 04, 11:21    [981451]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Лифчик
Member

Откуда:
Сообщений: 1699
Geo

А можно еще все имена на русском языке давать. Не всегда удобно, зато точно не ошибешься.
Вот это что-то новое для меня. Неужели дожили? Что по-русски выгоднее писать и на грабли не наступишь (в сарае)
23 сен 04, 11:39    [981537]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 5006
Владимир Саныч
Senin Viktor
Используй префиксы, например, так называемой Венгерской нотации. У Гетца подробно рассмотерeно. Преимущество: удобно и понятно не только для тебя, но и для других, сразу видно, что предстваляет собой переменная, и никогда имя не совпадет со служебными словами.

Так ли уж никогда? Например:
dEsc
sElect


Ну, Саныч, сразу видно про Венгерскую нотацию и Гетца ты не слышал :) (шютка)

Маленькая табличка из Гетца (том2 Руководство разработчика корпоративных приложений для Акеса 2002) стр. 812 - Венгерская нотация
для переменных
bool (f, bln)
byte (byt)
cur
date(dtm)
dec
dbl
int
lng
obj - Объект
sng
str
stf (String, Фиксированная длина)
var

все что без комментариев надеюсь поймет каждый?
Так что твой пример не катит :)
23 сен 04, 12:09    [981656]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
curRency
Guest
curRency
decImal
strIng
varIant

23 сен 04, 13:50    [982043]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883
Лифчик
Вот это что-то новое для меня. Неужели дожили? Что по-русски выгоднее писать и на грабли не наступишь (в сарае)


Я в одной программе попробовал всем полям/таблицам/запросам дать русские имена - ошибок по этому поводу не увидел, с тех пор так и делаю. И самому понятнее, и на ключевое слово не нарвешься. Единственное, что не удобно, это писать запросы руками, и в коде к полям обращаться - то и дело туда-сюда переключаться приходится.
23 сен 04, 15:29    [982591]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
YBW
Guest
Geo

А можно еще все имена на русском языке давать. Не всегда удобно, зато точно не ошибешься.


вот в этом и ошибешься ИМХО
23 сен 04, 15:47    [982673]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883
Мда. "А у меня кресло мягче". И все, доказательства тут не нужны.

Почему ошибаюсь-то?
23 сен 04, 15:51    [982714]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Geo
Почему ошибаюсь-то?

Потому что вероятность ошибиться в русском слове не меньше, чем в иностранном. Вот у тебя в профиле Московская область с маленькой буквы написана, и ты, наверно, уже год это не исправляешь. :^)
23 сен 04, 16:05    [982816]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883
:))

Если я правильно помню, имена собственные в таких случаях не обязательно писать с большой буквы (класс четвертый-пятый, поэтому могу врать).
Т.е.
я поехал в Московский Дельфинарий
и
я поехал в московский Дельфинарий
правильно.
23 сен 04, 16:08    [982834]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Abel
Member

Откуда: Питер
Сообщений: 104
2 Geo
ИМХО, Если он называется, скажем, АО "Московский дельфинарий", то только с большой. А если просто АО "Дельфинарий" в Москве, тогда можно "московский Дельфинарий". Иначе как ты МГУ напишешь?
24 сен 04, 09:47    [984273]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883
Хорошо, что детей в школе формам собственности предприятий не обучают, АО, ОАО, ЗАО...

1С:репетитор
С большой (прописной) буквы пишутся притяжательные прилагательные с суффиксами -ов- (-ев-), -ин-, образованные от собственных имен лиц, животных, мифологических существ и т.п.: Мухтарова будка.

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

Прилагательные, образованные от собственных имен при помощи суффикса -ск-, пишутся с маленькой (строчной) буквы: московский дворик.

Если подобные прилагательные имеют значение "имени, памяти кого-либо", то они пишутся с большой буквы: Пушкинские чтения.

Наречия, образованные от имен собственных, пишутся с маленькой (строчной) буквы: по-суворовски быстро.


Жду вердикта ВС :))
24 сен 04, 10:06    [984348]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Abel
Member

Откуда: Питер
Сообщений: 104
Geo
Прилагательные, образованные от собственных имен при помощи суффикса -ск-, пишутся с маленькой (строчной) буквы: московский дворик.

Ну так правильно! ОБРАЗОВАННЫЕ от собственных имен, а не сами имена.
Ты можешь написать "московский регион", "московский воздух", "подмосковье" с маленькой, а "Московский государственный университет", "Московская область" - только с большой. Это ведь и есть собственные имена
24 сен 04, 11:28    [984703]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Geo
Member

Откуда:
Сообщений: 6883
Да, но для того, чтобы поехать в дельфинарий, мне не обязательно знать его юридическое наименование. :) Точно также я не должен знать, что область имеет название. Мне достаточно того, что РФ делится на области, и эта область имеет центром Москву.
24 сен 04, 11:39    [984775]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Московская область - это географическое название, а не просто описание типа "такая себе область за углом налево". А географические названия пишутся с большой буквы. Спорить можно только о том, какие из слов в многословном названии писать с большой и какие с маленькой, особенно родовые названия (область, улица, завод и т.д.), например улица Академика Королева пишется именно вот так - улица с маленькой (родовое), а Академика с большой (первое слово самого названия). Но в Московской области родовым является слово область, а не Московская, так что и эта проблема тут ни при чем.

В.Кацман, гусский коггектог.

P.S. В подтверждение тому тезису, что это географическое название, а не просто так: области в России имеют _свои_ имена, а не называются описательно по своему центру. Например, есть Ленинградская область, и это ее официальное название, хотя ее центр совершенно не Ленинград.
24 сен 04, 15:55    [985956]     Ответить | Цитировать Сообщить модератору
 Re: Jet 4.0 - недопустимые слова-идентификаторы  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
:^) Ой. Только сейчас заметил, что Geo исправил свой профиль.
24 сен 04, 17:59    [986442]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить