Этот VBScript делает то, что я думаю, что вы хотите, но делает это более кратко IMO.
Option Explicit
Dim provider: provider = "microsoft.jet.oledb.4.0"
Dim db: db = "C:\Access\webforums\foodb.mdb"
Dim ds: ds = "provider=" & provider & "; data source=" & db
Dim Sql
Dim CreateTable
Dim catalog: Set catalog = CreateObject("adox.catalog")
catalog.create ds 'create db file
Set catalog = Nothing
'By this point, DB is now created
'create and populate table
Dim conn: Set conn = CreateObject("adodb.connection") 'create connection
conn.Open ds 'open connection
CreateTable = "CREATE TABLE customer (" & _
"id COUNTER CONSTRAINT pk_cust_id PRIMARY KEY, " & _
"surname TEXT(255));"
conn.Execute CreateTable
Sql = "insert into customer (id, surname) values (5, 'smith')"
conn.Execute Sql
'close connection and reclaim resources
conn.Close
Set conn = Nothing
При использовании этого метода свойства поля фамилии включают в себя Required = No, что, я думаю, вам нужно.
Если вы имели в виду, что хотите вставить Null в поле id, это не может произойти с id в качестве первичного ключа. Ограничение первичного ключа не допускает значения Null.