Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Problem mit Suchmaske

Begonnen von Carlos_C, Juni 10, 2015, 16:50:18

⏪ vorheriges - nächstes ⏩

MaggieMay

#15
ZitatKonntest Du den Code testen?
Ja, mir ist durchaus klar, dass die Sache noch nicht rund ist, aber ich hatte anfangs noch die Hoffnung, dich mit hilfreichen Hinweisen und Beispielen zur Eigeninitiative motivieren zu können, doch wo Programmierkenntnisse gänzlich fehlen, sind derartige Erwartungen wohl auf Sand gebaut.

Also halten wir mal fest, dass die Auswahl einer BerichtsNr ein eindeutiges und nicht ergänzbares Kriterium darstellt - OK?

Daraus folgt:
- auf dieser Grundlage könnten in besagtem Fall also alle anderen Kriterien vernachlässigt werden.
- bei Auswahl der Tests muss die Abfrage "qryBerichteTests" einbezogen werden.

In der neuen Version der Beispiel-DB ist beides berücksichtigt.

Die Erweiterung auf mehrere Tests ist natürlich möglich - kostet dich aber mindestens eine Einladung zur Pizza Quattro Stagione - wo auch immer! ;-)

PS:
Das so gefilterte Unterformular sollte nicht editierbar sein!
Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie, habe Deinen Code getestet. Es klappt alles außer das mit dem Feld "Tests". Das System meckert und markiert die Zeile:

Me.ufrmBerichtSuche.Form.FilterOn = True

Gruß, Carlos
Gruß,

Carlos

Carlos_C

Hallo Maggie, hatte Deinen letzten Beitrag übersehen. Wow, jetzt funktioniert es super! Wo wohnst Du eigentlich? Wenn Du in Karlsruhe oder Umgebung wohnst, lade ich Dich gerne zu einer Pizza ein! =)

Ich versuche jetzt, Dein Konzept in meine Datenbank zu implementieren und melde mich wieder.

Danke!

Carlos
Gruß,

Carlos

MaggieMay

ZitatWenn Du in Karlsruhe oder Umgebung wohnst
Da hast du aber Glück, das ist doch etwas zu weit für mich.  ;D
Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie, ich habe einen kleinen Fehler gefunden: Und zwar wenn Du einen Test nimmst, der nicht vorkommt (z.B. Test10), werden im UFO alle Berichte gezeigt. In so einem Fall müßte als Ergebnis nichts rauskommen, wie zum Beispiel wenn Du als Prüfer "Klaus Bauer nimmst". Wie kann man denn den Code ändern?

Gruß,

Carlos

MaggieMay

Hi,

das kannst du mit folgender Code-Erweiterung erreichen:
            If Len(strKrit) > 0 Then
                strFilter = strFilter & " AND IDBericht IN (" & Mid(strKrit, 2) & ")"
            Else
                strFilter = " AND False"
            End If

Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie, wo genau soll ich die 5 Zeilen rein?
Gruß,

Carlos

Carlos_C

Ich hab´s (nach langem Rumprobieren) gefunden. Also die Ergänzung kommt nach dem:

        If Not IsNull(Me.cbo_Test) Then
            Set rs = CurrentDb.OpenRecordset("Select IDBericht From qryBerichteTests Where lngtest.value = " & Me.cbo_Test & "")
            Do While Not rs.EOF
                strKrit = strKrit & "," & rs!IDBericht
                rs.MoveNext
            Loop
            If Len(strKrit) > 0 Then _
                strFilter = strFilter & " AND IDBericht IN (" & Mid(strKrit, 2) & ")"
Gruß,

Carlos

MaggieMay

Wenn du einmal ganz genau hinschaust wirst du erkennen, dass die fünf Zeilen diese beiden ersetzen sollen:
            If Len(strKrit) > 0 Then _
                strFilter = strFilter & " AND IDBericht IN (" & Mid(strKrit, 2) & ")"


...und benutze bitte auch die Code-Tags, zu finden im Antworten-Fenster, nicht bei der "Schnellantwort".
Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie,

ich muss mein Suchformular mit weiteren Feldern ergänzen. Es kommen noch:

- 5 Felder, die aus Felder der Tabelle tblBerichte kommen, wo mehrere Werte eingegeben werden können (genau wie beim Feld "Test"),

- 2 Datumsfelder (also ein Feld DatumVon und ein Feld DatumBis), und

- 1 Feld Kommentare (dies ist in der Tabelle tblBerichte ein Textfeld, das aus keiner Abfrage kommt. Hier werde ich versuchen, eine Suche mit Schlagwörter zu realisieren.

Ich werde mit dem ersten Thema anfangen, also die 5 weiteren Felder, die aus Felder der Tabelle tblBerichte kommen, wo mehrere Werte eingegeben werden können (genau wie beim Feld "Test"). Wenn ich irgendwie nicht weiter komme, würde ich gerne wieder auf Dich zukommen (über dieses Forum).

Gruß,

Carlos

MaggieMay

Hi,

sind diese fünf Felder alle Mehrwertfelder?

Wie das mit der Datumsabfrage gelöst werden kann, kannst du dir hier mal anschauen:
Datensätze über kombinierte Kriterien in mehreren Spalten filtern
Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie,

ja, alle 5 Felder sind genau wie das Feld "Test", also Mehrwertfelder in der Tabelle tblBerichte aber ein Kombifeld im Suchformular. Also im Suchformular kann man nur 1 Wert eingeben.

Wie gesagt, sie sind alle 5 Felder genau der Fall wie mit dem Feld "Tests".

Wer Du einen Tipp hast, immer gerne. Sonst würde ich versuche, anhand der Zeilen im Code, die das Feld "Tests" betreffen, den Code für diese 5 Felder zu erweitern. Erst mit einem Feld und dann weiter mit den anderen.

Gruß,

Carlos

MaggieMay

Ich denke, das du es schaffen solltest, das Beispiel mit "Tests" auf die anderen Felder zu übertragen. ;-)

Zur Unterstützung der Mehrfachauswhl hätte ich noch eine Idee, und zwar könnte man dafür eine Hilfstabelle einsetzen, so dass das Hauptformular doch gebunden sein könnte und dann verhalten die Kombifelder sich ja bekanntlich anders.
Was meinst du dazu?
Freundliche Grüße
MaggieMay

Carlos_C

Hallo Maggie, jeder Vorschlag von Dir ist eine Herausforderung für mich =) Ich versuche, es umzusetzen und berichte Dir dann, wie es mir gegangen ist.

Wish me luck...
Gruß,

Carlos

MaggieMay

#29
Ich probiere das selbst auch mal aus, rein interessehalber.
Was aber nicht bedeutet, dass du es nicht auch tun solltest. ;-)

Nachtrag:
Ich bin so begeistert von dieser Lösung, dass ich sie nicht länger für mich behalten kann!  ;D
Freundliche Grüße
MaggieMay