У меня странная ошибка ввода данных в MS Access, и я надеюсь, что кто-то может помочь пролить немного света на то, почему это может происходить и как это исправить.
У меня естьтаблица данных, которая определена в нашей базе данных SQL Server.Ниже приведено определение с измененными только именами полей.
CREATE TABLE [dbo].[MyTable](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TextField1] [nvarchar](10) NOT NULL,
[TextField2] [nvarchar](50) NOT NULL,
[Integer1] [int] NOT NULL CONSTRAINT [DF_MyTable_Integer1] DEFAULT (0),
[Integer2] [int] NOT NULL,
[LargerTextField] [nvarchar](300) NULL
) ON [PRIMARY]
Как видно из определения этой таблицы, в этом нет ничего особенного.Проблема, с которой я сталкиваюсь, связана со связанной таблицей данных в базе данных MS Access 2003, которая через ODBC связывается с этой таблицей.
После определения и создания таблицы данных в SQL Server я открыл свою рабочую базу данных Access и связался с новой таблицей.Мне нужно вручную создать записи, которые принадлежат этой таблице.Однако, когда я начал добавлять строки данных, я заметил, что, когда я вкладывал из LargerTextField
в новую строку, LargerTextField
по умолчанию устанавливался на '2
', хотя я ничего не вводил, ниопределил значение по умолчанию для поля?!
Изначально мне нужно, чтобы это поле было Null
.Я вернусь позже и с помощью процедуры обновления заполню данные.Но почему MS Access по умолчанию устанавливает значение в моем поле, даже если схема для таблицы явно не определяет его?Кто-нибудь видел это или есть какие-либо подсказки, почему это может произойти?
РЕДАКТИРОВАТЬ
Одна быстрая коррекция, как только я вкладываю в LargerTextField
, значение по умолчаниюна «2
», не когда я выхожу.Небольшая небольшая разница, но, возможно, важная.
В качестве теста я также создал новую, свежую базу данных MS, связанную таблицу.У меня точно такая же проблема.Я предполагаю, что это может быть проблемой либо с MS SQL Server, либо, возможно, с ODBC.