JET-SQL 言語では、構文をより具体的にし、「ALTER TABLE」文に「COLUMN」という単語を追加する必要があります。例:
strSql = "ALTER TABLE MyTable ADD COLUMN MyField DECIMAL (28,3);"
strSql = "ALTER TABLE MyTable ADD COLUMN MyText TEXT(3);"
ヘルプによると、デフォルト値を定義できますが、試したことはありません。この構文は、Access/JET データベースでのみ有効です。ODBC または ADO を介してアクセス テーブルにアクセスする場合は、機能しないと思います。
このような状況では、他の方法でデータベース構造を変更できます。ここに例があります。これは DAO オブジェクト モデルで作成されましたが、ADODB 接続で使用される一般的な ADO オブジェクト モデルに簡単に切り替えることができます。
EDIT:1つの「暗黙のADOソリューション」(ADODB接続を使用するが、ADOテーブルオブジェクトなどを使用しないことを意味する)は、次のようになります。
(接続文字列の例については、こちらを確認してください)
Dim myConnection AS ADODB.connection
set myConnection = New ADODB.connectionString
myConnection.connectionString = 'here is your connection string'
myConnection.open
myConnection.execute "ALTER TABLE myTable ADD Column MyField DECIMAL (12,3);"
myConnection.close
アクティブな mdb ファイルを使用している場合は、次のように記述します。
CurrentProject.Connection.Execute "ALTER TABLE myTable ADD Column MyField DOUBLE;"
それでおしまい。
ADO オブジェクトを使用する場合は、ADOX ライブラリをコード ソースに追加し、Table.columns.append
メソッドを使用してください。ここに例があります