mehrspaltiges Kombinationsfeld

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

skandal
Beiträge: 3
Registriert: Di, 28.02.2006 11:39

mehrspaltiges Kombinationsfeld

Beitrag von skandal »

Hallo,

ich möchte ein Formular erzeugen, um Daten einer Tabelle zu bearbeiten. Diese Tabelle enthält ein Feld, das einen Index auf den Primärschlüssel einer weiteren Tabelle enthält (1:n), in diesem Fall die ID einer Person. Ich möchte nun ein Kombinationsfeld anbieten, das den Namen der Person anzeigt, aber die ID zurückliefert.

Ich möchte also ein mehrspaltiges Kombinationsfeld erzeugen. Zur Not können sowohl ID, als auch Name der Person angezeigt werden.

Danke für jede Hilfe,
skandal
jbj
Beiträge: 9
Registriert: Fr, 20.01.2006 12:01

Beitrag von jbj »

Daran wäre ich auch sehr interessiert. Ich nehme an, Du willst verschiedene, nur einmal eingegebene Personen einer anderen Tabelle zuordnen, das über die ID lösen, aber zur Auswahl trotzdem den Namen anzeigen, oder?

J
lubre
*
Beiträge: 14
Registriert: Do, 19.01.2006 14:21

mehrspaltiges Kombinationsfeld?

Beitrag von lubre »

Hallo,

versuch es mal über ein Listenfeld:

Ich gehe davon aus, im Formular ist das Feld mit dem Index schon enthalten.

Listenfeld in das Formular einfügen, hier das Feld aus der entsprechenden Tabelle wählen, z.B. den Namen.

Assistent - Feldverknüpfung auswählen: Feld aus Wertetabelle, d.h. den zugehörigen Feldnamen wählen und mit Feld aus Listentabelle, den Index, verknüpfen.

Die beiden Felder in die richtige Aktivierungsreihenfolge bringen. Erst das Listenfeld, um den Namen zu wählen, beim Sprung ins Indexfeld wird automatisch der zugehörige Index angezeigt.

Gruss Lubre
[/quote]
skandal
Beiträge: 3
Registriert: Di, 28.02.2006 11:39

Beitrag von skandal »

Danke für die Antwort,

mit einem Listenfeld funktioniert es wunderbar.

Gibt es einen Grund, wieso es nicht mit Kombinationsfeldern geht? Finde es praktisch, wenn Benutzer einfach drauflostippen können. Und falls mal einer was Neues eingibt, kann die Datenbank direkt anbieten, einen neuen Listeneintrag anzulegen.

Leider habe ich Base mittlerweile wieder in die Ecke gestellt. Für mich ist es zwar Ok, aber bevor ich "normale" Menschen dransetze, gebe ich den Entwicklern noch ein bißchen. Vor allem Formulare, die nicht die komplette Writer-Funktionalität inklusive Symbolleisten mit anbieten, sondern nur die Datensätze sind für ON-Verbraucher angenehmer.

Gruß,
skandal
jbj
Beiträge: 9
Registriert: Fr, 20.01.2006 12:01

Beitrag von jbj »

Ja, danke, das mit dem Listenfeld musste ich erst einmal kapieren (den Unterschied zwischen angezeigten Werten und verknüpften Wertenn ;-)

skandal: Mit was arbeitest Du, um den Usern solche Formulare anzubieten? Access und runtime, oder hast Du etwas unter Linux? Ich will nämlich auch die Kaputtmachquote in den Formularen bei ein paar Usern minimieren...

J
skandal
Beiträge: 3
Registriert: Di, 28.02.2006 11:39

Beitrag von skandal »

Bisher habe ich immer für Kunden gearbeitet, die Access-Datenbanken gefordert haben. Gegen böswillige Beschädigung sind die (nicht die Kunden!) zwar nur sehr umständlich abzusichern, für die Verhinderung versehentlicher Falscheingaben ist Access aber wunderbar.

Ich bin momentan aber auf der Suche einer Lösung für eine gemeinnützige (=kein Geld für Lizenzen) Organisation. Da dort ohnehin schon mit OO gearbeitet wird, wäre Base optimal. Microsoft hat die Anfrage nach einer Spende leider abgelehnt. Ich werde Base im Auge behalten. Unter Linux kannst Du zumindest Rekall frei einsetzen. Allerdings hat mich das auch nicht so wirklich überzeugt.
jbj
Beiträge: 9
Registriert: Fr, 20.01.2006 12:01

Beitrag von jbj »

Genau, da funktioniert bei mir die Erstellung der Formulare nicht so, wie ich das will (vielleicht bin ich auch zu blöd dazu, bin so ein Win-Gui-clicker, der jetzt auf Linux umgestiegen ist...). Knoda ist auch nix richtiges. Base wäre schon ideal, weil ich die Formulare als einzelne Dateien zur Verfügung stellen könne (Writer Dateien). Dummerweise funktioniert da die Timestamp-Geschichte nicht, die ich unbedingt brauche... Grmpf.

J
serdg
Beiträge: 4
Registriert: Di, 29.01.2008 08:47

Re: mehrspaltiges Kombinationsfeld

Beitrag von serdg »

Hallo zusammen!

Verstehe ich das richtig, dass im oben genannten Lösungsvorschlag kein mehrspaltiges, sondern ein einspaltiges Listenfeld erzeugt wird?

Ich suche nämlich noch nach einer mehrspaltigen Lösung, hier die Aufgabe:

Ich möchte eine bestehende Tabelle X mithilfe eines Formulars bearbeiten.
In diesem Formular soll es die Möglichkeit geben aus der Tabelle Y mithilfe eines
Listenfeldes eine Auswahl zu tätigen, die dann in der Tabelle X gespeichert wird. Die Tabelle Y beinhaltet unter anderem KUNDENID, KUNDENNAME und ORT. Es wird die KUNDENID in der Tabelle X abgespeichert.

Problem: Ich habe bereits geschaft die Liste so zu konfigurieren, dass anhand des
KUNDENNAMEns, die jeweilige KUNDENID in Tabelle X geschrieben wird. Das Problem ist aber, dass der KUNDENNAME nicht eindeutig ist. Es gibt also den selben KUNDENNAMEn an mehreren ORTen.

Wie kriege ich neben dem KUNDENNAMEn auch noch den ORT angezeigt, sodass man bei der Auswahl nicht den falschen Kunden auswählt? Oder hab ihr vielleicht eine andere Lösung hierzu?

Ich wäre für jeden Tipp dankbar!
serdg
Beiträge: 4
Registriert: Di, 29.01.2008 08:47

Re: mehrspaltiges Kombinationsfeld

Beitrag von serdg »

Super, Danke!!!
serdg
Beiträge: 4
Registriert: Di, 29.01.2008 08:47

Re: mehrspaltiges Kombinationsfeld

Beitrag von serdg »

Also das klappt bei mir doch nicht so wie es sollte.

Folgendes funktioniert:
SELECT CONCAT("Kundenname", "Kundenort") FROM "TB_Kunden"
Das klappt ohne Probleme, allerdings sind Kundenname und Kundenort logischerweise zusammengeschrieben.

Dann habe ich folgendes gemacht:
SELECT CONCAT("Kundenname", '-', "Kundenort") FROM "TB_Kunden"
Dann kommt der Fehler: ArrayIndexOutOfBoundsException: 2 in Statement

Was mache ich falsch?
berndkli
*****
Beiträge: 289
Registriert: Di, 12.04.2005 22:05

Re: mehrspaltiges Kombinationsfeld

Beitrag von berndkli »

Hallo
Versuch mal

Code: Alles auswählen

SELECT CONCAT("Kundenname", CONCAT('-', "Kundenort")) 
Gruss Bernd
serdg
Beiträge: 4
Registriert: Di, 29.01.2008 08:47

Re: mehrspaltiges Kombinationsfeld

Beitrag von serdg »

Danke Bernd!
Funktioniert!
Gesperrt