アクセスで作成したデータベースがあります。
簡単にテーブルを追加するプログラムを作成したいのですが可能かしら?
現在[会費管理2]というテーブルが無いので[会費管理2]と言うテーブルを追加して、そのテーブルに各フィールドを作成したいのです。
作成したSet tbl = catDB.Tables![会費管理2] に
'以下追加したいフィールド
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値1"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値2"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値3"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "日付"
.Type = adDate
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "金額"
.Type = adCurrency
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = Nothing
Set tbl = Nothing
Set catDB = Nothing
cnn.Close
End Sub
No.2ベストアンサー
- 回答日時:
大変申し訳ございません。
私の勉強不足と思います。
> Set tbl = catDB.Tables![会費管理2]
テーブルが無い時点で、上記はエラーとなる気がします。
というより、
![会費管理2]
という記述したことが無いので、申し訳ありません。
私では解決できないと思いますので、他の方の回答を待ってください。
失礼いたしました。
No.1
- 回答日時:
提示されたコードの最後 cnn.Close が気になりますが、
自分のmdb 上に作るものとして、変数宣言部分も入れると、以下の様になるのでしょうか。
テーブル「会費管理2」は、ないものとして作成するものになります。
Private Sub Sample1()
Dim cnn As ADODB.Connection
Dim catDB As ADOX.Catalog
Dim tbl As ADOX.Table
Dim colAdo As ADOX.Column
Set cnn = CurrentProject.Connection
Set catDB = New ADOX.Catalog
catDB.ActiveConnection = cnn
Set tbl = New ADOX.Table
tbl.Name = "会費管理2"
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値1"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値2"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "数値3"
.Type = adInteger
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "日付"
.Type = adDate
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
Set colAdo = New ADOX.Column
With colAdo
.Name = "金額"
.Type = adCurrency
.Attributes = adColNullable
End With
tbl.Columns.Append colAdo
catDB.Tables.Append tbl
catDB.Tables.Refresh
RefreshDatabaseWindow
Set colAdo = Nothing
Set tbl = Nothing
Set catDB = Nothing
Set cnn = Nothing
End Sub
この回答への補足
早速ありがとうございます。
実はデータファイルの指定があるのです。
当然![会費管理2]のテーブルはありません。
下記に一部を書き込みしますが、可能かしら?
お手数おかけいたします。感謝いたします。
Private Sub コマンド1_Click()
Beep
If (MsgBox("データをアップデートしますが宜しいですか? 作業は一瞬で終わりますよ!!") = 7) Then
End If
Dim cnn As New ADODB.Connection
Dim catDB As New ADOX.Catalog
Dim colAdo As ADOX.Column
Dim tbl As ADOX.Table
Dim strCon As String
Dim lIdx As Long
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;"
strCon = strCon & "Data Source=c:\ynet\Hz2data1.mdb"
cnn.Open strCon
catDB.ActiveConnection = cnn
Set tbl = catDB.Tables![会費管理2]
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL php テーブルを作れない 2 2022/11/17 18:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【access】複数のフィールドの...
-
データがあれば○○なければのSQL
-
重複した複数のレコードを1レ...
-
ACCESS DCOUNTの抽出条件について
-
社員名簿から検索する関数
-
Access vbaで重複レコードの削...
-
DataGridViewで複数条件の抽出...
-
DAOでSQLServerに接続し、LeftJ...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
CloseとDisposeの違い
-
VBAでループ内で使う変数名を可...
-
エクセルVBAで、MsgBox やInput...
-
Excelシート上のマクロを登録し...
-
インタラクティブの反対語は?
-
DoEventsがやはり分からない
-
VBA エンターキーでイベントに...
-
エクセルの画面にユーザーフォ...
-
メルカリのメルカードで買い物...
-
ユーザーフォーム上にアイコン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
【access】複数のフィールドの...
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
ACCESS DCOUNTの抽出条件について
-
Accessで縦と横を入れ替えたい
-
VBAでテーブル名とカラム名を動...
-
DataGridViewで複数条件の抽出...
-
Access から Excelのシートをイ...
-
重複した複数のレコードを1レ...
-
DAOでSQLServerに接続し、LeftJ...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
sql文で削除クエリを書く
-
別のaccessファイルからデータ...
-
access追加クエリーでform入力...
-
抽出条件でデータ型が一致しま...
-
【PHP/MySQL】コード上で生成...
-
Accessリンクするテーブルが見...
-
ACCESSで購入回数を表示する方...
おすすめ情報