VBA для Access 2003 - DDL для создания файла доступа: установка типа данных Autonumber - PullRequest
2 голосов
/ 18 мая 2010

Итак, у меня есть следующий VB, который создает файл доступа в рабочей области по умолчанию, создает таблицу, создает некоторые поля в этой таблице ... просто нужно знать синтаксис для установки первого типа данных / поля в автонумерацию. .GUID, счетчик и т. Д. Не будут работать, как в Access SQL

' error handling usually goes here

dim ws as workspace
dim dbExample as database
dim tblMain as TableDef
dim fldMain as Field
dim idxMain as Index

set ws = workspace(0)

set dbExample = ws.CreateDatabase('string file path')

set tblMain = dbExample.CreateTableDef("tblMain")

set fldMain = tblMain.CreateField("ID", 'right here I do not know what to substitute for dbInteger to get the autonumber type to work )

tblMain.Fields.Append fldMain
etc to create other fields and indexes

так в этой строке: set fldMain = tblMain.CreateField ("ID", dbInteger) мне нужно заменить dbInteger чем-то, что VB преобразовывает как свойство autonumber. я пробовал GUID, счетчик, автонумерацию, автоинкремент .... к сожалению, ничего из этого не работает

Кто-нибудь знает синтаксис, который мне здесь не хватает?

Спасибо, Justin

1 Ответ

1 голос
/ 18 мая 2010

См. Создание поля AutoNumber из кода в Web доступа.

Вот ключевые строки этой связанной страницы:

Set db = Application.CurrentDb
Set tdf = db.TableDefs(strTableName)
' First create a field with datatype = Long Integer '
Set fld = tdf.CreateField(strFieldName, dbLong)
With fld
    ' Appending dbAutoIncrField to Attributes '
    ' tells Jet that its an Autonumber field '
    .Attributes = .Attributes Or dbAutoIncrField
End With
With tdf.Fields
    .Append fld
    .Refresh
End With

Кстати, то, что вы делаете, не является DDL.

...