Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

VBA-Code erweitern, aber wie? WICHTIG!!!





Frage

Hallo zusammen! Hab mal wieder eine wichtige Frage zu meiner Daenbank. Ich habe folgenden Code: Private Sub cmdBerechnen_Click() DoCmd.RunSQL "DELETE * FROM Ergebnisse;" Dim db As DAO.Database Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Dim rsResult As DAO.Recordset Dim ktab1 As String Set db = CurrentDb Set rs2 = db.OpenRecordset("Eingabedaten", dbOpenSnapshot) Set rsResult = db.OpenRecordset("Ergebnisse", dbOpenDynaset) On Error GoTo fehlerhandler1 rs2.MoveFirst Do While Not rs2.EOF 'Set rs1 = db.OpenRecordset("tbl" & rs2!Ökoinventar, dbOpenSnapshot) Set rs1 = db.OpenRecordset("tbl" & rs2!Kategorie, dbOpenSnapshot) rs1.MoveFirst Do While Not rs1.EOF rsResult.AddNew rsResult!Ursprung = rs2!Bezeichnung rsResult!Menge = rs2!Wert rsResult!Bezeichnung = rs1!Bezeichnung rsResult!Einheit = rs1!Einheit rsResult!Wert = rs2!Wert * rs1!Wert rsResult.Update rs1.MoveNext Loop rs1.Close weiter1: Set rs1 = Nothing rs2.MoveNext Loop rsResult.Close rs2.Close rs1.Close Set rsResult = Nothing Set rs2 = Nothing Set rs1 = Nothing Set db = Nothing Exit Sub fehlerhandler1: If Err.Number = 3078 Then ' MsgBox "Tabelle tbl" & rs2!Ökoinventar & " fehlt" GoTo weiter1 End If fehlerhandler: MsgBox CStr(Err.Number) & ": " & Err.Description, vbCritical End Sub Das Ganze funktioniert so: Ich habe eine Tabelle Eingabedaten mit den Spalten: (mit Beispiel) Bezeichnung | Einheit | Wert | Kategorie | Ökoinventar Hausmüll | kg | 1000 | Abfall |KVA Zudem gibt es eine Tabelle tblKategorie, mit einer Spalte Kategorie. In dieser Spalte steht bspw. Abfall, Energie, Verkehr usw. Desweiteren gibts dann eben Tabellen, die immer wie folgt lauten: "tblKategorie", also "tblAbfall", "tblEnergie" usw. In diesen Tabellen gibt es u.a. die Spalten Art und Wert. Wenn man die Tabelle "tblAbfall" anschaut stehen beispielsweise 50 Datensätze mit der Art "KVA", dann wieder 50 Datensätze mit der Art "SAVA" usw. drin. Was das Programm bisher macht: Es wählt aus der Tabelle Eingabedaten die Kategorie (bspw. Abfall) und schaut, ob es eine Tabelle "tblAbfall" gibt. Wenn ja, dann multipliziert es den Wert aus Tabelle "Eingabedaten" mit allen Werten in der Tabelle "tblAbfall". !!!Was nicht paßt!!!: Ich möchte, dass das Programm den Wert aus der Tabelle Eingabedaten nur mit den Werten in Tabelle tblAbfall multipliziert, wo das Ökoinventar in Tabelle Eingabedaten der Art in Tabelle tblKategorie (hier "tblAbfall") entspricht. Also wie im Beispiel solle der Wert 1000 (aus Eingabetabelle) mit allen Werten "tblAbfall" multipliziert werden, wo die Art ="KVA" entspricht. Ich weiß nicht, wie ich den Code erweitern muss, daß er das macht. Kann mir jemand helfen? Ist wirklich sehr wichtig! Danke. scrooge

Antwort von



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: