Baret Geschrieben 11. August 2008 Teilen Geschrieben 11. August 2008 Hallo, Ich habe folgendes Problem. In einer Tabelle sind Fehlerarten wie folgt enthalten: ID[Zahl] Fehlerart[Text] 1 zu lang 2 zu kurz 3 porös usw. Eine weitere Tabelle enthält die Felder Produkt[Text] und Fehlerart[Text]. Im Feld Fehlerart werden die Fehler anhand der Nummer und getrennt durch Strichpunkt gespeichert. Produkt Fehlerart Produkt1 1;3 Produkt2 1 Produkt3 2 Produkt4 usw. Ich möchte im Endlosformular jetzt aber nicht die Nummern sondern die Fehlerbezeichnung in einer Liste anzeigen lassen. Also bei Produkt1 sollte in einer Liste "zu lang" und "porös" stehen. Ich habe es durch folgende Funktion in einerm Modul probiert: Public Function lst_Fehler_Fuellen() As String Dim str_Fehler As String If Form_Produkte.txtFehler <> "" Then str_Fehler = Form_Produkte.txtFehler Else Exit Function End If Do Until str_Fehler = "" lst_Fehler_Fuellen = lst_Fehler_Fuellen & Form_Produkte.lst_FehlerArtenGeladen.Column(1, Left(str_Fehler, 1) - 1) & ";" str_Fehler = Mid(str_Fehler, 3) Loop End Function [/PHP] Wobei im Endlosformular das Feld "txtFehler" die Fehlernummern enthält(also "1;3") und die Liste "lst_FehlerArtenGeladen" enthält die ID sowie den Namen des Fehlers. Die Funktion wird als Steuerelementinhalt der geünschten Listbox verwendet. Ich hoffe ich konnte mein Problem verständlich erklären. Vielen Dank im Voraus Lg Baret Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 11. August 2008 Teilen Geschrieben 11. August 2008 Eine weitere Tabelle enthält die Felder Produkt[Text] und Fehlerart[Text]. Im Feld Fehlerart werden die Fehler anhand der Nummer und getrennt durch Strichpunkt gespeichert. Produkt Fehlerart Produkt1 1;3 Das sieht mir nach einem schlechten Datenbankdesign aus. Hast du die Möglichkeit, das zu korrigieren? Ich hoffe ich konnte mein Problem verständlich erklären. Leider nein. futdhn Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 11. August 2008 Autor Teilen Geschrieben 11. August 2008 Ja, kann ich ändern. Es gibt eine Tabelle in der alle möglichen Fehlerarten augelistet sind. In einer weiteren Tabelle sind alle Produkte vorhanden. Sollte ein Fehler vorliegen bekommt das Produkt entweder einen oder mehrere Fehler zugewiesen. Das möchte ich nun im Endlosformular darstellen und ändern können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 12. August 2008 Teilen Geschrieben 12. August 2008 Moin, dann solltest du eine weitere Tabelle einführen, in der du speicherst, welches Produkt welche Fehler hat, also pro Fehler eines Produkts 1 Zeile. Dadurch würde das unsägliche Gefrickel entfallen, mit dem du sonst die Fehler auseinanderklamküserst. Zur Anzeige kannst du dann ein Listenfeld verwenden, dessen Inhalt alle Fehlerarten sind und das Vorhandensein des Fehlers für das Produkt in der neuen Tabelle bestimmt, ob der Eintrag marliert ist oder nicht. hth Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 12. August 2008 Autor Teilen Geschrieben 12. August 2008 Vielen Dank für die Antwort... Ich habe das jetzt versucht so zu lösen ... So ganz funktionieren tut das Ganze jedoch noch nicht... Ich habe jetzt die Tabelle welche die Fehlerart und dessen Id beinhaltet.(=tbl_prog_Fehlerarten) ID Fehlerart 1 Risse 2 Poren 3 zu lang Und dann die Tabelle welche die Produkte mit den jeweilen Fehler enthält.(=tbl_Produkte_Fehler) lng_SerienNr Fehler Prod1 1 Prod1 2 Prod2 1 Die Abfrage dazu sieht folgendermaßen aus: SELECT tbl_prog_Fehlerarten.Fehlerart FROM tbl_Produkte_Fehler INNER JOIN tbl_prog_Fehlerarten ON tbl_Produkte_Fehler.FehlerID=tbl_prog_Fehlerarten.ID WHERE (((tbl_Produkte_Fehler.lng_SerienNr) Like "2199998")); [/PHP] In der Liste im Endlosformular gebe ich diesen SQL String als Datenherkunft and, verwende aber statt [PHP]Like "2199998" die SerienNr des Datensatzes. Die Liste bleibt aber anschließend leer. Vielen Dank im Voraus Liebe Grüße Baret Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 12. August 2008 Autor Teilen Geschrieben 12. August 2008 (bearbeitet) Wie könnte ich das wie von dir beschrieben lösen? Das nur die zutreffenden Fehler in der Liste markiert werden, aber alle Fehlerarten in der Liste vorhanden sind? Der Liste als Datenquelle die Tabelle mit den Fehlerarten zuweisen. Aber wie löse ich das mit der Markierung? Und wäre es dann auch möglich, die aktuell ausgewählten Fehlerarten sofort zu speichern? Edit: Mir ist gerade aufgefallen, dass wenn ich als Datenherkunft die Tabelle mit den Fehlerarten auswähle und anschließend einen Eintrag der Liste selektiere, bei allen Datensätzen diese Markierung übernommen wird. Also wenn ich bei DS1 "Poren" markiere, haben alle anderen Datensätze die selbe Markierung. Liebe Grüße Baret Bearbeitet 12. August 2008 von Baret Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 13. August 2008 Autor Teilen Geschrieben 13. August 2008 Wie kann ich in der Liste die Fehler für eine bestimmte SerienNr. ausgeben? Also ich habe im Endlosformular ein Textfeld welches die SerienNr. enthält. In einer Tabelle sind die Fehler aufgelistet SerienNr Fehler Prod1 Risse Prod2 zu lang Prod2 pörös Prod3 zu kurz Prod3 Risse Prod3 pörös Nun möchte ich, dass in der Liste nur die Fehler mit der SerienNr des Textfeles zu sehen sind. Vielen Dank im Voraus Lg Baret Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 13. August 2008 Autor Teilen Geschrieben 13. August 2008 Die Abfrage welche ich als Datensatzherkunft verwende sieht zurzeit folgendermaßen aus: SELECT tbl_Produkte_Fehler.FehlerID FROM tbl_Produkt_Fehler WHERE (((tbl_Produkte_Fehler.lng_SerienNr) Like [Serien_Nr])); Wobei [serien_Nr] das Textfeld und zugleich der Feldname ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Baret Geschrieben 21. August 2008 Autor Teilen Geschrieben 21. August 2008 Wollte euch nur mitteilen, dass ich es geschafft habe... Allerdings über den Umweg, dass ich das Ergebnis nicht in einer Liste sondern in einer mehrzeiligen Textbox darstelle! Vielen Dank nochmal für eure Hilfe Lg Baret Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.