Neuigkeiten:

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

Mobiles Hauptmenü

Datensätze über kombinierte Kriterien in mehreren Spalten filtern

Begonnen von Churian, Mai 26, 2015, 13:14:13

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,

wenn mehrere Artikel/Teile bei einem Servicefall "verbraucht" werden, dann ist eine weitere Tabelle "tblServiceTeile" in 1:n-Beziehung zu Service  erforderlich, in der das verbrauchte Material erfasst wird. (Hat Klaus schon erwähnt...)

Der Codeschnippsel muss natürlich an die realen Feldnamen angepasst und nicht nur einfach kopiert werden..

Und was heißt:
Zitat...meiner Abfrage hinzuzufügen...
?

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

Churian

Ich habe natürlich die Namen angepasst. Ich habe der Einfachheit halber gerade den Code nur kopiert.

Mein Code lautete:

Dim strDatum As String
Dim strSQL As String

strDatum = Format(Datum, "\#yyyy\-mm\-dd\#")

strSQL = "SELECT * FROM tbl_Serviceverzeichnis WHERE [tbl_Serviceverzeichnis].[Datum] > " & strDatum


Ich wollte den Code in den SQL-Code meiner Abfrage eingeben aber das geht nicht. Dann habe ich noch versucht den Code in mein Suchformular oder das Eingabeformular einzugeben. Nichts.
Ich vermute aber das der Fehler ehr vorm Rechner sitzt und ich den am falschen Ort eingegeben habe.

DF6GL

Hallo,

in der Tat trifft der letzte Satz zu ...  ;)

Was Du vor Dir hast, ist ein VBA-Codeschnippsel, der lediglich einen SQL-String zusammenbaut. Sowas kannst Du nur in einer (Code-)Prozedur verwenden und den SQL-String z. B. der Datenherkunft eines Forms, eines Listen-/Kombifeldes oder auch der SQL-Eigenschaft einer Abfrage zuweisen.

Aber wie vorher schon gesagt, wenn die Tabellenstruktur nicht zunächst auf Vordermann gebracht wird, brauchst Du Dir über Abfragen und Formulare keine Gedanken zu machen.
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

Churian

Hallo,

also muss ich wenn ich so einen Code nutzen will den Code in die Datensatzherkunft des Suchfeldes eingeben?
Ich habe alle Hinweise zu der Tabellenstruktur bisher umgesetzt. Was liegt da denn noch im Argen abgesehen davon das ich meine Ausfälle und Artikelnummern nicht zusammen in einer Tabelle anzeigen kann?

MzKlMu

Hallo,
zur Artikelerfassung stellt sich noch eine Frage.

Zu einem Serviceffall werden mehrere Ausfälle erfasst, richtig ?
Willst Du jetzt die verbrauchten Artikelnummern je Ausfall, oder reicht es diese je Servicefall zu erfassen ?

Bitte mal sorgfältig darüber nachdenken, denn davon hängen die weiteren Tabellen ab.
Gruß Klaus

Churian

Hey Klaus,

danke das du dich so lange mit mir und meinem Problem befasst.
Es kann vorkommen das zu einem Servicefall mehrere Artikel oder auch gar keiner erfasst werden das ist variabel.
Es wäre schön wenn die Artikelnummern den Ausfällen zu geordnet werden können muss aber nicht sein.

Grüße

MzKlMu

HGallo,
anbei ein neues Bild.
Ich würde auch noch eine Tabelle für die Artikel vorschlagen.
Du kannst zu jedem der Ausfälle ausfallbezogen mehrere (beliebig viele) Artikel erfassen.
Gruß Klaus

Churian

Vielen Dank,

ich werde meine Datenbank dahingehend umbauen.
Neue Daten gebe ich dann über ein Formular ein wobei die Ausfälle und Artikelnummer in entsprechenden UFos eingegeben werden richtig?
Verstehe ich das eigentlich richtig das ich kein Endlosformular mehr als Suchformular nutzen kann wegen der UFos?

Mit freundlichen Grüßen

MzKlMu

Hallo,
über das Suchen solltest Du Dir mal keine Gedanken machen. Das kommt später. Und ist im Regelfall mit einem korrekten/normalisierten Datenmodell einfacher.
Gruß Klaus

Churian

Hey,

das Suchen ist nur elementarer Bestandteil der Anforderungen die ich an die Datenbank habe. Deshalb kann ich das nicht so einfach wegschieben. Der Code aus der ersten Antwort klappt ja jetzt, denke ich mal, nicht mehr.

MzKlMu

Hallo,
dass das Suchen notwendig ist, habe ich ja nicht bestritten. Aber erst muss das Datenmodell stimmen, dann kann man über die Suche nachdenken.

Beschreibe bitte noch mal, nach was Du in welchem Zusammenhang suchen willst.
Und wie die Suche ablaufen soll. Mit Ablaufen meine ich nicht das programmiertechnische.
Und für das Suchen sollte man keine eierlegende Wollmilchsau versuchen.

Natürlich kannst Du zur Suche ein Endlosformular verwenden.
Datenquelle wird eine Abfrage mit den Tabellen die die Felder enthalten in denen Du suchen willst.
Um Dein Beispiel zu verwenden:
Zitat"Müller" ein und in das Artikelnummerfeld "0815"
Beim Namen gibst Du als Kriterium "Müller" ein und bei der Artikelnummer "0815".
Die Suche wird viel einfacher, weil die Artikelnummer nur in einem Feld steht,
Eine Suche würde alle Datensätze zeigen die beide Bedingungen erfüllen. Dabei ist es egal, ob der Artikel als 1.Position oder als 10. Position verbaut wurde.

Gruß Klaus

Churian

Guten Morgen,

also das Datenmodell steht jetzt so wie besprochen ich habe allerdings die Artikel jetzt doch den Servicefällen zugeordnet. Der Einfachheit halber. Die Eingabe neuer Daten über ein Formular und zwei UFos klappt auch.

Für die Suche:
Ich möchte ein Endlosformular das mir standardmäßig alle Datensätze anzeigt mit Machinen, Technikern, Datum, Ausfällen, Artikelnummern und so weiter.
Ich hätte gern das man sieht bei welchem Einsatz welche Artikelnummern getauscht wurden und welche Ausfälle vorliegen.
Ich dachte das würde man über weitere UFos machen aber dann klappt das Endlosfrom nicht mehr.
Das eigentliche Suchen soll über mehrere Text-Felder funktionieren. Eins für Techniker, Eins für die Maschinen, eines für Artikelnummer usw. Über einen Button soll das Formular entsprechend gefiltert werden.
Die Kriterien sollen Kombiniert werden wie du schon sagtest.

z.B.:
Techniker: "Müller"
Artikelnummer: "Z32078"
Datum: "02.06.2015"

nach druck des Suchbuttons will ich alle Datensätze wo der Herr Müller, Z32078 am 02.06.2015 ausgetauscht hat.

Grüße

Churian

MzKlMu

Hallo,
Zitatich habe allerdings die Artikel jetzt doch den Servicefällen zugeordnet.
dann zeige bitte erst mal ein Bild des Beziehungsfensters.
Gruß Klaus


MzKlMu

Hallo,
willst Du jedes mal die Artikelnummer und die Bezeichnung eines Artikel neu eintragen ?
Von daher, solltest Du unbedingt eine Tabelle für die Artikel anlegen und den Artikel per Kombi auswählen. Du solltest auch bedenken, dass es zu Tippfehlen kommen kann. Irgend wann schreibt jemand Z320078 statt Z32078 und schon hast Du einen falschen Artikel erfasst. Eine Suche nach Z32078 würde den gar nicht finden. Mit einem Kombi zur Auswahl kann das nicht passieren.
Also Tabelle für die Artikel anlegen. Es macht keinen Sinn Tabellen sparen zu wollen.

Zur Suche erstellst Du ein Endlosformular mit den Tabellen in denen die Felder sind mit denen Du suchen willst. Dann kannst Du suchen wie gehabt und in diesem Endlosform anzeigen.
Gruß Klaus