ComboBox: Titel anzeigen, ID speicher

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: ComboBox: Titel anzeigen, ID speicher

von Toastbrot » Mo, 14.05.2007 10:24

Wunderbar! Diese Lösung scheint mir zwar keinen Sinn zu geben, aber es funktioniert! Vielen Dank!

von SNKS » Mo, 14.05.2007 07:04

Toastbrot hat geschrieben:[..] oder es daran liegt, dass ich die Linux Version benutze.
Nein.
Listeninhalt: SELECT id, name FROM namen;
Gebundenes Feld: 1*

*) 1 zeigt ID, 2 zeigt garnichts
SELECT name,id FROM namen
gebundenes feld: 1

schon mal so rum versucht?

BFG

SNKS

von agrupe » So, 13.05.2007 18:51

Hi,

mein Tipp nicht nur an dich sondern auch an alle anderen "Rumprobierer" - wie ich auch: Kauf dir das "Buch Datenbanken mit OpenOffice.org2".

Ich hatte das gleiche Problem. Mit dem Buch bekommst du klasse Beispiele und noch 100er andere Lösungen gleich mit an die Hand!

So ist auch dieses (eigentlich einfache) Problem dort ausführlich dargelegt und es klappt. Sogar als Ersatz von Feldern in verschachtelten Subformularen.

Dieses Forum hier ist recht nützlich aber es ersetzt (zumindest für mich) keine fundierte Lektüre. Die Methode Try&Error, mit der auch ich hier angefangen habe, führt nur zu Frust.

Wie gesagt, ich habe jetzt 7 normalisierte Tabellen verknüpft, Subformulare in Subformularen etc pp und alles ging nach gut einem Wochenende Lektüre.

Cherio!

Andreas

von Toastbrot » Mi, 09.05.2007 14:17

Hallo zusammen,
ich habe mir diesen und auch ähnliche Threads jetzt mehrfach durchgelesen, aber ich habe den Eindruck, dass eure Beschreibungen nicht mehr auf die Version 2.2.0 passt oder es daran liegt, dass ich die Linux Version benutze.

Auch ich möchte in einer Listbox Namen aus einer anderen Tabelle anzeigen, aber in die Tabelle für die das Formular ist, soll die ID/Primärschlüssel aus der Namen-Tabelle geschrieben werden.

Ich bekomme es so weit hin, dass die ID in der Listbox angezeigt werden. Wenn ich aber "Gebundenes Feld" auf das Feld setzte, in dem der Name steht, wird in der Listbox garnichts angezeigt. Die SQL Abfrage funktioniert. Eine Möglichkeit auszuwählen was angezeigt bzw. eingetragen wird, habe ich im Gegensatz zu euch nicht!

Meine Konfigurationsfelder sind:
Datenfeld: Tabelle des Formulares
Art des Listeninhaltes: SQL
Listeninhalt: SELECT id, name FROM namen;
Gebundenes Feld: 1*

*) 1 zeigt ID, 2 zeigt garnichts

Vielen Dank schonmal!

von danny1000 » Do, 05.10.2006 13:10

Hi Thomas,

nochmal 1000 Dank, jetzt werd ich es bestimmt auch schaffen. :-)

Viele Grüße
Daniel

von Toxitom » Do, 05.10.2006 12:33

Hey Danny,

du brauchst die Symbolleiste Formular Steuerelemente - am besten einblenden über Ansicht - Symbolleisten - Formular-Steuerelemente. Dort findest du das passende Icon.

Gruss
Thomas

von danny1000 » Do, 05.10.2006 08:53

Sorry, wenn ich nochmal diesen alten Thread ausgrabe, aber ich habe genau ein Problem, das darin besprochen wird. Nun habe ich die Anleitung von Toxitom versucht und scheitere schon am Punkt "Einfügen der Listbox" (peinlich).

Wo genau finde ich das Icon zum Einfügen der Listbox ("Icon in Formular-Entwurfsansicht")? Ich bin in der Entwurfsansicht des Formulars und habe ein Icon "Feld hinzufügen", aber da kommen nur die Felder der aktuellen Tabelle, es kommt kein Assistent.

Kann mir da bitte noch einer den entscheidenden Tipp geben, wie ich dieses Listenfeld einfügen kann?

1000 Dank, an diesem Problem (mit den verknüpften Tabellen) knabbere ich schon lange.

von Toxitom » Fr, 18.08.2006 12:02

Hey Alex,
Frag mich jetzt gerade wieso der beim Eintragen, wenn man die Tabelle mit anzeigen lässt, die Namen statt die ID's drin stehen.
Hmm, das sind zwei verschiedene Sachen! Das, was du anzeigst im Screenshot ist an sich eine Abbildung des altuellen Resultsets - nicht der Tabelle selbst. Da wird die ID wieder aufgelöst - entsprechend der Verknüpfung. (Wahrscheinlich interne Logig - für die DAUs??)
Tia, so entstehen die Missverständnisse.

Gut zu wissen, das es nun funktioniert :-)

Gruss
Thomas

von alex0801 » Fr, 18.08.2006 11:17

Das ist jetzt krass. Ich hab hier 1:1 die gleiche Datei, und bei mir will er die Namen statt der ID speichern... *am Kopf kratz* Was mach ich denn jetzt noch falsch?

2.0 hab ich nur installiert ums mal mit ner anderen Version zu prüfen.

[update]
Argh, ich Depp...
Ist aber auch verwirrend:

Bild

Beim eintragen zeigt er die Namen an. Wenn ich aber später in die member-Tabelle reinschaue dann stehen da tatsächlich die ID's statt der Namen.
Frag mich jetzt gerade wieso der beim Eintragen, wenn man die Tabelle mit anzeigen lässt, die Namen statt die ID's drin stehen.
Hab da halt immer gliech abgebrochen... Sieht ja offensichltich so aus als ob's nicht funktionieren würde...
*Verwirrende Sache*

Trotzdem, danke für die Hilfe.

Gruß
Alex

von Toxitom » Fr, 18.08.2006 11:04

Hey Alex,
In der Listbox soll jedoch member_type.member_type_name angezeigt werden.
Bin gespannt ob du das Problem lösen kannst und woran es dann letztendlich liegt.
Hmm, und wo ist das Problem? Alles OK. Hab mir deine Datei runtergeladen, das Formular geladen, einen Datensatz eingegeben:
Die Listbox zeigt die Typen an (Adminsitrator, User) - ich habe Admin ausgewählt. Datensatz gespeichert. In der Tabelle Member" werden wie gewünscht die ID Nummern abgespeichert - nämlich 0 für den Administartor und - beim nächsten Datensatz 1 für den User (so gewählt).
Also, alles so wie es ein soll.
Mein system: Win XP, OOo 2.0.3

Gruss
Thomas

PS: Mit der 2.0.0 wäre ich vorsichtig. Da gab es schon noch diverse Bugs - möglich, dass es dort nicht funktionierte.

von alex0801 » Fr, 18.08.2006 10:46

So,
also ich hab nochmal nach den Versionen geschaut.
Hab zwei verschiedene da:
Auf dem Laptop ist 2.0 installiert, auf meinem Desktop-PC 2.0.3
Beide in der Sprache deutsch (falls das nen Unterschied macht) und mit Windows XP prof. mit SP2.

In beiden Versionen ist es mir nicht gelungen, trotz der doch einfachen Anleitung, dass die ID statt der Name in der Tabelle gespeichert wird.

Hier hab ich nochmal kurz ein Beispiel zusammengeklickt:

http://www.root1.de/ListboxIdTest.odb

Ist ganz primitiv aufgebaut:

Zwei Tabellen: member und member_type
Verlinkt werden soll:

member.member_type_id

mit

member_type.member_type_id

In der Listbox soll jedoch member_type.member_type_name angezeigt werden.
Bin gespannt ob du das Problem lösen kannst und woran es dann letztendlich liegt.

Gruß und danke für die Hilfe,
Alex

von alex0801 » Do, 17.08.2006 23:50

HI,
alles klar, stell die datei morgen rein. is heute schon zu spät *gähn*
OS: WinX SP2
OO: Die Version von vorgestern (erst frisch runtergeladen und installiert).
Sprache: Deutsch

- Alex

von Toxitom » Do, 17.08.2006 20:59

Hey Alex,
Any ideas why ?
Nein. Ich hab es gerade noch mal bei mir getestet - funktioniert einwandfrei. Der Name wird angezeigt, die ID-Nummer abgespeichert. Kann auch keinen Fehler in deiner Beschreibung finden, der Select-Befehl ist korrekt, das gebundene Feld (1) auch. Sollte also funktionieren.
Welche Version verwendest du? Welches Betriebssystem?

Gruss
Thomas

<edit> Wenn keine Geheimnisse in der Datei stehen, stell sie doch mal onlien - und poste den Link. Dann kann ich mir mal direkt dein Problem ansehen.

von alex0801 » Do, 17.08.2006 18:27

Okay, Anleitung hab ich genau so befolgt.
Und ich musste feststellen: soweit war ich schonmal. Und: es geht dennoch nicht.

Ich hab eine mitglieder-tabelle. Darin gibt es eine spalte mitglied_typ_id.
Dazu passend gibts eine zweite Tabelle. Dort gibts 2 spalten: Eine mit der ID und eine mit dem Namen des Typs.

jetzt hab ich mir ein Formular mit dem Assistenten angelegt und alle felder meiner mitglieder-tabelle damit verknüft. Das mitglied_typ_id feld hab ich exakt wie von dir beschrieben durch die listbox ausgetauscht.
Alles gespeichert und getestet:

fazit: In die spalte mitglied_typ_id wird nicht die Typ-ID sondern der dazugehörige Name gespeichert.

Ich hab dan etwas weiter geforscht:
Wenn man über "Kontrollfeld" der Listbox in die Eigenschaften geht hat man unter dem Register "Daten" den Eintrag "Gebundenes Feld".
So wie ich das aus der Online-Hilfe verstenden hab wird da das Feld gewählt das später in mitglied_typ_id gespeichert wird.
Dazu passend hier das SQL-Statement:

SELECT "mitglied_typ_name", "mitglied_typ_id" FROM "mitglied_typ"

Der EIntrag "gebundenes Feld" steht auf 1. Da ja per 0 indiziert wird müsste 1 das zweite Feld sein, also mitglied_typ_id. Ist aber scheinbar nicht so. Ich habs noch mit 0 und 2 als gebundenes Feld probiert. jeweils kein Erfolg. Beim testen hab ich eine leere Listbox.


Any ideas why ?

- Alex

von alex0801 » Do, 17.08.2006 18:15

Hi Alex,
so gehts mir auch. Dachte Base ist ein Tool mit dem ich zumindest für kleine Sachen nixmehr großartig coden muss. Aber "toxitom's" Aussage:
Und die Gesamtlösung ist recht aufwendig.
hat mich jetzt doch etwas schockiert. Gut, meinetwegen. Sollen die Base-Entwickler also genauso faul gewesen sein wie die Access Entwickler und so eine Funktion nicht bedacht und realisiert haben.
Was ich jetzt dennoch vermisse ist eine Anleitung, ein HowTo oder sowas in der Art die wenigstens Erklärt wie man's macht.

Wenn sowas alltägliches "recht aufwendig" ist und zudem noch nirgends Idiotenscher erklärt ist, dann frage ich mich welche Daseinsberechtigung OO Base hat. Für den NICHT-OO-Base-Profi ist es ungeeignet, da so ein kleines Problem "recht aufwendig" ist und nicht ausreichend dokumentiert und erklärt ist, für den allgemeinen SQL-Profi und Coder ist es schlichtweg zu klein um etwas damit zu machen. Die Setzen dann doch MySQL, Oracle oder Postgres ein...

Also für wenn ist dann OO-Base wenns nicht für den einigermaßen erfahrenen Einsteiger zu gebrauchen ist?

Bin weiterhin auf der Suche nach einer Anleitung oder HowTo. Vielleicht gehts ja doch in 5 Schritten statt in dem gewünschten 1-click-Step den es noch zu implementieren gilt...
FürAnregungen, Links oder detaliertere Hinweise wäre ich dankbar.

Gruß
Alex

[edit]
war zu langsam.. erstmal lesen was es neues gibt ...

Nach oben