ExcelのVBAを使用してアクセステーブルの名前を変更しようとしています...どのようなヘルプですか?およそExcelからVBAを使用してアクセステーブルの名前を変更する方法は?
答えて
方法:
Dim appAccess As Object
''acTable=0
Set appAccess = CreateObject("Access.Application")
appAccess.OpenCurrentDatabase "C:\Docs\LTD.mdb"
appAccess.DoCmd.Rename "NewTableName", 0, "OldTableName"
appAccess.Quit
Set appAccess = Nothing
あなたのコードがそれ自身の後でクリーンアップされればそれはいいと思いますか? –
@David W Fenton私は、これは、アイデアが十分にあるはずであり、大部分は1行の回答でさえ十分であるという印象を受けました。 – Fionnuala
@David W Fentonあなたが本当にそれが重要だと思うならば、答えを編集して自分で修正してください –
はここで(まだ会社の日常使用している)私のプログラムの一つの例です。これはvb6プログラムから取ったものですが、vbaでも実行されます。私はそれを確かめるためにテストしました。
この例では、新しいデータで更新される "mytable_tmp"という名前のテンポラリテーブルがあり、これを置き換えることでテーブル "mytable"に保存します。お使いのエクセルVBAエディタから
あなたは、次の2つのタイプライブラリへの参照を設定する必要があります:
- は、「Microsoft ActiveXデータは、2.8オブジェクトライブラリ」
- の「Microsoft ADO外部DDLための2.8と。
最初はADODB名前空間用で、2番目はADOX名前空間用です。 (おそらく2.5以前のMDACの以前のバージョンを持っているかもしれません;これもうまくいくはずです)。
Private Sub RenameTable()
Dim cn As New ADODB.Connection
Dim cat As ADOX.Catalog
Const sDBFile As String = "c:\et\dbtest.mdb"
On Error GoTo ErrH
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Mode = adModeShareDenyNone
.Properties("User ID") = "admin"
.Properties("Password") = ""
.Open sDBFile
End With
Set cat = New ADOX.Catalog
cat.ActiveConnection = cn
cat.Tables("mytable").Name = "mytable_old"
cat.Tables("mytable_tmp").Name = "mytable"
cat.Tables("mytable_old").Name = "mytable_tmp"
ExitHere:
If Not cn Is Nothing Then
If Not cn.State = adStateClosed Then cn.Close
Set cn = Nothing
End If
Set cat = Nothing
Exit Sub
ErrH:
Dim sMsg As String
sMsg = "Massive problem over here man."
sMsg = sMsg & vbCrLf & "Description : " & cn.Errors.Item(0).Description
MsgBox sMsg, vbExclamation
GoTo ExitHere
End Sub
お役立てください。
上記のRemouのコードのわずかな代替方法があります。シェル関数を使用して必要なデータベースを開き、そのプロパティとメソッドにアクセスするGetObject関数を使用します。このようにする利点は です。1)Accessアプリケーションのウィンドウを開く方法を選択できます。私の目的のために、私はそれを隠しておきたい。 2)私はAccess 2003と2007の両方をインストールしていますが、Remouの方法では2003が開きますが、これは嫌です。私の方法(私は思う)は、ユーザーがそれをダブルクリックしたときに開くために使用したAccessウィンドウのバージョンに関係なく、ファイルを開きます。
データベースを操作する前に、データベースが開いていることを確認する必要があります。私はこれに対処するために単純な待機サブルーチンを使用しますが、あなたができるより洗練されたものがあります。
Sub Rename()
Dim ObjAccess As Object, MDB_Address As String, TaskID As Integer
MDB_Address = "C:\example.mdb"
TaskID = Shell("msaccess.exe " & Chr(34) & MDB_Address & Chr(34), vbHide)
Call Wait
Set ObjAccess = GetObject(MDB_Address)
ObjAccess.DoCmd.Rename "NewTableName", 0, "OldTableName"
ObjAccess.Quit
Set ObjAccess = Nothing
End Sub
Sub Wait()
Dim nHour As Date, nMinute As Date, nSecond As Date, waitTime As Date
nHour = Hour(Now())
nMinute = Minute(Now())
nSecond = Second(Now()) + 5
waitTime = TimeSerial(nHour, nMinute, nSecond)
Application.Wait waitTime
End Sub
- 1. VBAでアクセステーブル名を変更する
- 2. VBAへのアクセステーブルの最初の3つのフィールドの名前を変更する
- 3. 使用する複数のpdfファイルの名前を変更する方法データベースvbaをExcelに変換
- 4. ExcelのVBAをコピーする - > Excelの列からWindowsファイルを複数ペーストして名前を変更する
- 5. VBAを使用してExcelの動的列に名前を付ける方法
- 6. VBAを使用してExcelチャートのデータラベル幅を変更する方法は?
- 7. Excel VBAを使用してシステムのデフォルトプリンタを変更する方法は?
- 8. vbaを使用してExcelの列名を変更するには
- 9. Excel VBAでファイルの名前を変更する - GrantAccessToMultipleFiles
- 10. Excel VBAでファイルの名前を変更する
- 11. 名前を変更するとvbaを使用してワークシートがExcelに変換される
- 12. ExcelのVBAをExcelから変更しています - コレクションメンバエラー
- 13. 名前付き範囲を変更する作業Excel VBA
- 14. ExcelからVBAを使用してセルメールテンプレートの背景色を変更します
- 15. Excel内からカルチャを変更する方法VBA
- 16. Excel VBA:名前に基づいてチェックボックスをループする方法
- 17. excel vbaを使用してフォルダ内のすべてのファイルの名前を変更
- 18. Excel VBAマクロ - リンク名を変更する
- 19. VBAを使用してコピーされたExcel式の名前を変更する必要があります
- 20. Excelワークシートの名前を動的に更新する - VBA Excel
- 21. web.xmlを使用してStruts-config.xmlの名前を変更する方法は?
- 22. C#を使用して論理ドライブの名前を変更する方法は?
- 23. Application.FileDialogを使用してVBAでファイルの名前を変更する
- 24. Excelファイルの名前を変更してVBAを使用して相対パスに保存
- 25. VBAを使用して空のExcelの列ヘッダーに名前を割り当てる方法は?
- 26. ExcelでVBAを使用してPowerPointでSlideSizeを変更する
- 27. Excel VBA変更点IBM Notesを使用した電子メールアドレスからの変更?
- 28. Java:DOM名前リストからノード名を変更する方法
- 29. データフレームのタイトル/名前を使用して列名の名前を変更する
- 30. Excel Interop - 名前付き範囲を変更する方法
なぜあなたはしたいですか?それが一時的なデータテーブルでない限り。 –