Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: dolpho am Januar 10, 2024, 08:06:18

Titel: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 08:06:18
Hallo Access Gemeinde,
jetzt tüftel ich mal wieder an einem Problem, dem ich selbst nicht gewachsen bin :-( und bitte um Mithilfe.

In einem Endlosformular möchte ich alle Datensätze anzeigen oder oder nur die, die genau eine bestimmte Zahl enthalten.
In der Abfrage steht:
"Wie "*" & [Formulare]![frmBoxensuche]![XPal] & "*"

Die Tabelle enthält in dieser Spalte "PalID" nur Ziffern, Momentan von 1 bis 940

Möchte ich jetzt die Palette 1 haben, bekomme ich damit aber auch die Paletten 10, 11, 616, usw.

Kürze ich die Bedingung aber auf "[Formulare]![frmBoxensuche]![XPal]" und das Feld XPal ist leer, zeigt mir das Formular aber nur Fehler in Form von ###.

Wie kann ich das Problem lösen?

Gruß dolpho



Titel: Re: qry nach genauer Zahl oder *
Beitrag von: ebs17 am Januar 10, 2024, 09:01:56
ZitatWie kann ich das Problem lösen?
Als erstes: Verstehen, was Du tust. Und nicht wundern, wenn das passiert, was Du programmierst.

Suche: Palette = 1 statt Palette LIKE "*1*"
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 09:07:38

Das ist mir schon klar; nur wenn ich das Formular öffne und in dem Suchfeld steht nichts drin, wird auch NICHTS angezeigt - und das ist mein Problem
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: ebs17 am Januar 10, 2024, 09:10:17
Kriterium soll alle Datensätze bringen (https://www.donkarl.com?FAQ3.14)
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 09:50:08
Vielen Dank!

Das war die Lösung:

[Forms]![frmBoxensuche]![XPal] Oder [Forms]![frmBoxensuche]![XPal] Ist Null

Gruß dolpho
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 11:15:17
Leider war das nur die halbe Lösung.
Beim Öffnen funktioniert der Befehl sauber und es ist alles in Ordnung.

Lösche ich aber die Suchfelder mit Me.XPal =""
dann bekomme ich wieder keine Datensätze und access quittiert mit
Laufzeitfehler 3021 Kein aktueller Datensatz

Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 11:24:37
lösche ich das Feld mit der [Del] Taste funktioniert es wieder.

Was muss ich denn in VBA eingeben, dass NICHTS drin steht?
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: MzKlMu am Januar 10, 2024, 11:36:16
Hallo,
mit "" ist das Feld nicht leer, es steht ein Nullstring drin. Zum Leeren muss Null (nicht die Zahl 0) zugewiesen werden
Me.XPal = Null
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 10, 2024, 11:40:10
Klasse, jetzt hat es geklappt!

Danke!!!


Zitat entfernt. Bitte keine vollständigen Beiträge zitieren. MzKlMu
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 20, 2024, 18:23:59
Sorry, jetzt muss ich nochmal nachhaken:

Gleiche Situation, Formular mit Abfrage in das Formular.
Das Textfeld klappt super!
Was muss ich aber in einem Kombinationsfeld eintragen damit es mir die Abfrage "jungfräulich" also ohne Daten präsentiert?

Me.cboFeld = ""  und
Me.cboFeld = Null und
Me.cboFeld = "0" oder 0

funktioniert nicht, zumal es ein In einen Tabellenwert eingreift, der auch "0" enthalten kann.

Für eine Auskunft, die meinen Geist gerade rückt ;-) wäre ich sehr dankbar!

Gruß dolpho
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: PhilS am Januar 20, 2024, 18:36:36
Zitat von: dolpho am Januar 20, 2024, 18:23:59Me.cboFeld = ""  und
Me.cboFeld = Null und
Me.cboFeld = "0" oder 0

funktioniert nicht, zumal es ein In einen Tabellenwert eingreift, der auch "0" enthalten kann.

Zu der Frage möchte ich auf deinen eigenen Kommentar verweisen:

Zitat von: dolpho am Januar 10, 2024, 09:50:08Das war die Lösung:
[Forms]![frmBoxensuche]![XPal] Oder [Forms]![frmBoxensuche]![XPal] Ist Null
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: Beaker s.a. am Januar 21, 2024, 12:06:14
Hallo dolpho,
ZitatWas muss ich aber in einem Kombinationsfeld eintragen damit es mir die Abfrage "jungfräulich" also ohne Daten präsentiert?
Me.cboFeld = Nullist schon richtig, nur bekommt das Formular bzw. die Datenbasis davon nichts
mit, musst du also erneut abrufen beim Ereignis "Nach Aktualisierung", -
Prozedur "cboFeld_AfterUpdate" mit
Me.RequeryOder du setzt einfach einen Filter, der immer False ergibt
Me.Filter = "0=1"
Me.FilterOn = True

grus ekkehard
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 21, 2024, 14:56:05
Hallo,

@PhilS das Zitat bezieht sich auf ein textfeld und dort funktioniert es super
jetzt will ich aber ein cbo leeren.

@ekkehard den Requery gibt es bei mir aber die Liste danach bleibt leer.
Es handelt sich um die Zeile, die ich mal rausgerückt habe habe und XSta ist eine combobox

setze ich aber deinen Filter ein, bekomme ich Laufzeitfehler bzw. kein Ergebnis

Private Sub cmdDel_Click()
                    Me.Filter = "1=0"
                    Me.FilterOn = True
Me.XBez = ""
Me.XBox = ""
Me.XCod = ""
Me.XDat = ""
Me.Xkrz = ""
Me.XNam = ""
Me.XPal = Null
Me.XSAP = ""
    Me.XSta = Null
Me.XStT = ""
Me.Requery
DoCmd.Close acForm, "frmListenBox"
End Sub
Titel: Re: qry nach genauer Zahl oder *
Beitrag von: dolpho am Januar 21, 2024, 16:11:10
Jetzt nochmal die Auflösung der Sache:

inzwischen ist der Fehler behoben, den ich scheinbar selbst verursacht hatte.
Zeitgleich stand im Formular der Code:

Private Sub Form_Load()
Me.XSta = 4
Me.Requery
End Sub

und im cboFeld XSta als Standardwert "4" eingetragen

und das hat wohl den Fehöer verursacht.

Nochmals danke! an alle