PDA

Vollständige Version anzeigen : Suchen oder besser gesagt vergleichen


Montini
15.10.2001, 14:53
Hallo Leute,

ich möchte eine Datenbank aufbauen, wo sich Angebote und Gesuche in zwei verschiedenen Tabellen befinden. Nun soll als Auswertung z.B über eine Abfrage nicht nur nach identischen Werten, sondern auch nach Werten die "größer" oder "kleiner" sind gesucht werden. Danach soll das Ergebnis in einem neuen Formular angezeigt werden.

Wer hat mir eine Hilfestellung ?
Danke!!!

Mattes
15.10.2001, 17:48
Hi,

das versteh ich nicht ganz. Im Prinzip hast Du den richtigen Ansatz:

Zwei Tabellen, vergleich über Abfrage.

Also:

Auto bis 1000,00 DM, dann suchst Du in beiden Tabellen im Feld Preis 1000,00 DM.

So weit so gut. Wie soll das mit größer kleiner gehen? Auto bis 1000,00 DM du suchst im Feld Preis 1000,00 DM und alle Werte die größer oder kleiner sind? Dann bekommst Du immer alle Datensätze Deiner Tabelle angezeigt!


Erklär mal genauer, was Du Dir da vorstellst.

Montini
16.10.2001, 07:36
Hallo Mattes,
zuerst einmal möchte ich mich bei Dir bedanken, daß Du mir helfen willst. Ich möchte z.B nach einem "roten" Auto der Marke "Opel" mit einem Preis unter "DM 1000" suchen. Dies alles soll per VBA vom Benutzer durchgeführt werden können, d.h. am besten über ein neues Formular. Wie kann ich dies variabel gestalten, wenn ich nach mehreren Kriterien suchen möchte ?

Gruß Montini

Mattes
16.10.2001, 08:01
Hi,

muss gleich weg, nächste Antwort kann etwas dauern.

Der einfachste Ansatz ist eine Parameterabfrage. ( Nicht sehr elegant, klappt aber.) Du erstellst eine Abfrage, und gibst als Kriterium ein:
Wie[Bitte Marke eingeben]

Auf Basis dieser Abfrage erstellst Du ein Formular.

Beim öffnen des Formulars geht nun ein Eingabefeld auf, in das der Benutzer die Marke eingeben kann. Da kann man dann auch mit Platzhaltern arbeiten, also z.B. M* ergibt Mazda und Mercedes


Das machst Du für die Farbe und den Preis genauso. Erst wenn Alles eingegeben wurde erfolgt dann die Abfrage aus Deinen Datensätzen.


... kann man später dann verfeinern.

Jochum Rainer
16.10.2001, 08:47
Hallo!
Ein Beispiel:
Formular(fo_vertrieb) mit 4 ungebunden Textfeldern
von datum bis datum
von kundenr bis kundenr
und zwei Button Druck Bericht und Exit
Der Benutzer gibt die gewünschten Daten ein.
Diese werden bei der Eingabe mit Plausiprüfungen auf Richtigkeit gecheckt.
Dazu gibt es eine Abfrage. In dieser Abfrage wird beim Kunden und beim Datum die ungebunden Textfelder als Kriterium hinterlegt.
Für diesen Fall:
Zwischen ([forms].[fo_vertrieb].[von kundennr]) Und ([forms].[fo_vertrieb].[bis kundennr])
und
Zwischen ([forms].[fo_vertrieb].[von Datum]) Und ([forms].[fo_vertrieb].[bis Datum])

Der Bericht, der im Formular aufgerufen wird bezieht sich auf diese Abfrage!

Hat mehrere Vorteile:
Du kannst die eingegeben Werte im Formular überprüfen und erst dann freigeben, wenn alles in Ordnung ist. Damit unterbindest du z.B. Fehlermeldungen bei der Abfrage oder leere Berichte.
Von der Optik sieht das besser aus, als die Parameterfenster von ACCES

Gruesse
Rainer Jochum

Mattes
16.10.2001, 16:26
... so, da bin ich wieder.

@Rainer:

Genau, das meinte ich mit verfeinern, wenn man jetzt noch statt den Textfeldern ein Kombifeld nimmt, das in einer Liste nachschlägt, haben wir wohl die gewünschte Lösung. Eingaben wie WOLWO sind dann auch ausgeschlossen, und man hat eine komfortable Benuttzerführung.

@Montini:

Gib mal Bescheid, ob Dir das weitergeholfen hat.

Montini
17.10.2001, 12:57
@Rainer
@Mattes

Danke füe Eure Hilfe, dies hat fast funktioniert. Es sollte aber so sein, daß wenn vom Benutzer keine Angaben in diesm Feld geamcht werden, daß dann alle Datensätze bei denen die restlichen Kriterien übereinstimmen aufgezeigt werden. Dies funktioniert leider noch nicht.

Vielleicht könnt Ihr mir nochmals helfen.

Montini
17.10.2001, 13:41
@Mattes
@Rainer
Danke für eure wertvollen Tipps. Das Ganze funktioiert auch fast. Fast bedeutet, daß noch ein Kriterium zu erfüllen ist.
Wenn der Benutzer in einem Feld keine Auswahl trifft, so sollen dann alle Möglichen Datensatze, die den anderen Kriterien entsprechen angezeigt werden.

Hat jemand eine Idee ???

Dank im voraus !

Gruß Montini

Mattes
17.10.2001, 13:58
Hi,

wenn alle Datensätze angezeigt werden sollen, was heisst: "Keine Ahnung was ich will", oder:"zeig mal alle" muß der Benutzer in diesem Feld ein * eingeben ( Platzhalter für beliebig viele beliebige Zeichen )

Dann sollte es funzen.

Wenn das klappt, könnte man das später auch ein wenig komfortabler machen.

(z.B. if isnull me!Suchformular.Marke then me.suchformular.marke = *)

... oder so ähnlich :-)