Quell-Tabelle dynamisch wählen

Dieses Thema im Forum "Office-Programme" wurde erstellt von slobbi, 24. September 2001.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. slobbi

    slobbi ROM

    Registriert seit:
    24. September 2001
    Beiträge:
    7
    Ich arbeite gerade an einer ACCESS-Anwendung für einen Tischlereibetrieb, dabei hat sich mir folgendes Problem gestellt.

    In einem Rechnungsformular können die Artikel ausgesucht werden.
    Für die Preise ist aber die Ausführung (3 Kriterien: Material, Innenleben und Türe) ausschlaggebend.
    Ich habe schon für jede mögliche Kombination eine Tabelle mit den entsprechenden Preisen erstellt, dabei spiegelt der Tabellenname die Ausführung wieder:

    zB: 010203
    Dabei sind je 2 Ziffern ein Kriterium.

    Nun soll im Rechnungsformular-Kopf (oder wo anders) mit 3 verschiedenen Feldern die Ausführung gewählt werden können und damit die, für das Formular zugrundeliegende, Tabelle gewählt werden:

    zB: Material: 01 , Innenleben: 02 , Türe: 03

    ==> Es wird Tabelle "010203" verwendet

    Bisher konnte mir noch niemand bei diesem Problem helfen und ich wurde immer mit:"Das muss programmiert werden, aber das kann ich nicht!" zu jemand anderem weiterverwiesen.

    Es würde mich sehr freuen, wenn mir jemand helfen kann.
     
  2. RitaBock

    RitaBock Byte

    Registriert seit:
    8. August 2000
    Beiträge:
    57
    Es ist wahr, dass das programmiert werden muss, ist aber nicht sehr schwer:

    Die Eigenschaft RecordSource darf nicht fest in den Eigenschaften zugewiesen werden.

    Gehe bei den Eigenschaften des Formulars auf Ereignisse/Beim Öffnen und klicke dort auf die Punkte,wähle Ereignisprozedur.

    Dort schreibe in Form_Open

    me.RecordSource="010203"

    Der entsprechende Name muß natürlich vorher "zusammengebastelt werden.

    z.B.

    dim Nametab

    Nametab="01" & "02" & "03"
    me.RecordSource=Nametab
     
  3. neanderix

    neanderix Kbyte

    Registriert seit:
    18. April 2000
    Beiträge:
    186
    >Ich habe schon für jede mögliche Kombination eine Tabelle mit den entsprechenden Preisen erstellt,
    dabei spiegelt der Tabellenname die Ausführung wieder:

    Warum dass? Das Design ist, sorry fuer die drastischen Worte, krank, es widerspricht voellig dem Relationenmodell.

    Anders ausgedrueckt: du kannst dessen Vorteile und Staerken nicht nutzen.

    Besser: je eine Tabelle fuer Tuere, Innenleben und Material.
    In jeder Tabelle ist ein eindeutiges Schluesselfeld.

    Jetzt kommt eine 4. Tabelle hinzu, in der lediglich 3 Felder existieren, naemlich die Fremdschluesselfelder zu den anderen drei Tabellen.

    Auf diese Weise kannst du nicht nur fest vorgegebene Kombinationen erschlagen, sondern so ziemlich alles, was denkbar ist.

    Und: der preis einer Tuere kann jetz ganz einfach per Abfrage bestimmt werden, man muss nicht mehr programmieren.

    Bei deiner Loesung kommt man um das Programmieren nicht herum - und bei jeder Erweiterung (z.B. weil ein weiteres Material oder eine weitere "Innenleben"-Ausfuehrung dazu kommt) muesste das programm angepasst werden.

    Volker

    Volker
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen