2017-05-31 88 views
0

我继承了超出我的MS Access项目:表A具有检查数据,因此A中的每个字段都是检查项目的名称,值是点获得该项目。我的任务是将这些结果转换为表B,其中有一个字段为项目名称,一个字段为相应的值。根据列名更新MS Access中的表格

所以它看起来像这样:

Table A: 
    A.Item01 
    A.Item02 
    etc. 

Table B: 
    NameofFieldinTableA 
    Result 

...因此,如果A.Item01 = 1,我想的是为更新到表B:

NameOfFieldinTableA = Item01 结果= 1

我很抱歉无法更好地解释这一点,但这让我完全陷入了沉思。我唯一的猜测是在VBA中写些东西?

任何帮助表示赞赏!

回答

0

是的,你会使用VBA遍历表中的字段 - 使用NAME属性获取NameofFieldinTableA和VALUE属性以获取结果。所以VBA看起来像这样:

Dim rsA as dao.recordset 
Dim rsB as dao.recordset 
dim fld as dao.field 

Set rsA = CurrentDB.openRecordset("TableA", dbopendynaset) 
Set rsB = CurrentDB.openRecordset("TableB", dbopendynaset) 

Do Until rsA.EOF 
    For each fld in rsA.Fields 
     rsB.AddNew 
     rsB!NameofFieldinTableA = fld.Name 
     rsB!Result = fld.Value 
     rsB.Update 
    Next 
    rsA.MoveNext 
Loop 

rsA.close 
rsB.Close 

Set rsA = Nothing 
Set rsB = Nothing 
+0

这很好用,谢谢! – DrL