2012-04-04 15 views
1

TBLCommissionTransactionsのすべてのフィールドを現在のDBで取得し、T:\ folder \ TblBackups.mdbに新しいテーブルを作成し、今日の日付と時刻を新しいテーブル名これは純粋にアーカイブ目的のためです。VBAコード "クエリ入力には少なくとも1つのテーブルまたはクエリが含まれている必要があります"

申し訳ありませんが、VBAに精通していません。私は検索のオンラインから変更した次のコードを持っています。私がそれを実行すると、私は "少なくとも1つのテーブルまたはクエリを含むクエリの入力が必要です"というメッセージが表示されますが、これはstrTableNameで失敗していると思われますが、実際にはわかりません。私はそれと一緒に遊んだし、それを動作させることはできません。私は間違って何をしていますか?

Private Sub BackupTblCommissions_Click() 
Dim strTableName As String 
Dim strFilename As String 
Dim strSQL As String 
strFilename = "T:\folder\TblBackups.mdb" 
strTableName = "TBLCommissionTransactions" & Format(Now(), "yyyymmdd-hhmm") 
strSQL = "SELECT TBLCommissionTransactions.* INTO " & strTableName & " IN " & _ 
strFilename & " FROM TBLCommissionTransactions;" 

CurrentDb.Execute strSQL 
End Sub 
+0

あなたは「います。strSQLは」スクリプト全体を連結されていることを確認するために、コードを強化していますか?アンパサンド(&)が改行文字より前に動作するかどうかは不明です。 "strFilename"の前に移動してください。 – fenone

+0

&_はVBAでは問題ありません。 – Fionnuala

答えて

3

あなたは、いくつかの括弧や引用符が欠落しています

SELECT TBLCommissionTransactions.* 
INTO [TBLCommissionTransactions20120405-0054] IN 'T:\folder\TblBackups.mdb' 
FROM TBLCommissionTransactions; 

だから

strFilename = "'T:\folder\TblBackups.mdb'" 
strTableName = "[TBLCommissionTransactions" & Format(Now(), "yyyymmdd-hhmm" & "]") 
strSQL = "SELECT TBLCommissionTransactions.* INTO " & strTableName & " IN " & _ 
strFilename & " FROM TBLCommissionTransactions;" 
+0

はい、これは素晴らしい、ありがとう、働いた – mleezon

関連する問題