Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Formular das dynamische Daten darstellt





Frage

Hallo, ich möchte gerne ein Formular erzeugen, dass dynamische Daten darstellt, die in einem anderen, geöffneten, Formular ausgewählt werden. Wäre dankbar für jede Hilfe Grüsse

Antwort 1 von Armin


Hallo,

... zum Beispiel indem Du mit den Feldwerten aus dem "Auswahlformular einen SQL String zusammensetzt, der wiederum abgespeichert und in dem neuen Formular als Datenquelle dient:




                                 
Function SetFormFilter(strQueryName As String, strFilter As String)

    ' IN
    ' strQueryName:     String: Name of base query as listed in Access query view
    ' strFilter:        String:  "WHERE( <filter condition> )"
    '                           Entries of table
    
    ' OUT
    ' query in database named as: strQueryName_Filter
     
     
    Dim dbs As Database
    Dim qryDef As QueryDef
    Dim strQuery As String  ' SQL text of query
    Dim lng As Long
    Dim str As String
    
    Set dbs = CurrentDb()
    
    ' 1. Set Filter condition
    ' XXX an dieser Stelle statt durch Parameter mit String Operationen den SQL String zusammensetzen.
        
    
    ' 2. add filter to existing query as stored in database
    strQuery = dbs.QueryDefs(strQueryName).SQL
    
    lng = Len(strQuery) - 3
    str = Left(strQuery, lng)
    
    strQuery = str & " " & strFilter & ";"
    
    
    ' 2.1 Delete previous query, (error handling if not yet existing query ...)
    On Error Resume Next
        DoCmd.DeleteObject acQuery, strQueryName & "_Filter"
    On Error GoTo 0
    
    ' 2.2 create new query with filter
    Set qryDef = dbs.CreateQueryDef(strQueryName & "_Filter", strQuery)
    
    ' 2.3 reflect changes on form
    ' is done in calling event
    
    
    ' 2.4 Clean up
    qryDef.Close
    dbs.Close
    
End Function




(Den Input Parameter brauchts nicht, ich habe einfach Code kopiert...)

Der Vorteil liegt m.e. darin, das die Formular Filter einwandfrei funktionieren.

Gruesse Armin

Antwort 2 von M.Zucht

vielen dank für deine antwort.
Echt klasse =)

grüsse

Antwort 3 von M.Zucht

gäbe es noch eine andere möglichkeit das in access zu realiesiren ohne sql unterstüzung ?

grüsse

Antwort 4 von Armin

hi, weiss ich nicht... Armin