Tabelle in Formular ändern?
Moderator: Moderatoren
Tabelle in Formular ändern?
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
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?
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
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?
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
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?
Hallo Kruto,
Vielleicht hilft Dir das weiter.
Gruß Barlee
schau Dir mal in den Base Formularen die "formatierten Felder"an. Diese erlauben minimale/maximale Werte.Gibt es die Funktion auch in Base ?
Vielleicht hilft Dir das weiter.
Gruß Barlee
Re: Tabelle in Formular ändern?
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
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?
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
Wäre es vielleicht mit einem macro möglich?
Gruß Kruto
Re: Tabelle in Formular ändern?
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:
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
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...)
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?
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
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?
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
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?
Hallo Kruto,
Dein Fehler liegt hier:
Gruß Barlee
Dein Fehler liegt hier:
Beachte meinen letzten Beitrag. Verwaltungsbefehle musst Du unter Extras/SQL absetzen!Ich hab das ganze so in der Form unter SQL Ansicht eingetragen
Gruß Barlee
Re: Tabelle in Formular ändern?
So ich bin jetzt endlich dazu gekommen das ganze zu testen und es hat funktioniert.
Danke dir Barlee für deine Hilfe.
Danke dir Barlee für deine Hilfe.