Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: MaxP am März 27, 2024, 13:00:31

Titel: Dynamische Ausgabe von Ergebnissen
Beitrag von: MaxP am März 27, 2024, 13:00:31
Hallo zusammen,
ich habe ein großes Problem mit einer selbst entwickelten DB, an der ich bereits seit 1,75 Jahren bastele. Diese soll der Ermittlung von Verkehrswerten von Grundstücken dienen. Ich war fast fertig damit, als mir auffiel, das was fehlt. Diese Änderungen waren allerdings erheblich:
Vorher gab es nur ein Grundstück, auf das sich alles bezog. Nun habe ich noch 3 Ebenen
2. Ebene: Bewertungseinheit (BWE)
3. Ebene: Teilgrundstück (TG)
4. Ebene: Grundstücksteilbereich (GTB))
dem Grundstück untergeordnet. Diese Unterebenen sind dazu da, um das (Gesamt-)Grundstück (1. Ebene) aufzuteilen, um es differenziert bewerten zu können.
Zur Verdeutlichung hier ein komplexes Beispiel der zugehörigen IDs (je 1:n) zur Grundstücks-ID 3:

GST--BWE--TG--GTB
3-----1------8----2
3-----1------8----25
3-----2-----34----26
3-----2-----34----27
3-----2-----56----28

Dabei habe ich entschieden, egal ob ein Grundstück aufgeteilt werden muss oder nicht, programmtechnisch werden immer alle Ebenen angelegt, da z.B. nur der GTB mit einem Eurowert bewertet werden kann. Dem TG sind evtl. Bebauungen zugeordnet und besitzt daher auch einen Teil-Verkehrswert, der zum Gesamt-Verkehrwert führt.

Die Tabellen und Eingabeformulare sind soweit überarbeitet. Nun bin ich bei der Ausgabe in einer Sackgasse. Ich habe einen VBA-Code, der bisher nur das Gesamtgrundstück (GST) behandelt. Ziel des Codes ist es, Word-Serienbrief-Dokumente in Word auszuwerten und zusammenzuführen. Das hat auch bisher funktioniert. Die Pfade werden in der Abfrage qry_GAAufbau2 gesammelt.
Durch die Einfügung der o.g. Ebenen müsste der Code dynamisch reagieren. D.h. es müssten Prozeduren u.U. mehrfach durchlaufen werden. Da stehe ich nun auf dem Schlauch (wahrscheinlich bin ich inzwischen betriebsblind geworden)
Hier der entscheidene Teil des Codes:
    Dim Pfad1 As String, Pfad2 As String
    Dim ZPfadRtf As String, ZPfadDoc As String, QPfad As String, Makro As Integer
    Dim Pfadx As String, Pfady As String, ID As Integer, Endg As String, Uspr As String, Aktual As Integer
    Dim Word As Object
   
    Pfad1 = DLookup("[txt_Pfad]", "[tbl_TXTPfadeNeu]", "[TXT_ID] = 1")
    Pfad2 = DLookup("[txt_Pfad]", "[tbl_TXTPfadeNeu]", "[TXT_ID] = 2")
   
    Dim db As DAO.Database
    Set db = CurrentDb
    Dim rs As DAO.Recordset
    Set rs = db.OpenRecordset("SELECT * FROM qry_GAAufbau2")
  
    Do Until rs.EOF
   
    Pfadx = rs.Fields("txt_Pfad").Value
    Pfady = rs.Fields("txt_Pfad").Value
    ID = rs.Fields("Doku").Value
    Endg = rs.Fields("TXT_End").Value
    Uspr = rs.Fields("TXT_Ursprung").Value
    Aktual = rs.Fields("TXT_Aktual").Value
    Makro = rs.Fields("TXT_Makro").Value

... 'Hier erfolgt die Portierung der einzelnen Serienbriefe nach Word

    rs.MoveNext
    Loop
    rs.Close

Auf der anderen Seite holen sich die Serienbriefe die Daten aus div. Ausgabe-Abfragen. Diese müssen nun je nach Erfordernis per VBA-Code nach GSt, BWE oder TG gefiltert werden. (Vorher waren sie als Kriterium nur nach GSt gefiltert).

Hat jemand eine grobe Idee, ob und wie ich zum Ziel komme kann? Oder mich auf unüberwindbare Fallstricke hinweisen kann?

Gruß
Max
Titel: Re: Dynamische Ausgabe von Ergebnissen
Beitrag von: MzKlMu am März 27, 2024, 14:04:46
Hallo,
zeige mal ein Bild des Beziehungsfensters.
Titel: Re: Dynamische Ausgabe von Ergebnissen
Beitrag von: MaxP am März 27, 2024, 14:37:24
Hier die Beziehungenimage486.png

Gruß
Max