Announcement

Collapse
No announcement yet.

combobox RowSource aendern + speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • combobox RowSource aendern + speichern

    Kurzform der Frage: Wenn ich in einer NotInList-Ereignisprozedur einer ComboBox den Wert von RowSource veraendere, wie erreiche ich, dass diese Aenderung abgespeichert wird, und beim naechsten Start der Datenbank erhalten bleibt?

    Ausfuehrliche Erlaeuterung (warum ich das machen will):
    Ich arbeite an einer Datenbank fuer eine universitaetsuebergreifende Beratungsstelle. In der Addressdatenbank gibt's mehrere Felder, die am Besten durch dynamisch erweiterbare ComboBoxen dargestellt werden. z.B. Universitaet oder Fachbereich. Es waere sehr unpraktisch, alle Hochschulen im Voraus einzugeben, oder alle moeglichen Fachbereiche. Sinnvoll waere es, wenn die Sekretaerin einen Datensatz eingibt und einen Fachbereich braucht, der noch nicht erfasst ist, diesen in dem Moment neu zu erfassen.

    Eine Loesung ist, die Elemente der ComboBox in einer eigenen Tabelle zu speichern, und diese Tabelle dann zu erweitern. Ich finde diese Loesung aber nicht sehr schoen, da ich ca. 10 solcher Attribute habe, das wuerde zu 10 kleinen Tabellen mit jeweils ca. 5-10 Eintraegen fuehren. Ich finde das etwas verschwenderisch.

    Schoener waere es, ich koennte den RowSourceType (Herkunftstyp) "Wertliste" verwenden, und die paar Elemente der ComboBox in RowSource (Datensatzherkunft) speichern. Das funktioniert auch prima, nur wie kann ich die geaenderte RowSource abspeichern?

  • #2
    Originally posted by batox View Post
    Ich finde das etwas verschwenderisch.
    Ich hielte das für gutes Appdesign (Trennung Daten und Applikation), 5 Einträge oder nicht.

    DU kannst ja auch alle Box-Auswahloptionen ein einer einzigen Tabelle speichern (versehen mit irgend einer Field-id) , wenns dir zu viele Tabellen werden würden

    Schoener waere es, ich koennte den RowSourceType (Herkunftstyp) "Wertliste" verwenden, und die paar Elemente der ComboBox in RowSource (Datensatzherkunft) speichern. Das funktioniert auch prima, nur wie kann ich die geaenderte RowSource abspeichern?
    Zum speichern von Daten nimmt man normalerweise eine Datenbank her

    Die Katze beisst sich in den Schwanz

    Comment


    • #3
      Originally posted by dasblauehandtuch View Post
      Ich hielte das für gutes Appdesign (Trennung Daten und Applikation), 5 Einträge oder nicht.

      [...] snip

      Zum speichern von Daten nimmt man normalerweise eine Datenbank her
      Ja, du hast schon Recht. Andererseits geht's doch nur um einen kleinen Speicher fuer schon mal eingegebene Werte - jeder Browser macht das, oder Outlook merkt sich die Adressen - wieso muss ich diese eigentlich ziemlich grundlegende Funktionalitaet selber bauen, und dabei noch die Zahl Tabellen mehr als verdoppeln?

      Aber ich fuerchte (wie oefters in solchen Faellen), es gibt keine gescheite Loesung... schade, mit der RowSource war ich schon ganz nah dran, nur abspeichern hat noch gefehlt. Naja, hauptsache funktioniert

      Comment


      • #4
        Hallo Batox,
        schade, mit der RowSource war ich schon ganz nah dran, nur abspeichern hat noch gefehlt
        Die Werteliste gibt man eim Entwurfsmodus an, ist somit eigentlich festgelegt.
        Man kann sie auch zur Laufzeit noch ändern und dies speichern; aber diese Speichern stellt dann eine Entwurfsänderung dar.
        Das bedeutet die Access Anwendung muss als MDB vorliege; in MDE sind Änderungen nicht möglich.
        Dann muss die Anwendung im Einzeluser Modus sein; hat ein zweiter User die Anwendung offen, geht es auch nicht.

        Tabellen als Quelle sind eigentlich das weit geeignetere Mittel für solche Anforderungen.
        Olaf Helper

        <Blog> <Xing>
        * cogito ergo sum * errare humanum est * quote erat demonstrandum *
        Wenn ich denke, ist das ein Fehler und das beweise ich täglich

        Comment


        • #5
          O.Helper, das war *sehr* erhellend. Ich mach's jetzt mit Tabellen, und sogar ohne schlechtes Gefuehl.

          Danke!

          Comment

          Working...
          X