Если вы делаете это с видом сетки в качестве ввода данных, я думаю, что Access может явно пытаться вставить пустую строку в качестве этого значения. Попробуйте написать простой SQL-оператор для вставки и посмотрите, что произойдет.
Я ожидаю, что базовый SQL будет выглядеть следующим образом (при условии, что для name = "John" заданы значения по умолчанию, balance = "0.0") ...
через сетку:
insert into customers (cust_id, name, balance) values (1, "Bob", 50.25);
и если бы он был пуст:
insert into customers (cust_id, name, balance) values (2, "", 0);
Но через SQL:
insert into customers (cust_id, name) values (3, "Pete");
insert into customers (cust_id) values (4);
Я бы предположил, что в примере SQL используются значения по умолчанию для неустановленных столбцов, но в виде сетки для предоставления пустых значений из пользовательского интерфейса, которые не позволяют использовать значения по умолчанию.