2017-05-31 50 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