powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемы с ValidationRule
14 сообщений из 14, страница 1 из 1
Проблемы с ValidationRule
    #32490021
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из VB в базе Access-a создаю таблицу:

Set tdfNew = newDB.CreateTableDef(CurName)
With tdfNew
.Fields.Append .CreateField("id", dbLong)
.Fields.Append .CreateField("DOMAIN", dbText, 10)
.Fields.Append .CreateField("SHORT_NAME", dbText, 15)
.Fields.Append .CreateField("FULL_NAME", dbText, 50)
End With
newDB.TableDefs.Append tdfNew
newDB.TableDefs(CurName).Fields("ID").ValidationRule = ">=0" newDB.TableDefs(CurName).Fields("ID").ValidationText = "Значение ID должно быть неотрицательным"

Теперь захожу в Access, при открытии этой таблицы говорит: "Ошибка синтаксиса во введенном выражении" и мочит ValidationRule
ValidationText - все ОК, остается ...
их VBA этот кусок выполняется "на ура" ... HELP
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490049
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поле "ID" это не счетчик в таблице случайно?
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490071
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.Fields.Append .CreateField("id", dbLong) - какой же это счетчик!!!

но потом я вешаю PrimaryIndex на него ...
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490078
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для чистоты эксперимента:
убрал создание индекса ... НЕ ПОМОГЛО
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490103
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, а есть возможность созданую таблицу в режиме конструктора посмотреть и проверить не задан ли тип поля "ID" как "AutoNumber"?
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490212
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотрю после создания таблицы на поле ID - Type = 4 ... это Long

ё-моё!!!!! нашел ...

VB запихнул пробел после 0!!!! Хотя после создания показывал нормально, а при повторном подключении вижу, что там 4 символа и пробел последний!!!
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490255
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... никак не удается избавиться от этого пробела :-(((
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490313
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так:
newDB.TableDefs(CurName).Fields("ID").ValidationRule = "">=0""
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490374
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так точно не пройдет ... ругается сам VB ... но смысл ясен
Нужно 3 кавычки с каждой стороны
Тоже самое. Вот что получилось:

ValidationRule "">=0"" String
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490429
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кавычки действительно пропустил. прикольная проблемка. а если так позврашаться: left(">=0",3)
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490432
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, так:"left(">=0",3)"
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490446
EDUDK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин чего то совсем погнал я, извиняюсь, конечно это не пойдет
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490466
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пробовал Trim (...)

не покатило ... похоже Access после вставки сам правит зачем-то ...
...
Рейтинг: 0 / 0
Проблемы с ValidationRule
    #32490546
Ander Borisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для этого примера можно сначала задать все свойства, а потом создать поле ...
но как поменять имеющеееся значение ... Это вопрос .......

ВОТ ТАК ПРОКАТИЛО:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
     Set tdfNew = newDB.CreateTableDef(CurName)
     With tdfNew
         .Fields.Append .CreateField( "id" , dbLong)
         .Fields.Append .CreateField( "DOMAIN" , dbText,  10 )
         .Fields.Append .CreateField( "SHORT_NAME" , dbText,  15 )
         .Fields.Append .CreateField( "FULL_NAME" , dbText,  50 )
         .Fields( "ID" ).ValidationRule =  ">=0 "
         .Fields( "ID" ).ValidationText =  "Значение ID должно быть неотрицательным" 
     End With
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемы с ValidationRule
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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