Seite 1 von 1

Tabelle in Formular ändern?

Verfasst: Mo, 08.09.2008 17:04
von Kruto
Hallo zusammen,

ich hab ein Problem mit einem Formular. Und zwar möchte ich ein einfaches Formular zur Dateneingabe und Datenausgabe machen.
Die Daten liegen in einer Datei "Kundennummer" mit mehreren Tabellen ( Kunde A, Kunde B, Kunde C, )mit den gleichen Spalten(Kunden-Nr.,Name,Adresse,PLZ,Ort). Ein zusammenfügen der Tabellen in einer ist nicht möglich da die Kunden einen eigenen Nummernbereich haben ( wegen Steuerberater )

Die suche in den Daten ist kein Problem, das habe ich mit eine union Abfrage gemacht und dann wurden mir alle Daten angezeigt.
Doch bei der Dateneingabe ist das ganze schon etwas kniffliger. Ich habe jetzt in meinem Formular für die Suche noch ein Subformular für die Dateneingabe gemacht. Bei Formular-Eigenschaften des Subformulars habe ich als Datenquelle dieselbe Datei und unter Inhalt "Kunden A" eingetragen.
Es funktioniert jetzt auch alles so wie es sollte, außer das ich nur in die Tabelle Kunden A Daten eintragen kann.
Gibt es eine möglichkeit oder ein fertiges Script mit dem ich die Tabelle im Formular einstellen kann? Oder sonst eine gute einfache Möglichkeit das später leicht aus dem Formular heraus zu ändern?
Ihr würdet mir wirklich sehr weiterhelfen.

Danke

Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Mo, 08.09.2008 20:56
von Barlee
Hallo Kruto,

würde es für Deine Zwecke nicht reichen, zwei weitere Subformulare für Kunde B und Kunde C zu erstellen?
vgl: "Formular Navigator" viewtopic.php?f=8&t=18257&p=76907&hilit=formular#p76907

Gruß Barlee

Re: Tabelle in Formular ändern?

Verfasst: Di, 09.09.2008 10:55
von Kruto
Hab ich mir auch schon überlegt. Es wäre aber denke ich ein bißchen viel für ein Formular wenn das gesamte Alphabet einfügen würden. Dann hätte ich kaum noch Platz für die Suchen. Es wäre aber bestimmt eine Notfall-Lösung.
Ich dachte halt das man das alles in einem Formular machen könnte. Also sprich nur die entscheidene Tabelle auswählen und dann kann man den Kunden eintragen.
Es wäre super wenn jemand noch was einfallen würden.

Gibt es außerdem eine Möglichkeit in Base die Eingabe in einem Feld nur auf bestimmte Zahlenblöcke zu beschränken?
Ich hatte in Access immer eine Beschränkung bei den Kundennummern drinnen. Die war recht praktisch wegen Falscheingabe. Es durften z.B. für die Kunden B nur die Nummer bis 22299
verwendet werden, danach fingen die neuen Nummern erst wieder bei 31100 an und gingen bis 32299. Die Formel die ich dazu bei der gültigkeits Regel eingetragen habe war ungefähr so "(>=21100 Und <=21299) Oder (>=31100 Und <=31299) Oder (>=41100 Und <=41299) Oder (>=51100 Und <=51299) Oder (>=61100 Und <=61299)".
Dadurch konnten die Leute nur die richtigen Nummern eintippen. Die Nummern müssen wir halt so komisch vergeben wegen unserem Steuerberater.
Gibt es die Funktion auch in Base ?

Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Di, 09.09.2008 22:06
von Barlee
Hallo Kruto,
Gibt es die Funktion auch in Base ?
schau Dir mal in den Base Formularen die "formatierten Felder"an. Diese erlauben minimale/maximale Werte.
Vielleicht hilft Dir das weiter.

Gruß Barlee

Re: Tabelle in Formular ändern?

Verfasst: Mi, 10.09.2008 16:33
von Kruto
Hallo Barlee,

danke für die Antwort. Das Problem an deiner Lösung ist das ich keine durchgehenden Nummern habe.
Die fangen z.B. für die Kunden mit dem Anfangsbuchstaben "B" bei 21100 an, gehen dann bis 21299. Dazwischen darf ich keine Nummern für Kunden "B" vergeben, weil die wieder von einem anderen Kunden z.B. die mit Anfangsbuchstaben "C" belegt sind. Falls ich weitere Nummern für Kunden "B" benötige muß ich dann bei 31100 bis 31299 weitermachen.
So hatte ich das in Access eingetragen.
"(>=21100 Und <=21299) Oder (>=31100 Und <=31299) Oder (>=41100 Und <=41299) Oder (>=51100 Und <=51299) Oder (>=61100 Und <=61299)"

Es war keine sauber Lösung hat aber funktioniert. Bei Base hab ich nun leider keinerlei Möglichkeit die Fehleingaben zu verhindern.
Das geht auf Dauer nicht gut. Falls es eine Lösung mit einem Script geben würde wäre das für mich auch super.

Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Fr, 12.09.2008 08:24
von Kruto
Kann mir keiner weiterhelfen ? Weiß keiner welche Möglichkeiten ich noch habe um das eintragen falscher Nummern zu verhindern ?
Wäre es vielleicht mit einem macro möglich?


Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Fr, 12.09.2008 20:57
von Barlee
Hallo Kruto,

ich überlege gerade, ob man den möglichen (erlaubten) Wertebereich nicht schon bei der Erstellung der Tabelle berücksichtigen kann und ihn der entsprechenden Spalte quasi als "Eigenschaft" mitgibt, so dass sie nur bestimmte Eingaben akzeptiert. Stichwort CONSTRAINTS.
Bereits bestehende Tabellen kannst Du natürlich auch ändern:

Also z.B. in der HSQLDB unter Extras/SQL fügst Du folgendermaßen einen CONSTRAINT zu einer Tabelle hinzu:

Code: Alles auswählen

ALTER TABLE "Tabelle" ADD CONSTRAINT
"Spalte1" CHECK ("Spalte1" between 1001 and 1254 or "Spalte1" between 3023 and 4532 or...)
Gibst Du nun Daten in die Tabelle ein, die nicht der Gültigkeitsbedingung entsprechen, wird das von der DB mit dem Hnweis auf einen Constraint verweigert

Hast Du in diese Richtung schon recherchiert bzw. probiert?

(oder evtl.-falls Constraints nicht in Frage kommen- nochmal im Makroforum "OOo Basic " nachfragen. Möglicherweise kann man das ja wirklich darüber lösen...)
Gruß Barlee

Re: Tabelle in Formular ändern?

Verfasst: Mo, 15.09.2008 14:20
von Kruto
Hallo Barlee,
ich kann das leider im Moment nicht testen ( Bin auf der Arbeit ). Aber heute Abend schau ich mal.
So ähnlich hatte ich das in Access gemacht. Da konnte man das auch direkt bei der erstellung der Tabelle machen.

Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Fr, 19.09.2008 15:36
von Kruto
Hallo,

ich hatte jetzt erst Zeit um das zu testen. Ich hab das Problem das ich immer die Fehlermeldung bekomme:

SQL-Status: HY000
Fehler-Code: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE


Ich hab das ganze so in der Form unter SQL Ansicht eingetragen. Ich kenn mich mit programmierung eigentlich garnicht aus.

ALTER TABLE "Kunden A" ADD CONSTRAINT
"Kundenacons" CHECK ("KundenNr" between 41100 and 41299 or "KundenNr" between 51100 and 51299)

Weiß jemand warum ich immer die selbe Fehlermeldung eintragen.

Gruß Kruto

Re: Tabelle in Formular ändern?

Verfasst: Fr, 19.09.2008 19:56
von Barlee
Hallo Kruto,

Dein Fehler liegt hier:
Ich hab das ganze so in der Form unter SQL Ansicht eingetragen
Beachte meinen letzten Beitrag. Verwaltungsbefehle musst Du unter Extras/SQL absetzen!

Gruß Barlee

Re: Tabelle in Formular ändern?

Verfasst: Fr, 26.09.2008 07:59
von Kruto
So ich bin jetzt endlich dazu gekommen das ganze zu testen und es hat funktioniert.
Danke dir Barlee für deine Hilfe.