2016-12-05 4 views
0

私は解決方法がわからないコーディングの問題が少しあります。私は同じデータベース内の別のテーブルのフィールド名をレコードとしてテーブルに入れたいと思う。VBAへのアクセスフィールドの名前をレコードとして設定する

私はあなたの例を与える:

を表1 私は、フィールド名を記録する必要があるので、What I have

表2 What I want

表1は、外部ソースからの更新毎週ですVBA言語を使用して2番目のテーブルに記録します。誰かがそれが可能かどうか知っていますか?

は、あなたがベストプラクティスではありませんとの使用を必要としますが、フィールド名として予約語 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

あなたはコードがうまくいきます。しかし、私がそれを実行すると、フィールドの名前ごとに "Enter Parameter Value"というウィンドウが現れます。終わりまでに何も入力する必要がない方法はありますか?レコードはフィールドの名前にとどまりますか? –

+0

あなたの 'Date'フィールドはどのデータ型ですか? – GavinP

+0

それは私が何でもできます。しかし、私は日付\時間または短いテキストを好むでしょう –

関連する問題