2012-04-04 2 views
1

현재 데이터베이스의 TBLCommissionTransactions에있는 모든 필드를 가져 와서 T : \ folder \ TblBackups.mdb에 새 테이블을 만들고 오늘 날짜와 시간을 새로운 테이블 명 이것은 순전히 아카이브 목적입니다.VBA 코드 "쿼리 입력에 적어도 하나의 테이블 또는 쿼리가 포함되어야합니다"

죄송합니다. VBA에 정통하지 않습니다. 나는 다음과 같은 코드를 검색 온라인에서 수정했다. 내가 그것을 실행하면 "쿼리 입력 적어도 하나의 테이블이나 쿼리를 포함해야합니다"메시지를 얻을 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

관련 문제