Textbox mit auswahlabhängigen Inhalt füllen...

20/02/2008 - 21:41 von Torben Keil | Report spam
Hallo zusammen,

nachdem jetzt meine ooBase-Installation richtig rund làuft, versuche ich
mich an einem etwas größeren Projekt.

Ich möchte ein Datenbankbasiertes Haushaltsbuch erstellen.

Dafür habe ich drei Tabellen erstellt. Eine Tabelle enthàlt die
Hauptkategorien, in die Geld versickert (bspw. Auto, Hobby,
Versicherung...). Eine weitere Tabelle enthàlt die Kostenstellen, wie
TÜV(Auto), Sprit(Auto), GEZ(Fixkosten), ...
Und eine Tabelle (Ausgaben), die die tatsàchlichen Ausgaben enthalten soll.
Diese Tabelle enthàlt eine ID, einen Eurowert und die KostenstellenID der
aktuellen Ausgabe.

Nun möchte ich ein Formular bauen, mit dem ich recht elegant zunàchst die
Hauptkategorie in einer Textbox auswàhlen kann (funktioniert) und dann
sollen auf Grund der Auswahl nur die Kostenstellen in einer weiteren
Textbox angezeigt werden, die in die entsprechende Hauptkategorie fallen.
Dann möchte ich die entsprechende Kostenstelle auswàhlen und in einem
weiteren Feld den Geldbetrag eingeben.

Hier habe ich nun folgende Fragen:
1) Wie kann ich den Inhalt einer Textbox von der Auswahl einer anderen
abhàngig mit Daten befüllen? Ich habe irgendwo vor Kurzem gelesen, daß das
nur über Makros funktionieren soll. Aber keine Ahnung wo ich das gelesen
habe und wie man überhaupt die Makros programmieren soll. Ich programmiere
normalerweise in C, C++, Perl, Bash oder Java...
2) Wie kann ich eine Tabelle gestalten, in der ich den Key-Parameter nicht
als Integer-Wert eingestellt habe, sondern als Text. Bspw. kann es nur eine
Hauptgruppe "Auto" geben. Da macht es doch Sinn, diesen Text als
Key-Parameter anzugeben. Genauso wie für die Kostenstellen, dort jedoch
zusàtzlich noch abhàngig von der zugehörigen Hauptgruppe.

Vielen Dank schonmal im Vorraus,
Gruß Torben
 

Lesen sie die antworten

#1 Marc Santhoff
21/02/2008 - 05:52 | Warnen spam
Torben Keil schrieb:

1) Wie kann ich den Inhalt einer Textbox von der Auswahl einer anderen
abhàngig mit Daten befüllen? Ich habe irgendwo vor Kurzem gelesen, daß das
nur über Makros funktionieren soll.



Würde ich auch sagen. Ohne gerade Lust zum Testen zu haben (für das
Abfragen und Setzen von Kontrollfeldern steht was in der Onboard-Hilfe ->
F1 drücken und Makrokapitel lesen):

Du liest aus der Kategorien-Textbox den Wert aus und benutzt diesen um den
Filter auf das betreffende Formular zu setzen. Die Filterformulierung ist
die WHERE-Klausel einer SQL Abfrage auf die Tabelle

Standard: SELECT * FROM Tabelle
gefiltert: SELECT * FROM Tabelle WHERE <was in der Filtereigenschaft steht>

Sollte etwas sein wie

Form = doc.DrawPage.Forms().getByName("Standard")
Form.Filter = "Kategorie=" & Wert
Form.ApplyFilter=TRUE
Form.reload

GGf. mit

FormFilter = ""

wieder zurücksetzen (z.B. beim Reset, also neuem Datensatz).
Wahrscheinlich wirst Du für diese Aktion den Filter in einem Unterformular
setzen müssen. Im Formulargestalter den NAvigator öffenen und mit
rechtsklick geht's. Alles weitere steht in der Hilfe: F1 drücken und nach
"Unterformular" suchen.

Aber keine Ahnung wo ich das gelesen
habe und wie man überhaupt die Makros programmieren soll. Ich programmiere
normalerweise in C, C++, Perl, Bash oder Java...



s.o., F1

2) Wie kann ich eine Tabelle gestalten, in der ich den Key-Parameter nicht
als Integer-Wert eingestellt habe, sondern als Text. Bspw. kann es nur eine
Hauptgruppe "Auto" geben. Da macht es doch Sinn, diesen Text als
Key-Parameter anzugeben. Genauso wie für die Kostenstellen, dort jedoch
zusàtzlich noch abhàngig von der zugehörigen Hauptgruppe.



Kannst Du machen, ein Primàrschlüssel kann auch eine Zeichenkette sein. Ob
das "gut" ist, mußt Du selbst eintscheiden. Im ersten Moment sind solche
Tabellen einfach zu handhaben, aber wenn die Anwednung komplexer wird,
kann das eine Zeitbombe sein.

- mit Textfeldern kann man nur umstàndlich rechnen
- wenn in anderen Tabellen ID-Wert-Paare liegen sind die Strukturen
inkonsistent und die Tabellen wollen unterschiedlich behandelt werden
- insbesondere bei "sprechenden Namen" ist Vorsicht geboten, die kommen
bei größeren Datenmengen gern mal mehrfach vor (Nachnamen,
Produktkurznamen)

Viel Spaß,
Marc

(Please reply to newsgroup)

Ähnliche fragen