Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Problem bei Suchfunktion

Begonnen von mousetastic, August 08, 2012, 15:27:11

⏪ vorheriges - nächstes ⏩

mousetastic

Hallo zusammen,

habe da ein etwas ärgerliches Problem mit der Suchfunktion in meiner Datenbank.

Zuerst einmal möchte ich euch meine Datenbank erläutern:

Meine Datenbank fungiert quasi als "Bibliothek" für diverse Broschüren und Unterlagen welche mit dem Maschinenbau und Luft- und Raumfahrt in Verbindung stehen. Ich habe mir erlaubt auch eine kleine Suchfunktion einzubauen, welches es mir erlaubt je nach Branchen, Hersteller und Lagerart zu suchen bzw einzuschränken (Wälzlager).

Nun zu meinem Problem:

Ich habe versucht die Suchfunktion zu erstellen, welche beim ersten Suchkriterium (Hersteller) tadellos funktionierte, jedoch beim zweiten kam es i-wie zu einem Fehler.

Ich habe zurzeit 89 Datensätze in meiner Haupttabelle. Aus dieser generiere ich die Abfragen. Natürlich wird diese durch eingeschränkte Suchkriterien geringer.

Es sind zB nur noch 17 Datensätze in der Suchmaske vertreten. Alles klar super jedoch bleibt diese Zahl ich kann nichts mehr ändern es scheint als wäre es festgefroren. Durch meinen Aktualisierungsbutton sollte aber alles zurückgesetzt werden (über Makro) - wird es jedoch nicht. Ein wiederholtes schließen und öffnen der Datenbank brachte auch keinen Erfolg.

Im Anhang befindet sich ein Screenshot der DB - habe ich bei der Programmierung des Suchkriteriums einen Fehler gemacht? Überschneiden sich die zwei Suchkriterien von Hersteller und Branchen?

Oder gibt es andere Möglichkeite eine saubere Suchfunktion zu generieren.

Ich wäre über eure Mithilfe und Lösungsvorschläge sehr dankbar.

MFG; mouse.

EDIT: Beim zweiten Programmcode steht auch HerstellerSuche - habe ich nur rüberkopiert um zu zeigen wie es eig. aussehen sollte - dort steht eig. BranchenSuche. Ist also richtig definiert!

[Anhang gelöscht durch Administrator]

DF6GL

Hallo,


"Durch meinen Aktualisierungsbutton sollte aber alles zurückgesetzt werden (über Makro) "

und wie "lautet" das Makro? (mach einen Screenshot)


"eine kleine Suchfunktion einzubauen, welches es mir erlaubt je nach Branchen, Hersteller und Lagerart zu suchen bzw einzuschränken "


Wie geht diese Suchfunktion vor sich?



In der Abfrage werden die Abfragekriterien durch "And" verbunden. Es kann also sein, dass die (ausgewählte) Kombination von Hersteller und Branche nicht existiert.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

oma

Hallo,

ZitatOder gibt es andere Möglichkeite eine saubere Suchfunktion zu generieren.

ja, die gibt es. Statt mit Formularverweise zu arbeiten, kann man aus den Suchfeldern einen "dynamischen SQL-String"  erstellen u. diesen als Datenherkunft des Formulars fungieren lassen.
Beispiel hierzu findest du zahlreich im Forum.

Gruß Oma
nichts ist fertig!

mousetastic

Danke für die raschen Antworten.

wenn ich die ausgewählten Kriterien aus der DropDownBox lösche - drück ich auf den Button und es wird zurückgesetzt - Makro "AktualisierenDaten"
Also relativ primitiv gestaltet das Makro.

Die Suchfunktion insofern wird über eine Abfrage gesteuert (siehe Screenshot).
Leider bin ich mit "dynamischen SQL-Strings" usw. nicht so vertraut deshalb hätte ich auf diese etwas einfachere Lösung gehofft, dass sie funktioniert.

[Anhang gelöscht durch Administrator]

DF6GL

#4
Hallo,

naja, ich versteh immer noch nicht, was Du genau machst...


Die Abfrage enthält als Kriterium den Verweis auf zwei Kombifelder (?)  "Herstellersuche" und "Branchensuche".

Um die "Suchfunktion" (erneutes Ausführen der Abfrage und demzufolge erneutes Anzeigen der DS im Formular (das an diese Abfrage gebunden sein muss  ---> Datenherkunft des Forms)  auszuführen , muss nach jeweils jeder(!) Auswahl in den Kombis eine Aktualisierung des Formulars erfolgen:

Sub HerstellerSuche_Afterupdate()
Me.Requery
End Sub

Sub Branchensuche_Afterupdate()
Me.Requery
End Sub

Mit diesen beiden Prozeduren brauchst Du die Schaltfläche nicht (mehr).


Statt der VBA-Prozeduren kannst Du aber auch das Aktualisieren Makro des Buttons benutzen


Wird ein Eintrag in einem Kombifeld gelöscht,liefert die Abfrage allerdings keine DS mehr an das Form. Soll ein "leeres" Kombifeld aber "alle Datensätze" bedeuten muss die Abfrage entspr. dem folgenden Link abgeändert werden:

http://www.donkarl.com/?FAQ3.14



Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mousetastic

Ok ich habe die Datenbank jetzt danach ausgerichtet und sie funktioniert tadellos, hab mich sogar im SQL versucht und es geht sogar (eigene Verwunderung ist auch dabei).

Ein großes Danke an euch!!

Mfg.