Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Youssef am Juni 19, 2015, 16:17:44

Titel: Unterformular Daten aktualisieren
Beitrag von: Youssef am Juni 19, 2015, 16:17:44
Hallo,
hat man ne Idee wie ich in  einem Unterformular alle Daten zeige, nachdem ich die Daten gefiltert habe ?
LG
Youssef
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: MaggieMay am Juni 19, 2015, 22:15:44
Hallo,

das Gegenteil von "Filter setzen" ist "Filter entfernen". Wie filterst du das Unterformular? Kehre die Aktion doch einfach um.
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Hondo am Juni 20, 2015, 09:50:13
Sollte einfach mit Me.FilterOn = False funktionieren.

Gruß Andreas
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Youssef am Juni 20, 2015, 14:50:13
mei Code für den Filter schaut so aus :
Private Sub cboDurchmesserType_AfterUpdate()
    Call SearchCriteria
End Sub

Private Sub cboWerkstoffgroupeIDType_AfterUpdate()
Call SearchCriteria
End Sub

Private Sub cboWerkstoffIDType_AfterUpdate()
Call SearchCriteria
End Sub

Private Sub cboWerkstoffnameType_AfterUpdate()
Call SearchCriteria
End Sub
'Filter : Sortieren nach Durchmesser,Material,...
Function SearchCriteria()
Dim DurchmesserType, WerkstoffIDType, WerkstoffnameType, WerkstoffgroupeIDType As String
Dim task, strCriteria As String
       
If IsNull(Me.cboDurchmesserType) Then
    DurchmesserType = "[VALNUM] like '*'"
Else
    DurchmesserType = "[VALNUM] = " & Str(Me.cboDurchmesserType)
End If


If IsNull(Me.cboWerkstoffIDType) Then
    WerkstoffIDType = "[MATERIALID] like '*'"
Else
    WerkstoffIDType = "[MATERIALID] = '" & Me.cboWerkstoffIDType & "'"
End If


If IsNull(Me.cboWerkstoffnameType) Then
    WerkstoffnameType = "[MATERIALNAME] like '*'"
Else
    WerkstoffnameType = "[MATERIALNAME] = '" & Me.cboWerkstoffnameType & "'"
End If


If IsNull(Me.cboWerkstoffgroupeIDType) Then
    WerkstoffgroupeIDType = "[MATERIALGROUPID] like '*'"
Else
    WerkstoffgroupeIDType = "[MATERIALGROUPID] = '" & Me.cboWerkstoffgroupeIDType & "'"
End If

strCriteria = DurchmesserType & "And" & WerkstoffIDType & "And" & WerkstoffnameType & "And" & WerkstoffgroupeIDType
task = "Select * from Filter where " & strCriteria
Me.Filter_Unterformular2.Form.RecordSource = task
Me.Filter_Unterformular2.Form.Requery

End Function


ich will nach dem Sortieren von Daten, zb auf Button Clicken , alle Daten zurück   im Unterformular zeigen lassen
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Hondo am Juni 20, 2015, 17:24:15
Wo ist dein Problem? Ich hab dir doch schon die Lösung genannt?
Was steckt in der Prozedur SearchCriteria drin?

Andreas
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Youssef am Juni 20, 2015, 18:10:18
einen Filter
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Hondo am Juni 20, 2015, 19:01:47
Code?
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: MaggieMay am Juni 21, 2015, 03:30:37
Hallo,

zunächst einmal:
eine Abfrage oder Tabelle solltest du nicht "Filter" nennen, das ist ein reserviertes Wort in Access.

Außerdem solltest du besser das Unterformular tatsächlich filtern anstatt ihm eine neue RecordSource zuzuweisen:Me.Filter_Unterformular2.Form.Filter = strCriteria
Me.Filter_Unterformular2.Form.FilterOn = True
Dann lässt sich der Filter nämlich leicht wieder entfernen, und zwar mit:Me.Filter_Unterformular2.Form.FilterOn = False

BTW:
- Vor und nach den ANDs fehlen jeweils Leerzeichen.
- Nach Zuweisung der RecordSource ist ein Requery nicht erforderlich.

@Hondo:
ZitatCode?
Der Code der Function wurde bereits mit dem übrigen Code gepostet.
Titel: Re: Unterformular Daten aktualisieren
Beitrag von: Hondo am Juni 21, 2015, 08:41:16
Oh bin ich blind, ich hätte das Codefenster Scrollen sollen.....