Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Access: Clevere Endlosformulare

Zusätzliche Bedingungen definieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Abhängig von bestimmten Umständen kann die Schaltfläche auch drei statt bisher zwei Zustände anzeigen. Lassen Sie sich in diesem Video die dazu notwendigen Schritte erklären.

Transkript

Diese Anpassung des Hintergrundes muss für das "Kleben" hier, für diese Schaltfläche noch weitergehender erfolgen. Sie erinnern sich vielleicht noch, dass ich bei der Tabelle "Artikel" hier eine Eigenschaft habe, die heißt "WirdGeklebt", denn Stülpkartons und Aufkleber werden gar nicht vor der Auslieferung geklebt, nur diese Kartons und da ist es wenig sinnvoll hier zum Beispiel das Kleben zu erlauben. Das eine ist, ich könnte diese Änderung auch hier für die Datumsfelder vornehmen im wirklichen Leben werde ich diese Datumsfelder sowieso deaktivieren dann ist das egal, ich werde mich also nur hier um diese Schaltflächen kümmern müssen. Und jetzt im Entwurf muss ich erst mal dafür sorgen, dass das Formular überhaupt weiß, welche Artikel geklebt werden. Ich habe also das gesamte Formular mit seinen Eigenschaften angeklickt und gehe jetzt hier auf die drei Pünktchen, damit ich dort eine Abfrage erstelle, die die bisherige Tabelle "Position" übernimmt. und zusätzlich die Artikel anzeigt. Von denen will ich alle, per Doppelklick das Sternchen, alle Felder aus der Tabelle "Position", aber nur, Doppelklick, zusätzlich, dieser "artik" wird geklickt. Jetzt kann ich hier schließen und "Ja", alles übernehmen dann steht das SQL-Statement hier drin und ich könnte jederzeit wieder angucken. Wenn ich das Formular jetzt speichere, ist das enthalten als zusätzlicher Wert. Ich werde das mal hinten mit anzeigen, also hier bei den vorhandenen Feldern ziehe ich das mal einfach so ganz lieblos hinten dran, und dann sehen Sie schon mal, für jede Zeile hier, da ist es sehen im Unterschied, wird angezeigt, ob dieser Artikel geklebt wird oder nicht. Diese dürfen gar keine Schaltflächen anzeigen. Es gibt also dunkelgrau, weiß oder was auch immer, sagen wir mal dunkelgrau, hellgrau und dann gibt es "gar nicht". "gar nicht" ist teilweise sehr einfach herzustellen, nämlich, indem wir uns den Text angucken von dieser Schaltfläche, aber die so natürlich nicht zu markieren, die muss ich also hier, das steht im Textfeld dahinter, in "edtGeklebt" finden, wo haben wir's? Da. Dort sehen Sie, ist eine "wenn"-Funktion, die kann ich mir hier im Detail angucken. Wenn nämlich das "positDatumGeklebt" leer ist, "Null", dann steht dort "Kleben" und sonst steht "Geklebt". Jetzt prüfe ich eins mehr, nämlich "wenn artikWirdGeklebt", hieß das Feld, gleich "0" ist, Semikolon, dann wird er nämlich nicht geklebt, also Gänsefüßchen auf, Gänsefüßchen zu, ein sog. Leerstring und Semikolon, andernfalls passiert der ganze Rest, das was da vorher schon drin stand und das ist die äußere "wenn"-Klammer. Ein erstes "OK" hier, ein zweites Return, dann ist der Syntax-Check da, dann gucken wir erst mal, wie es im Moment wirkt Also, die Texte verändern sich schon, "Kleben", "Geklebt" oder gar nichts. Jetzt muss ich hier noch das Grau wegkriegen. Also,in Entwurf, es trifft wieder das Feld "edtGeklebt", das ist nämlich in diesem Zustand normalerweise grau und dort will ich jetzt bei der bedingten Formatierung eine zusätzliche Regel einfügen. Und zwar sagt die neue Regel, der Ausdruck "artikWirdGeklebt", damit ich mich nicht verschreibe, kann ich ihn hier abholen, jetzt muss ich ihn nur finden, da, per Doppelklick. Wenn der gleich "0" ist, dann wird der Artikel nämlich nicht geklebt, dann soll was passieren und in diesem Fall passiert, dass der Hintergrund weiß wird. Ich mache ihn mal deutlich erst mal in einer anderen Farbe, rot, damit Sie sehen, dass es wirklich funktioniert, weil es in zwei Fällen ein Weiß sein wird und achten Sie bitte drauf, im Moment steht das als zweite Bedingung und nach dem "OK" und in dem Formular sehen Sie, es funktioniert nicht. Wichtig ist die Reihenfolge. In der bedingten Formatierung werden die Regeln von vorne nach hinten, von oben nach unten abgearbeitet und das bedeutet, diese Regel greift zuerst. Wenn die Regel nicht greifen würde, käme ich hier rein, das gelingt aber nicht, weil die erste Regel schon zugeschlagen hat. deswegen muss ich diese Regel vorrangig machen und dann sehen Sie nach dem "OK", das es jetzt auch rot färbt, so findet man den Fehler leichter und jetzt kann ich das Rot auch wieder auf weiß stellen, also hier in der bedingten Formatierung, das ist ein bisschen Klickerei, wenn man da immer hin und her muss, aber das hilft ja nichts. Jetzt kann ich hier die Regel bearbeiten und dort dann auch die Farbe auf weiß stellen, oder was auch immer Sie an der Stelle wollen. und nach dem "OK" wird das entsprechend funktionieren. Achten Sie also darauf, die erste Regel, die akzeptiert wird, gewinnt und folgende werden übrigens gar nicht angewendet und nach dem "OK" sollte es jetzt korrekt funktionieren. Speichern kann nicht schaden. Also, hier gibt es jetzt die drei Zustände. ich will das aufheben, ich will das setzen und hier gibt es eigentlich gar nichts zu tun. Allerdings weiß das die VBA-Programmierung noch nicht, der muss ich das also auch beibringen, das kann ich sogar direkt von hier aus mit Alt+F11. Das ist in dem "frmPositionen", es ist "btnGeklebt_Click!" und den muss ich jetzt zusätzlich prüfen, so wie ich das eben auch gemacht habe, "if me.artikWirdGeklebt.Value", Sie können jetzt schreiben "= true", aber da das ein "true/false"-Wert ist, kann man sich das auch schenken. Dann ist das erlaubt, ich kann jetzt diese schon mal markieren mit der Tab-Taste, nach hinten schieben, andernfalls passiert nichts. Ich mache jetzt hier mal einen "Beep", obwohl an der Stelle wirklich kein "Beep" kommt, aber das ist dann sozusagen der Hinweis für den Benutzer, wenn dieses Piepen an den Rechner eingeschaltet ist: "Achtung, du hast zwar geklickt, aber ich will das nicht." Ansonsten machen Sie eine "MsgBox", können Sie auch zusätzlich machen. "Dieser Artikel wird gar nicht geklebt." und da reicht ein Ausrufezeichen, dass ist sowieso schon bedenklich, das ist immer am Rande einer Beschimpfung, aber wir können hier wenigstens einen "vbCritical" machen und diese "public"-Konstante, damit man sieht, das ist keine Access-Meldung. Dann gucken wir mal mit Alt+F11 im fertigen Formular. Ich klicke jetzt hier drauf, dann wird "Kleben" gesetzt oder wieder aufgehoben oder ich klicke hier und da kommt meine Meldung mit meinem Hinweis dass das hier gar nicht so gedacht ist. Was nicht geht, ist hier die Maushand wegzulassen, denn das wäre wieder ein VBA-Eingriff, der für alle gleichzeitig gilt. Also, damit muss man leben, das ist die kleine Einschränkung, aber zumindest optisch haben wir jetzt alle drei Zustände perfekt. Und damit ist hoffentlich auch das ganze Beispiel perfekt. Ich habe Ihnen gezeigt, wie Sie mit relativ einfachen Bordmitteln und zunehmender Bequemlichkeit sozusagen oder zunehmender Schönheit dafür sorgen konnten, dass Sie zeilenweise in Endlosformularen unterschiedliche Schaltflächen erzeugen, gerne auch mit Bildern, die auf den Daten-Eintrag jeweils reagieren und damit endlich das liefern, was Access nicht kann. Und ich hoffe jetzt, dass Sie in Ihren Endlosformularen nicht mehr endlos Probleme haben, sondern damit benutzerfreundliche Formulare verwirklichen können.

Access: Clevere Endlosformulare

Entwerfen Sie Endlosformulare in Access, bei denen die Schaltflächen je nach Inhalt des Datensatzes unterschiedlich sind.

1 Std. 3 min (13 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!