VBA에서, 당신이 할 수있는이 같은 당신의 번호 테이블 이름을 반복 ...
Dim strTable As String
Dim i As Long
For i = 0 To 20
strTable = "table_" & CStr(i)
Debug.Print strTable
Next i
것
하지만 각 테이블 이름을 인쇄하는 것 외에 다른 작업을 수행하려고합니다. 따라서 귀하가 이미 CREATE TABLE
성명서를 작성했다고 가정 해보십시오. 아마
CREATE TABLE table_name (
field_1 INTEGER PRIMARY KEY,
field_2 TEXT(255));
그래서 당신은 당신의
For
루프를 때마다
strTable
의 현재 값으로
table_name
교체 문자열 변수에 그 DDL 문을로드하고 DDL 문을 실행할 수 있습니다 ... 다음과 같습니다.
당신이 이전 Access 버전을 사용하는 경우
Replace()
기능을 먼저 액세스 2000과 함께 사용할 수되었다고
Dim strTable As String
Dim i As Long
Dim strSql As String
strSql = "CREATE TABLE table_name (" & vbCrLf & _
"field_1 INTEGER PRIMARY KEY," & vbCrLf & _
"field_2 TEXT(255));"
For i = 0 To 20
strTable = "table_" & CStr(i)
CurrentProject.Connection.Execute Replace(strSql, _
"table_name", strTable)
Next i
, 당신은 당신의 SQL 문자열을 처리 할 수있는 다른 방법이 필요합니다.
ALTER TABLE
문을 실행하려는 경우 대신 수행 할 수 있습니다.
그래서 나는 VBA로 당신이 원하는 것을 쉽게 할 수 있다고 생각합니다. 그러나 나는 이이되어야하는지 확신 할 수 없습니다. 동일한 구조를 가진 여러 테이블은 일반적으로 디자인 오류를 알리는 빨간색 플래그입니다. 귀하의 경우에 설계상의 오류라고 결론 지을 증거는 없습니다. OTOH, 그것의 결론은 이 아니며,의 설계 오류입니다. ;-)
+1. 내가 할 수만 있다면 마지막 단락을 추가하기 위해 여분의 upvote를 추가 할 것입니다. :-) –
@KenWhite 마지막 단락이이 대답을 제출할 진정한 동기였습니다. :-) 건배. – HansUp
철저한 답변을 주셔서 감사합니다 :-) 그리고 마지막 단락에 대해서는 올바른 구조인지 잘 모릅니다. 그러나 이것이 올바른 것인지 물어볼 수는 없습니다. 동일한 필드와 행을 액세스 할 수있는 동일한 테이블을 Excel에서 구성하고 있습니다. 모든 데이터를 하나의 테이블에 넣을 수는 있지만 큰 스프레드 시트가 하나만 있습니다. – user1290426