collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 66
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14069
  • stats Beiträge insgesamt: 67526
  • stats Themen insgesamt: 9099
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Formularfelder unabhängig voneinander ausfüllen können  (Gelesen 2564 mal)

Offline 123Studentin

  • Newbie
  • Beiträge: 8
Formularfelder unabhängig voneinander ausfüllen können
« am: Januar 28, 2015, 16:00:29 »
Hallo,
ich habe über eine Abfrage ein Formular erstellt. Dort existieren die 2 Kombinationsfelder [cbxSchalen] und [cbxGattungen]. Bisher habe ich es schon hinbekommen, dass man entweder nach Schalen suchen kann, oder nach den Gattungen und nicht beides angeben muss.
Als drittes Feld gibt es das Textfeld [txtLänge]. Wie muss ich das in meinen SQL-Code einbetten, damit ich letztendlich entweder die Schalen, Gattungen oder die Länge eingeben kann.
Bis jetzt muss ich eine Länge eingeben, um die Ergebnisse zu erhalten.


Hier ist der aktuelle SQL-Code
SELECT tblArten.FGTyp3, tblArten.oZ, tblSchalen.schalTypus, tblGattungen.gatName, tblArten.artName, tblArten.Bild.FileData, tblArten.LängeMin, tblArten.LängeMax, tblArten.BreiteMin, tblArten.BreiteMax, tblArten.StreifenMin, tblArten.StreifenMax
FROM tblSchalen INNER JOIN (tblGattungen INNER JOIN tblArten ON tblGattungen.gatID = tblArten.artgatIDRef) ON tblSchalen.schalID = tblGattungen.gatschalIDRef
WHERE (((tblArten.FGTyp3)=True) AND ((tblArten.oZ)=True)
AND ((tblSchalen.schalTypus) Like "*" & [Formulare]![frm_qryBestimmung]![cbxSchalen] & "*" Or (tblSchalen.schalTypus) Is Null)
AND ((tblGattungen.gatName) Like "*" & [Formulare]![frm_qryBestimmung]![cbxGattung] & "*" Or (tblGattungen.gatName) Is Null)
AND ((tblArten.LängeMin)<=[Formulare]![frm_qryBestimmung]![txtLänge]+1)
AND ((tblArten.LängeMax)>=[Formulare]![frm_qryBestimmung]![txtLänge]+1))

Danke schon mal im Voraus
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23445
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #1 am: Januar 28, 2015, 16:07:18 »
Hallo,


eigentlich beantwortest Du die Frage ja selber...

Nimm statt "And" die "Or"-Verknüpfung in der Abfrage, richtige Klammersetzung ist entspr. der gewünschten Logik erforderlich....

Offline 123Studentin

  • Newbie
  • Beiträge: 8
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #2 am: Januar 28, 2015, 16:26:11 »
Die Beantwortung is nicht so richtig des Problem, eher die Umsetzung in SQL (bin erst kürzlich damit in Kontakt gekommen)
Hab mal versucht des OR einzubauen.... (vorerst mal nur für die Kombinationsfelder), allerdings muss da irgendwo ein Fehler drin sein, da er mir jetzt meine komplette Datenbank pratkisch als Abfrage ausgibt und ich nicht mehr filtern kann.


SELECT tblArten.FGTyp3, tblArten.oZ, tblSchalen.schalTypus, tblGattungen.gatName, tblArten.artName, tblArten.Bild.FileData, tblArten.LängeMin, tblArten.LängeMax, tblArten.BreiteMin, tblArten.BreiteMax, tblArten.StreifenMin, tblArten.StreifenMax
FROM tblSchalen INNER JOIN (tblGattungen INNER JOIN tblArten ON tblGattungen.gatID = tblArten.artgatIDRef) ON tblSchalen.schalID = tblGattungen.gatschalIDRef
WHERE (((tblArten.FGTyp3)=True) AND ((tblArten.oZ)=True)
OR ((tblSchalen.schalTypus) Like "*" & [Formulare]![frm_qryBestimmung]![cbxSchalen] & "*")
OR ((tblGattungen.gatName) Like "*" & [Formulare]![frm_qryBestimmung]![cbxGattung] & "*"))

diese Bedingung muss allerdings immer gelten:
(((tblArten.FGTyp3)=True) AND ((tblArten.oZ)=True)
 

Offline MaggieMay

  • Global Moderator
  • Access Guru
  • *****
  • Beiträge: 3109
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #3 am: Januar 28, 2015, 16:50:23 »
Hallo,
diese Bedingung muss allerdings immer gelten:
(((tblArten.FGTyp3)=True) AND ((tblArten.oZ)=True)
dann ersetze das erste OR durch ein AND und setze geeignete Klammern:WHERE (
((tblArten.FGTyp3)=True) AND ((tblArten.oZ)=True) AND
((tblSchalen.schalTypus) Like "*" & [Formulare]![frm_qryBestimmung]![cbxSchalen] & "*" OR
 (tblGattungen.gatName) Like "*" & [Formulare]![frm_qryBestimmung]![cbxGattung] & "*")
)
Freundliche Grüße
MaggieMay
 

Offline 123Studentin

  • Newbie
  • Beiträge: 8
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #4 am: Januar 28, 2015, 16:58:48 »
Danke für deine Antwort,
habs jetzt grad so ausprobiert und wieder des Problem dass ich erst die gefilterte Abfrage nach der Eingabe in [cbxGattungen] erhalte. Nur nach Eingabe in [cbxSchale] ein Ergebnis zu haben funktioniert leider nicht.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23445
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #5 am: Januar 28, 2015, 17:02:26 »
Hallo,

dann musst Du noch zusäzlich die "leeren" anderen Felder berücksichtigen:

....   or [Forms]![frm_qryBestimmung]![cbxSchalen] is Null ....

Offline 123Studentin

  • Newbie
  • Beiträge: 8
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #6 am: Januar 28, 2015, 17:37:05 »
so, erneut ausprobiert und es scheint mit euren Tipps  leider nicht zu funktionieren.

Habs jetzt allerdings mit diesem Code hingebracht:
WHERE (
((tblArten.FGTyp3)=True) OR ((tblArten.oZ)=True)
)

AND ((tblSchalen.schalTypus) Like "*" & [Formulare]![frm_qryBestimmung]![cbxSchalen] & "*" Or (tblSchalen.schalTypus) Is Null)
AND ((tblGattungen.gatName) Like "*" & [Formulare]![frm_qryBestimmung]![cbxGattung] & "*" Or (tblGattungen.gatName) Is Null)

AND (
(((tblArten.LängeMin)<=[Formulare]![frm_qryBestimmung]![txtLänge]+1)
AND ((tblArten.LängeMax)>=[Formulare]![frm_qryBestimmung]![txtLänge]+1)) Or ([Formulare]![frm_qryBestimmung]![txtLänge] is Null)
)







« Letzte Änderung: Januar 28, 2015, 17:52:05 von 123Studentin »
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23445
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #7 am: Januar 28, 2015, 17:45:07 »
Hallo,

und was ist dann das :

([Formulare]![frm_qryBestimmung]![txtLänge] is Null)

 ::)



Offline 123Studentin

  • Newbie
  • Beiträge: 8
Re: Formularfelder unabhängig voneinander ausfüllen können
« Antwort #8 am: Januar 28, 2015, 17:47:06 »
ups tschuldigung, der Tipp hat geholfen :-D