2017-05-31 5 views
0

ich eine MS Access-Projekt geerbt haben, die weit über mir ist: Tabelle A hat Daten-Prüfung, so dass jedes Feld in A ist der Name eines Prüfungspunkt und der Wert ist die Punkte verdient für diesen Artikel. Meine Aufgabe besteht darin, diese Ergebnisse in Tabelle B zu konvertieren, die ein Feld für den Elementnamen und ein Feld für den entsprechenden Wert enthält.eine Tabelle in MS Access, basierend auf Spaltennamen aktualisiert

So sieht es wie folgt aus:

Table A: 
    A.Item01 
    A.Item02 
    etc. 

Table B: 
    NameofFieldinTableA 
    Result 

... also, wenn A.Item01 = 1, Ich mag würde, dass Sie in Tabelle B aktualisieren:

NameOfFieldinTableA = Item01 Ergebnis = 1

ich entschuldige mich für nicht in der Lage dies besser zu erklären, aber das hat mich völlig ratlos bekam. Meine einzige Vermutung ist, etwas in VBA zu schreiben?

Jede Hilfe wird geschätzt!

Antwort

0

Ja, Sie VBA einer Schleife durch die Felder in der Tabelle verwenden würde - die Eigenschaft Namen mit dem NameofFieldinTableA und die VALUE-Eigenschaft erhalten das Ergebnis zu erhalten. So würde die VBA in etwa so aussehen:

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

Das funktioniert perfekt, danke! – DrL

Verwandte Themen