2016-12-05 59 views
0

我遇到了一些我不知道如何解决的编码问题。我想在表中记录同一数据库中另一个表的字段名称。访问VBA将字段的名称作为记录

我给你举个例子:

表1 What I have

表2 What I want

表1是从外部源每周更新,所以我需要记录的字段名称为使用VBA语言记录在第二个表中。有人知道是否有可能?

预先感谢您

回答

1

你可以做这样的事情

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 

注意,你已经使用了保留字Date作为一个字段名,这是不是最好的做法,并要求使用查询中的方括号。

+0

嘿你是代码工作得很好。但是,当我运行它时,会出现一个窗口,其中每个字段的名称都有“输入参数值”。有没有一种方法我不需要在最后输入任何内容,并且记录保留了域的名称? –

+0

你的'Date'字段是什么数据类型? – GavinP

+0

它可以是我想要的任何东西。但我更喜欢日期\时间或短文本 –