|
よろずや様
ご回答ありがとうございます。
以下のようにADOを使用してSQLを実行したら、
cn.Execute strSQLのところで(SQL実行時)
「80004005 テーブル レベル入力規則の 構文エラー。」
とエラーがでました。
strSQL内の"DEFAULT 0" を消すとエラーなく実行され、当該フィールドは数値型に変わります。
何か設定が悪いのか、プロバイダが違うのか...。
原因お分かりでしたらお教えください。よろしくお願いいたします。
↓以下ソース一部
Dim strCnString As String
Dim cn As ADODB.Connection
strCnString = "Provider=Microsoft.ACE.OLEDB.12.0;"
strCnString = strCnString & "Data Source=" & Application.CurrentDb.Name
Set cn = CreateObject("ADODB.Connection")
cn.Open (strCnString)
strSQL = "ALTER TABLE [T_106100] ALTER COLUMN [" & strYMDFld(i) & "] INTEGER DEFAULT 0;"
cn.Execute strSQL
Set cn = Nothing
▼よろずや さん:
>DEFAULT ステートメントは、Access OLE DB プロバイダーおよび ADO 経由でのみ実行できます。 Access の [SQL ビュー] ユーザー インターフェイスからこのステートメントを使用すると、エラー メッセージが返されます。
>
>ht tps://docs.microsoft.com/ja-jp/office/vba/access/concepts/structured-query-language/modify-a-table-s-design-using-access-sql
>
>だそうです。
|
|