Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Formular beim öffnen "Filtern"

Begonnen von wombl, Februar 04, 2011, 10:50:37

⏪ vorheriges - nächstes ⏩

wombl

Hallo,

ich bin neu hier, und für alle die es Interessiert, ich bin KEIN Access Profi, sondern probiere einfach so lange herum, bis ich die Funktion die ich benötige erhalte.

System:

win XP SP3
MS Office 2007
Das klappt eigentlich ganz gut, aber, nun habe ich folgendes Problem:

Ich erstelle im Moment eine Adressdatenbank, welche eigentlich schon so gut wie fertig ist. Aus dieser Datenbank wird dann der gesamte Rechnungslauf meiner Firma bearbeitet.

Mein Problem ist folgendes.

Oft kommt es vor das ein Kunde von mir eine Adresse hat (firmensitz) aber die Rechnungen sollen direkt in die jeweilige Niederlassung geschickt werden.


Normalerweise ist es so, das mein Rechnungsformular als Empängeradresse die Adresse nimmt, welche im Formular Kunden-Stammdaten angegeben wird. Wird jedoch eine Checkbox angeklickt dann öffnet sich ein kleines Formular (Rechnungsadresse), wo eben die Rechnungsadresse eingegeben werden kann.

Für alle die nun meinen das geht einfacher, wie gesagt, ich bin KEIN Profi, sondern maxmimal ein lernfähiger Laie, der versucht das bestmögliche zu machen. Optisch schaut es toll aus und somit will ich es auch dabei belassen!

Meine Frage ist nun folgende:

Wie schaffe ich es, das das Formular wo die Rechnungsadresse eingegeben werden kann AUTOMATISCH mit der ID des Kunden geöffnet wird, den ich eben gerade bearbeite(anlege)

ID Ist bei mir der Autowert.

BEIDE Formulare werden aus einer Tabelle erzeugt (Kunden-Stammdaten)

Vermutlich gibts dafür einen ganz einfachen trick, und ich seh vor lauter Bäumen den Wald nicht. (Filterbefehl beim LAden? Kann man das Feld ID mit dem Wert IDvon einem anderem Formular filtern? Selbst dann wenn es das GLEICHE Feld in der Tabelle ist???)  Würde es helfen wenn ich in der Tabelle ein eigenes Feld für die Kundennummer des Formulars Rechnungsadresse anlege und dem bei Laden des Formulars den Fixwert des Feldes ID vom Formular Kunden-Stammdaten zuordne? Wenn ja, wie müsste dann der Befehl aussehen, damit word dann auch tatsächlich die adresse nimmt die im Formular Rechnungsadresse steht?

Hilfe ist willkommen und ich wäre dafür auch wirklich sehr dankbar!

Dabei habe ich noch eine Frage, die ist nicht ganz so wichtig, aber wenn dafür jemand einen Tip hat, wäre es auch toll. Eigentlich wollte ich beim LAden des Hauptformulars einen Befehl eingeben, der mein Formular Maximiert, und Access gleichzeitig minimiert... so weit so gut, ABER: sobald der Befehl ausgeführt wird, kann ich im Formular keine Rechte Maustaste verwenden (Dumm, denn der Filterbefehl ist manchmal notwendig)

wenn ich access NICHT minimiere funktionierts wieder, aber,...... wieso?

Liebe Grüße
wombl

database

Hallo,

und warum erstellst du am Formular, in dem du die Kundendaten eingibst nicht die paar Felder für die Rechnungsadresse, wenn sich sowieso alle Informationen in der gleichen Tabelle befinden?
Damit hast du alles auf einen Blick beisammen und du ersparst dir das Gewürge mit dem 2. Formular.

ZitatWird jedoch eine Checkbox angeklickt dann ...
Und den Wert dieser Checkbox wiederum KÖNNTEST du als Kriterieum heranziehen, welche Adressfelder für die Rechnung herangezogen werden sollen - z.B. mit 2 unterschiedliche Abfragen geregelt.
Denkbar wäre hierbei das Rechnungsform entsprechend dem Chekbox-Wert die Abfrage mit der Rechnungsadresse oder die Abfrage mit der Kundenadresse als Datenherkunft zugewiesen bekommt.

ZitatEigentlich wollte ich beim LAden des Hauptformulars einen Befehl eingeben, der mein Formular Maximiert, und Access gleichzeitig minimiert ...
Und was ist der Grund für diese - mir nicht ganz verständliche - Aktion?
Das Eine kann ohne das Andere nicht...  

wombl

Hallo,

erst mal danke für deine Antwort.

Zitatund warum erstellst du am Formular, in dem du die Kundendaten eingibst nicht die paar Felder für die Rechnungsadresse, wenn sich sowieso alle Informationen in der gleichen Tabelle befinden?
Damit hast du alles auf einen Blick beisammen und du ersparst dir das Gewürge mit dem 2. Formular.

Die Idee hatte ich schon, aber, ich wollte eben nicht das die Felder "fast" immer leer am Formular sichtbar sind! gibts ne chance felder zu verstecken, und nur wenn die "checkbox" angeklickt wird werden sie sichtbar?

Wenn ja wie schaut da der code dafür aus?

Die variante ist ja von mir verworfen worden, weil mein wissen über access dafür nicht reicht!
Da sich die Datenbank jetzt gerae erst im Aufbau befindet habe ich jetzt noch die Zeit und die chance das ganze ordentlich zu gestallten und auch optisch ansprehcend zu machen. Wenn ich erst mal damit arbeite werd ich die zeit nicht mehr haben.

Leider hab ich viel mehr ideen und wünsche was das ding können soll, als wissen wie es das können soll :((


ZitatEigentlich wollte ich beim LAden des Hauptformulars einen Befehl eingeben, der mein Formular Maximiert, und Access gleichzeitig minimiert ...

der grund war rein optischer Natur, aber wie gesagt das problem ist erstens nciht so wichtig, und zweitens hab ichs jetzt schon so gelöst das access nicht minimiert sondern nur verkleinert wird und als gaaaaaanz kleines fenster ca 0,5 x 2 cm offen bleibt! damit schauts gut aus, und funktioniert einwandfrei

LG

wombl

DF6GL

#3
Hallo,

bei der ganzen Geschichte rate ich dazu, erstmal auf solche "Design-und Ansicht-Spirenzien" zu verzichten, und zunächst auf die korrekte Ablauffunktionalität zu achten..


Um z. B. selten gebrauchte Felder zu "verstecken" könnte man ein Registersteuerelement heranziehen, das auf der zweiten Seite eben diese Felder enthält und auf der ersten die eigentlich "wichtigen".  Die "ganz wichtigen / unverzichtbaren" werden außerhalb des Registers direkt auf dem Formular platziert ...


Zum 2. Punkt:   Sehr wahrscheinlich hast Du das Form als Popup definiert, wenn es außerhalb des Access-Fensters liegen kann.  Damit handelst Du Dir aber mitunter Sackgassen ein, wenn andere Formulare/Berichte nicht auch als Popup definiert werden (können) und somit im minimiertem Access-Fenster gar nicht sichtbar werden, oder andere Forms "dahinter" liegen und sie nicht zugänglich sind.

database

Hallo,

also ...  man kann nicht immer davon ausgehen, dass auf einem Formular alle felder ausgefüllt werden.
Wenn dich das aber stört, kannst du die nicht befüllten Felder bzw. die Felder, die du nicht benötigst relativ einfach verbergen.

Im Formularentwurf klickst du auf die Checkbox und wählst auf der Eigenschaftsseite ---> Ereignisse
Hier das Ereignis 'Beim Klicken', im Dropdown den Eintrag [Ereignisprozedur] und danach die drei Punkte rechts davon.

In der Prozedur gibst du dann folgenden Code (Namen angepasst) ein:

Private Sub DeineCheckbox_Click()

   If Me!DeineCheckbox = -1 Then    'angeklickt
        Me!DeinFeld1.Visible = True
        Me!DeinFeld2.Visibl3 = True
        ....
        ...
        ..
    Else
        Me!DeinFeld1.Visible = True
        Me!DeinFeld2.Visibl3 = True
        ....
        ...
        ..
   End If

End Sub


Damit der Effekt auch dann erscheint, wenn du die Datensätze wechselst, also in den Datensätzen vor und zurück scrollst
soll der Code auch in die Prozedur

Private Sub Form_Current()

   If Me!DeineCheckbox = -1 Then    'angeklickt
        Me!DeinFeld1.Visible = True
        Me!DeinFeld2.Visibl3 = True
        ....
        ...
        ..
    Else
        Me!DeinFeld1.Visible = True
        Me!DeinFeld2.Visibl3 = True
        ....
        ...
        ..
   End If

End Sub


Natürlich ist das nicht besonders optimal, da der Code auch so geschrieben werden könnte (sollte) dass er in der DB nur einmalig vorkommt und von verschiedenen Stelen aus aufgerufen werden kann - ich denke aber, dass du am Anfang genug andere Sorgen haben wirst, dich zurecht zu finden.


Wenn die Geschichte mit dem Fenster minimieren deshalb für dich interessant ist, weil dich bei Acc 2007 oder 2010 die Ribbonleiste stört ... die kannst du ganz leicht mit  STRG + F1 aus- und einblenden. Die Statusleiste, Navigationsbereich, Menüleiste etc. kannst du über die Eigenschaften/Optionen der aktuellen Datenbank aus- oder einblenden. Das Access-Fenster und seine Formulare gehören zusammen, die kannst nicht einfach trennen ohne dass Probleme entstehen.

HTH