2016-12-05 1 views
0

해결 방법을 모르는 코딩 문제가 있습니다. 같은 데이터베이스에 다른 테이블의 필드 이름을 레코드로 저장하려고합니다.VBA 액세스 필드 이름을 레코드로 사용

내가 당신에게 예를 줄 것이다 :

표를 What I have

표 2 What I want

그래서 나는 같은 필드 이름을 기록 할 필요가 표 1은 외부 소스에서 업데이트 (매주) VBA 언어를 사용하여 두 번째 테이블에 기록하십시오. 가능한지 아는 사람 있습니까?

당신은 최선의 방법이 아닙니다과의 사용을 필요로하면 필드 이름으로 예약어 Date을 사용했습니다이

Dim db As Database 
Dim fld As Field 
Dim sql As String 
Set db = CurrentDb 

For Each fld In db.TableDefs("YourTable").Fields 

    sql = "Insert into YourSummaryTable([Date], Hours) select '" & fld.Name & "', sum([" & fld.Name & "]) as s from YourTable" 
    DoCmd.RunSQL sql 


Next fld 

주처럼 뭔가를 할 수

답변

1

사전에 감사합니다 쿼리에서 대괄호.

+0

안녕하세요. 코드가 잘 작동합니다. 그러나 그것을 실행할 때 필드의 각 이름에 대해 "매개 변수 값 입력"창이 나타납니다. 끝까지 아무것도 입력 할 필요가없는 방법이 있습니까? 기록은 필드 이름으로 유지됩니까? –

+0

'날짜'필드는 어떤 데이터 유형입니까? – GavinP

+0

그것은 내가 원하는대로 될 수 있습니다. 하지만 날짜 \ 시간 또는 짧은 텍스트를 선호합니다 –

관련 문제