私がアクセス2016テーブルに一連のフィールドを追加しますが、エラーが発生した維持しようとしています:私はもともとDBNUMERICとして、データ型を指定 無効なフィールドデータ型使用時TableDef.CreateFieldメソッドVBA
Runtime error '3259'
Invalid field data type
それがdbDecimalに変更されているかどうかを確認しました。 CreateFieldsの
hereの解決策は私の問題を解決しませんでしたが、私はSQLを試しませんでした。それはしませんでした。ここでは、コードは次のようになります。
Sub BOD_Variables()
Dim myDBS
Dim myTable As TableDef
Dim myTableName As String
myTableName = "BOD_Data"
Set myDBS = CurrentDb
Set myTable = myDBS.TableDefs(myTableName)
Dim myField As Field
Dim myVariableNames As Variant
myVariableNames = Array("Blank_4_SampleVol", ... "BOD_ Concentration _OUT")
Dim iCount As Integer
For iCount = LBound(myVariableNames) To UBound(myVariableNames)
Debug.Print myVariableNames(iCount)
Set myField = myTable.CreateField(myVariableNames(iCount), dbDecimal) 'Originally specified dbNumeric for data type.
myTable.Fields.Append myField
Next
End Sub
私はアレイ(インデックス)への呼び出しを置き換えるために試みた。それでも同じエラーを取得し
Set myField = myTable.CreateField("Blank_4_SampleVol", dbNumeric)
。
長さをdiscussed hereと指定してみましたが、問題は解決しませんでした。 CreateFieldのドキュメントでは、フィールドの型がdbNumbericの場合、フィールドの長さが無視されます。
私が紛失しているものはありますか?前もって感謝します。
エラーの前に、forループまでの距離はどのくらいですか?あなたがやったデバッグの詳細が必要です。 –
'dbDouble'を使うと、あなたのニーズを満たし、エラーなく実行できるはずです - 長さを指定する必要はありません – dbmitch
私の答えのコードはDAOオブジェクト(例: 'TableDef') ADOXオブジェクトを使用します。 –