2017-05-31 9 views
0

私はMS Accessプロジェクトを継承しました。テーブルAには試験データがあるので、Aの各フィールドは試験項目の名前であり、値はポイントですそのアイテムで獲得した私の仕事は、その結果を表Bに変換することです。表Bには項目名に1つのフィールドがあり、対応する値に1つのフィールドがあります。列名に基づいて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

関連する問題