[basics] Das Access-Magazin für alle, die schnell von 0 auf 100 wollen

Größe: px
Ab Seite anzeigen:

Download "[basics] Das Access-Magazin für alle, die schnell von 0 auf 100 wollen"

Transkript

1 Access [basics] Das Access-Magazin für alle, die schnell von 0 auf 100 wollen Formulare mit VBA programmieren Teil I: Formularereignisse nutzen Formulare können zwar ohne eine Zeile VBA-Code dazu dienen, Daten anzulegen, zu bearbeiten und wieder zu löschen das haben Sie in einigen Artikeln bereits erfahren. Die notwendige Flexibilität erhalten Sie allerdings erst durch die Programmierung von Formularen. Die Programmiersprache für diesen Zweck heißt VBA. In diesem Artikel erhalten Sie grundlegende Informationen über die Programmierung von Formularen mit dieser Programmiersprache. Formulare und ihre Steuerelemente bringen bereits einiges mit, damit Sie diese ohne auch nur eine Zeile VBA sinnvoll einsetzen können. Wenn Sie ein Formular mit einer Tabelle als Datenherkunft versehen und die Felder dieser Datenherkunft aus der Feldliste in den Detailbereich des Formulars gezogen haben, erhalten Sie bereits eine beachtliche Menge Funktionen: Sie finden Steuerelemente wie Textfelder, Kombinationsfelder oder Kontrollkästchen vor, welche die Daten des jeweils aktuellen Datensatzes anzeigen. Sie können mit den Navigationsschaltflächen durch die Datensätze blättern. Änderungen an den Inhalten der Steuerelemente werden nach dem Speichern automatisch in die zugrunde liegende Tabelle geschrieben. Das Formular bietet Schaltflächen an, mit denen Sie es schließen oder seine Anzeige verändern können. Normalerweise werden Sie sich aber nicht auf diese Grundfunktionen beschränken wollen. Sie möchten Was Sie in diesem Artikel lernen»» Wozu dienen Ereignisprozeduren?»» Wie legt man Ereignisprozeduren an?»» Welche Alternativen gibt es zu Ereignisprozeduren?»» Wie verwendet man den Cancel-Parameter einer Ereignisprozedur? Schlagzahl erhöhen Nachdem Sie nun fünf Ausgaben von Access [basics] erhalten haben, die bis auf eine Ausnahme ohne die Beschreibung von VBA-Techniken ausgekommen sind, wollen wir nun endlich beginnen, diese Programmiersprache zu lernen. Sie ahnen ja nicht, welche Fähigkeiten Sie Ihrer Access-Anwendung damit hinzufügen können! Klar, dass Sie Formulare und den Rest der Benutzeroberfläche damit automatisieren können. Aber später werden Sie damit auch andere Anwendungen wie Word oder Excel steuern, über das Internet auf Anwendungen wie ebay, Google oder Twitter zugreifen und vieles mehr. Zunächst jedoch konzentrieren wir uns auf unsere Beispielanwendung, die Projektzeiterfassung. Ihre Kenntnisse bezüglich VBA und Ereignisprozeduren, die Sie in dieser Ausgabe erwerben, können Sie nämlich gleich in die Praxis umsetzen. Beispielsweise im Artikel Formulare für die Dateneingabe Teil IV: Formulare öffnen und schließen. Wichtige Grundlagen dafür liefert der Artikel Formulare mit VBA programmieren Teil I: Formularereignisse nutzen. Dort erfahren Sie, wie Sie VBA-Code schreiben, der beispielsweise automatisch beim Öffnen eines Formulars ausgelöst werden soll. Außerdem beginnen wir unsere Reihe zum Thema Steuerelemente. Dort stellen wir das Schaltflächen-Steuerelement vor. VBA-Basics erhalten Sie vor allem im Beitrag VBA-Grundlagen Teil I: Einführung. Viel Spaß beim Lesen! [André Minhorst] In dieser Ausgabe: Formulare mit VBA programmieren Teil I: Formularereignisse nutzen Steuerelemente Teil I: Die Schaltfläche Formulare für die Dateneingabe Teil IV: Formulare öffnen und schließen VBA-Grundlagen Teil I: Einführung Abfragen für die Datenauswahl Teil II: Daten aus verknüpften Tabellen darstellen ISSN:

2 Bild 1: Das Eigenschaftsfenster mit den Ereigniseigenschaften einem Formular vielleicht eine eigene Schaltfläche zum Schließen oder zum Abbrechen der Eingabe mitgeben, ein anderes Formular zur Eingabe von Detaildaten öffnen, eine eigene Meldung anzeigen, wenn ein Benutzer eine ungültige Eingabe durchgeführt hat, oder den Inhalt eines Kombinationsfeldes in Abhängigkeit von einem anderen Wert anpassen möchten. Dazu müssen Sie auf den Klick auf eine Schaltfläche, das Abschließen einer Eingabe oder auch das Speichern eines Datensatzes reagieren. Damit dies möglich ist, liefert Access die sogenannten Ereigniseigenschaften. Diese finden Sie in der Entwurfsansicht eines Formulars auf der Seite Ereignis des Eigenschaftsfensters. Das Eigenschaftsfenster aus Bild 1 zeigt beispielsweise die Ereignisse für das Formular selbst an. Dies erkennen Sie daran, dass das Kombinationsfeld oben im Eigenschaftsfenster den Eintrag Formular anzeigt. Wenn Sie nun im Formular auf den Bereich unterhalb des Textes Detailbereich klicken, zeigt das Eigenschaftsfenster die Ereignisse dieses speziellen Bereichs an. Und wenn Sie ein Steuerelement, wie beispielsweise eine Schaltfläche, hinzufügen und dieses markieren, erhalten Sie im Eigenschaftsfenster die Ereignisse der Schaltfläche. ein Formular öffnen, wird das Ereignis Beim Öffnen ausgelöst. Wenn Sie das Formular schließen, feuert das Ereignis Beim Schließen. Manche Bezeichnungen sind nicht so intuitiv. Das Ereignis Beim Anzeigen beispielsweise erfolgt immer beim Anzeigen eines neuen Datensatzes, also prinzipiell bei jedem Datensatzwechsel. Für Schaltflächen ist das Ereignis Beim Klicken besonders wichtig. Es wird jedes Mal ausgelöst, wenn der Benutzer mit der Maus auf die Schaltfläche klickt (und auch, wenn die Schaltfläche den Fokus besitzt und die Leer- oder Eingabetaste betätigt wird). Bei den Steuerelementen, die Daten anzeigen also beispielsweise Text- oder Kombinationsfelder, sind andere Ereignisse wichtig: Beispielsweise das Ereignis Vor Aktualisierung, das kurz vor dem Speichern einer Änderung am Inhalt des jeweiligen Steuerelements ausgelöst wird. Schauen Sie sich nun an, wie Sie von den Ereignissen profitieren können. Von der Ereigniseigenschaft zur Ereignisprozedur Wenn Sie Redewendungen wie das Ereignis feuert oder das Ereignis wird ausgelöst hören, bedeutet dies, dass ein Ereignis eintritt. Das Ereignis Beim Die Namen all dieser Ereigniseigenschaften bezeichnen den Zeitpunkt, zu dem die entsprechenden Ereignisse ausgelöst werden. Wenn Sie etwa Bild 2: Einstellen des Wertes [Ereignisprozedur] für eine Ereigniseigenschaft Seite 2

3 Klicken tritt ein, wenn der Benutzer ein Objekt anklickt. Jede der Ereigniseigenschaften bietet Ihnen Gelegenheit, eine Aktion festzulegen, die beim Eintreten des Ereignisses ausgeführt werden soll. Für das Ereignis selbst spielt dies keine Rolle: Es tritt durch bestimmte Umstände ein, die in der Regel der Benutzer beeinflusst (etwa durch das Öffnen oder Schließen eines Objekts, einen Datensatzwechsel oder einen Mausklick). Mit der Ereigniseigenschaft legen Bild 3: Die neue Ereignisprozedur im VBA-Editor Sie fest, was beim Eintreten eines Ereignisses geschehen soll. In den meisten Fällen werden Sie eine VBA-Prozedur definieren, die einzig und allein dem Zwecke dient, beim Eintreten eines bestimmten Ereignisses aufgerufen zu werden und die gewünschten Aktionen auszuführen. Eine solche VBA-Prozedur legen Sie am einfachsten wie folgt an: Bild 4: Ein Klick zeigt das Meldungsfenster an. Bild 5: Vom Ereignis zur Ausführung der Ereignisprozedur Seite 3

4 Private Sub cmdmeldung_click() MsgBox "Klick auf Schaltfläche" End Sub Wechseln Sie nun in die Formularansicht des Formulars (von der Entwurfsansicht aus am schnellsten mit der Tastenkombination Strg + Punkt). Wenn Sie nun auf die Schaltfläche klicken, erscheint das erwartete Meldungsfenster (s. Bild 4). Bild 6: Direkter Aufruf einer VBA-Funktion per Knopfdruck Markieren Sie das Objekt, welches das Ereignis auslösen soll (also beispielsweise das Formular, den Detailbereich oder ein Steuerelement). Klicken Sie auf der Seite Ereignis des Eigenschaftsfensters auf die gewünschte Ereigniseigenschaft und wählen Sie dort den Eintrag [Ereigniseigenschaft] aus (s. Bild 2). Klicken Sie auf die Schaltfläche mit den drei Punkten (...). Nun erscheint der VBA-Editor und öffnet gleich ein bestimmtes Klassenmodul. Dieses Klassenmodul nimmt alle Ereignisprozeduren auf, die Sie für das aktuell geöffnete Formular anlegen werden. Sein Name wird automatisch durch Access festgelegt: Er besteht aus dem Ausdruck Form_ und dem Namen des Formulars, also beispielsweise Form_ frmbasicsereignisse. Der VBA-Editor hat diesem Klassenmodul gleich eine Routine hinzugefügt, die eigentlich wie eine ganz normale privat deklarierte Prozedur aussieht (mehr über Prozeduren erfahren Sie im Artikel VBA-Grundlagen Teil I: Einführung). Ihr Name weist jedoch darauf hin, dass es sich bei dieser Prozedur um eine sogenannte Ereignisprozedur handelt, also um eine Prozedur, die durch ein Ereignis ausgelöst wird. Sie besteht nämlich aus dem Namen des Objekts, hier der Schaltfläche cmdmeldung, einem Unterstrich und dem englischen Namen Click des im Eigenschaftsfenster ausgewählten Ereignisses Beim Klicken (s. Bild 3). Fügen Sie dieser Prozedur nun eine Anweisung hinzu, um ihre Funktionsweise zu testen beispielsweise wie folgt: Den gesamten Vorgang können Sie sich in Bild 5 ansehen. Wenn der Benutzer auf eine Schaltfläche klickt oder ein anderes Ereignis auslöst, prüft Access den Inhalt der entsprechenden Ereigniseigenschaft, hier Beim Klicken. Steht dort [Ereignisprozedur], untersucht Access das VBA-Klassenmodul des Formulars auf eine Prozedur, deren Name gemäß den Konventionen dem Namen des auslösenden Objekts und dem Ereignis, also etwa cmdmeldung_click, entspricht, und führt diese aus. In der Praxis gibt es noch weitere Möglichkeiten für das Einstellen einer Ereigniseigenschaft: Sie können hier beispielsweise den Namen einer VBA-Funktion oder -Prozedur eintragen egal, ob Sie eine eingebaute oder eine benutzerdefinierte Routine verwenden. Bild 6 zeigt, wie Sie den Aufruf der MsgBox-Funktion direkt in die Eigenschaft Beim Klicken eintragen können. In der deutschen Version werden in Eigenschaften die deutschen Übersetzungen eingebauter VBA-Funktionen angezeigt. Sie können auch Msg- Box eingeben, dies wird jedoch gleich umgewandelt. Wenn Sie eine benutzerdefinierte VBA-Routine aufrufen möchten, geben Sie den Namen der VBA- Routine mit führendem Gleichheitszeichen an. Angenommen, Sie möchten diese Prozedur verwenden: Bild 7: Das Ereignis Beim Entladen enthält einen Parameter. Seite 4

5 Private Sub MeldungVonSchaltflaeche() MsgBox "Meldung von Schaltfläche" End Sub Dann lautet der Wert der Ereigniseigenschaft Beim Klicken wie folgt: =MeldungVonSchaltflaeche() Wenn Sie den Artikel VBA-Grundlagen Teil I: Einführung gelesen haben, kennen Sie den Unterschied zwischen öffentlichen und privaten Routinen bereits. Eine VBA-Routine, die Sie über die Angabe für eine Ereigniseigenschaft aufrufen möchten, können Sie an verschiedenen Stellen ablegen. Wenn Sie diese nur von einem Formular aus einsetzen, platzieren Sie den Code am besten gleich im Klassenmodul dieses Formulars. Es spielt dann keine Rolle, ob Sie die Routine mit dem Public- oder dem Private-Schlüsselwort deklarieren. Wenn Sie die Routine auch noch von anderen Orten aus aufrufen möchten, schreiben Sie diese in ein Standardmodul. Die Funktion muss dann mit dem Public-Schlüsselwort als öffentliche Routine gekennzeichnet werden. Die dritte Möglichkeit ist die Angabe des Namens eines Access- Makros. Wenn Sie Ihrer Anwendung bereits Makros hinzugefügt haben, werden die Namen der Makros in der Auswahlliste der Ereigniseigenschaft angeboten. Ereignisprozeduren mit Rückgabeparametern Ereignisprozeduren können auch Parameter erhalten, denen Sie innerhalb der Prozedur einen Wert zuordnen können, um den weiteren Verlauf zu beeinflussen. Eines dieser Ereignisse ist das Formular- Ereignis Beim Entladen. Um die entsprechende Ereignisprozedur anzulegen, zeigen Sie das Formular wieder im Entwurf an (von der Formularansicht am einfachsten mit der Tastenkombination Strg + Komma). Wählen Sie im Kombinationsfeld des Eigenschaftsfensters den Eintrag Formular aus. Stellen Sie wiederum den Wert [Ereignisprozedur] für diese Eigenschaft ein und wechseln Sie zum VBA-Editor. Dort finden Sie nun die entsprechende Ereignisprozedur vor, die einen Parameter namens Cancel bereithält (s. Bild 7). Der Datentyp dieses Parameters ist Integer, Sie können ihm also einen Zahlenwert zwischen und zuweisen. Eigentlich hätte hier der Datentyp Boolean ausgereicht, denn der einzige Wert, der etwas bewirkt, ist -1. Und -1 entspricht True. Aber woher wissen Sie überhaupt, dass Sie diesem Parameter einen Wert zuweisen sollen, anstatt davon auszugehen, dass Access Ihnen mit diesem Parameter einen Wert liefert, den Sie in der Prozedur verarbeiten können? Ganz einfach: Sie müssen es irgendwo lesen, zum Beispiel in einem Buch, einem Fachartikel wie diesem oder in der Onlinehilfe von Access. Da Sie es nun hier erfahren haben, können Sie es gleich als allgemeine Regel verbuchen: Parameter namens Cancel sind immer Rückgabeparameter, die Sie innerhalb einer Ereignisprozedur einstellen können. Wie verwenden Sie diesen Parameter nun? Das Ereignis Beim Entladen wird kurz vor dem Schließen des Formulars ausgeführt. Sie haben hier Gelegenheit, das Schließen des Formulars zu verhindern. Sie können in dieser Prozedur beispielsweise die Frage an den Benutzer stellen, ob er das Formular wirklich schließen möchte. In diesem Fall legen Sie eine neue Ereignisprozedur für die Ereigniseigenschaft Beim Entladen an und ergänzen den vom VBA-Editor automatisch erzeugten Prozedurrahmen wie folgt: Private Sub Form_Unload(Cancel As Integer) If MsgBox("Möchten Sie das Formular µ schließen?", vbyesno) = vbno Then Cancel = True End If End Sub Wir greifen hier ein wenig vor und verwenden eine If...Then-Bedingung, welche das Ergebnis eines Aufrufs der MsgBox-Funktion als Bedingung verwendet. Der Aufruf MsgBox("Möchten Sie das Formular schließen?", vbyesno) übergibt vbyesno als Wert des Parameters Buttons und zeigt somit eine Ja- und eine Nein-Schaltfläche an. Abhängig davon, ob der Benutzer auf Ja oder Nein klickt, liefert MsgBox hier entweder den Wert vbyes oder vbno zurück. Diesen vergleicht die Routine in der Bedingung des If...Then-Konstrukts mit dem Wert vbno. Wenn der Benutzer also auf Nein klickt, ist die Bedingung erfüllt und der innere Teil des If...Then-Konstrukts wird abgearbeitet. Und dieser setzt schlicht und einfach den Wert des Rückgabeparameters Cancel auf True. Dies wiederum bringt Access dazu, den Schließen- Vorgang abzubrechen und das Formular geöffnet zu halten. Würde der Benutzer auf Nein klicken, wäre die Bedingung nicht erfüllt und das Schließen des Formulars würde wie geplant beendet. Seite 5

6 Abfragen für die Datenauswahl Teil II: Daten aus verknüpften Tabellen darstellen Im ersten Teil dieser Artikelreihe haben Sie erfahren, wie Sie die Daten einer einfachen Tabelle abfragen. Diesmal nehmen Sie eine zweite Tabelle hinzu und schauen sich an, wie Sie das Abfrageergebnis durch den geschickten Einsatz von Verknüpfungen beeinflussen können. Abfragen dienen nicht nur dazu, die Felder einer einzigen Tabelle auszuwählen und deren Inhalte anzuzeigen oder die Datensätze nach verschiedenen Kriterien zu filtern. Eine wesentliche Aufgabe ist es, Daten aus mehr als einer Tabelle zusammenzuführen. Dabei spielt es gar keine Rolle, ob die betroffenen Tabellen verknüpfte Daten enthalten. Dies ist zwar in der Regel der Fall, aber manchmal verwendet man gerade Tabellen ohne Verknüpfung, um spezielle Effekte zu erreichen. Schauen Sie sich doch zunächst einmal die herkömmliche Art an, zwei Tabellen in einer Abfrage zusammenzufassen. Bild 1: Die beiden Tabellen tblkunden und tblanreden sind über das Feld AnredeID miteinander verknüpft. Tabelle und Lookup-Tabelle zusammenführen Der einfachste Grund zum Zusammenführen zweier Tabellen per Abfrage ist es, den in eine Lookup-Tabelle ausgelagerten Wert zusammen mit den übrigen Daten einer Tabelle anzuzeigen. In der Beispieldatenbank finden Sie etwa die beiden Tabellen tblkunden und tblanreden, die über das Feld AnredeID der Tabelle tblkunden miteinander verknüpft sind (siehe Bild 1). Wenn Sie nun wie in [basics] Abfrage erstellen beschrieben eine neue Abfrage anlegen und die beiden Tabellen tblkunden und tblanreden in die Entwurfsansicht ziehen, übernimmt Access den Beziehungspfeil in die Abfrage. Mit Beziehung oder ohne? Es spielt eine gravierende Rolle, ob dieser unscheinbare Pfeil vorhanden ist oder nicht. Schauen Sie sich Was Sie in diesem Artikel lernen»» Tabellen und Lookup-Tabellen mit Abfragen zusammenführen»» Welche Rolle spielen Beziehungspfeile in einer Abfrage?»» Wie kombiniert man alle Datensätze zweier Tabellen?»» Warum Beziehungspfeile eigentlich Bedingungen sind Bild 2: Beim Hinzufügen dieser beiden Tabellen wird die Beziehung aus dem Datenbankfenster in die Abfrage übernommen. Bild 3: Das Ergebnis der Abfrage qrykundemitanrede sieht wie erwartet aus. zunächst einmal das Ergebnis der Abfrage an, wie sie in Bild 2 dargestellt ist. Sie zeigt genau die erwarteten Werte an: Sie enthält einige Felder eines jeden Datensatzes der Tabelle tblkunden und zusätzlich das Feld Anrede aus der Tabelle tblanreden und zwar genau entsprechend der Verknüpfung zwischen den beiden Tabellen (s. Bild 2). Seite 6

7 Beispieldatenbank Die Beispieldatenbank zu diesem Artikel finden Sie im Onlinearchiv unter de/index.php/heftarchiv.html. Wenn Sie nun zurück zur Entwurfsansicht der Abfrage wechseln, den Beziehungspfeil zwischen den beiden Tabellen markieren und löschen und dann wieder die Datenblattansicht der Abfrage anzeigen, liefert diese die Datensätze aus Bild 4. Dort erscheint jeder Datensatz dreimal und außerdem in Kombination mit allen drei möglichen Einträgen der Tabelle tblanreden! Das Ergebnis an sich ist sicher unsinnig, denn wozu benötigen Sie schon alle Kombinationen aus Kunden und Anreden? Immerhin wissen Sie aber nun, wie Sie alle Kombinationen der Datensätze zweier Tabellen erhalten früher oder später werden Sie das einmal benötigen. Autoverknüpfung Es gibt in den Access-Optionen übrigens eine Option für Abfragen namens AutoVerknüpfung aktivie- Hinweis: Beziehungspfeile in Abfragen Sie können die Beziehungen in Abfragen setzen und entfernen, wie Sie möchten die im Datenmodell festgelegten Beziehungen bleiben auf jeden Fall erhalten. Jeder mit jedem Um dies zu verstehen, müssen Sie wissen, wie Access Abfragen auswertet. Wenn eine Abfrage eine Tabelle ohne Kriterium enthält, liefert diese alle Datensätze der Tabelle zurück. Wenn eine Abfrage, wie im ersten Beispiel, zwei Tabellen mit Beziehungspfeil enthält, dann wertet Access dies als Kriterium. Dieses besagt: Liefere mir alle Kombinationen der Datensätze der beiden Tabellen, für die gilt: Der Wert des Feldes AnredeID der Tabelle tblkunden ist gleich dem Wert des gleichnamigen Feldes der Tabelle tblanreden. Der Beziehungspfeil ist also prinzipiell ein Kriterium, das die eigentliche Menge der zu liefernden Datensätze einschränkt. Wenn Sie dieses Kriterium weglassen, indem Sie den Beziehungspfeil löschen, lautet die Vorgabe für die Abfrage: Liefere mir alle Kombinationen der Datensätze der beiden Tabellen tblkunden und tblanreden. Und da die Tabelle tblkunden in diesem Beispiel 20 und die Tabelle tblanreden drei Datensätze enthält, ergibt dies 20 x 3 = 60 Datensätze. Bild 4: Ohne Beziehungspfeile liefert die Abfrage ein ganz anderes Ergebnis. Bild 5: Diese Option sorgt mitnichten dafür, dass Beziehungen zwischen zwei Tabellen in den Abfrageentwurf übernommen werden. Bild 6: Die Funktion des Beziehungspfeils in Abfragen kann auch durch ein Kriterium nachgestellt werden. Seite 7

8 ren (Bild 5 zeigt diese Option unter Access 2010). Diese hat keine Auswirkung auf die Übernahme von Beziehungspfeilen aus dem Beziehungen-Fenster in eine Abfrage! Wenn diese Option aktiviert ist, achtet Access lediglich darauf, ob es beim Hinzufügen von Tabellen zum Abfrageentwurf potenzielle Beziehungen gibt, die noch nicht festgelegt sind. Dafür müssen zwei Tabellen je ein Feld mit gleichem Namen und Datentyp aufweisen, außerdem muss eines der Felder ein Primärschlüsselfeld sein. Beziehungspfeil = Bedingung? Der Beziehungspfeil liefert, wie bereits erwähnt, eine Bedingung für die Auswahl der Datensatzkombinationen. Diese Bedingung können Sie auch als Kriterium festlegen. Dazu entfernen Sie zunächst den Beziehungspfeil zwischen den beiden Tabellen tblkunden und tblanreden und stellen sicher, dass jeder Kunde entsprechend der Anzahl der Anreden angezeigt wird. Dann fügen Sie das Feld AnredeID der Tabelle tblanreden zum Entwurfsraster hinzu und schreiben folgenden Ausdruck in die Zeile Kriterien: tblkunden.anredeid Das bedeutet nichts anderes, als dass Access nur Datensätze der Tabelle tblanreden anzeigen soll, deren Wert den gleichen Wert wie das Feld AnredeID der Tabelle tblkunden aufweist. Die um diesen Ausdruck erweiterte Abfrage sieht wie in Bild 6 aus. Das Herausfiltern der Datensätze verdeutlicht Bild 7: Die dortige Abfrage liefert noch alle Kombinationen aus Kunden und Anreden. Durch unser Kriterium, das ja genau so funktioniert wie ein normaler Beziehungspfeil zwischen den beiden Tabellen, werden alle Datensätze eliminiert, bei denen die Inhalte des Feldes AnredeID der beiden Tabellen nicht gleich sind. Kunden mit und ohne Projekt Das nächste Beispiel zeigt, wie Sie mithilfe von Beziehungspfeilen weitere Informationen aus Tabellen herausholen. Im Mittelpunkt des folgenden Beispiels stehen die Tabellen tblkunden und tblprojekte. Die Bild 7: Durch das Kriterium werden alle Kombinationen von Datensätzen eliminiert, deren Verknüpfungsfelder nicht den gleichen Wert aufweisen. Bild 8: Diese Abfrage liefert die Kundendaten, wenn der Kunde ein Projekt hat. Bild 9: Im Ergebnis können Kunden doppelt vorkommen. Abfrage qrykundenmitprojekt aus Bild 8 liefert alle Kundendatensätze, zu denen es ein Projekt gibt und zwar für jedes Projekt einmal. Es kann also sein, dass ein Kunde mehrfach aufgeführt wird (siehe Bild 9). Nun ändern Sie die Verknüpfungseigenschaften, die Sie per Doppelklick auf den Beziehungspfeil anzeigen. Dieser Dialog enthält vier Kombinationsfelder, mit denen Sie die beteiligten Tabellen sowie die als Primärschlüssel und Fremdschlüssel zu verwendenden Felder festlegen können. Diese Eigenschaften sind aber ohnehin schon richtig eingestellt. Interessant sind vielmehr die drei Optionen unterhalb dieser Eigenschaften (siehe Bild 10). Seite 8

9 Die erste entspricht der Standardeinstellung und legt fest, dass das Abfrageergebnis nur solche Datensätze zurückliefert, für die auf beiden Seiten der Verknüpfung Daten vorliegen. Diese Option sorgt also dafür, dass die Abfrage aus dem obigen Beispiel nur Einträge der Tabelle tblkunden anzeigt, für die es mindestens ein Projekt gibt. Die zweite Option liefert alle Datensätze der verknüpften Tabellen zurück, für die ein Eintrag in der linken Tabelle vorliegt unabhängig davon, ob die rechte Tabelle Datensätze enthält, die mit der linken Tabelle verknüpft sind. Dies ist die Option, um die Sie sich gleich intensiver kümmern werden. Die dritte und letzte Option behandelt den umgekehrten Fall, liefert also alle Datensätze aus der rechten Tabelle. Dabei lässt die Abfrage diesmal außer Acht, ob sich in der linken Tabelle der Verknüpfung ein entsprechender Datensatz befindet oder nicht. Schauen Sie sich nun an, wie sich die zweite Option auf das Abfrageergebnis auswirkt. Das Ergebnis liefert Bild 11. Die Datensätze aus der vorherigen Variante bleiben erhalten, auch die doppelten. Es kommen jedoch einige weitere Datensätze hinzu, für die schlicht kein Projekt vorhanden ist. Bild 10: Im Dialog Verknüpfungseigenschaften können Sie einstellen, ob die Daten einer der beteiligten Tabellen ohne Rücksicht auf das Vorhandensein verknüpfter Datensätze angezeigt werden sollen. Bild 11: Zu den vorhandenen Einträgen stoßen einige Kunden ohne Projekt hinzu. Was fangen Sie nun mit dieser Erkenntnis an? Sie können beispielsweise durch das Hinzufügen eines Kriteriums dafür sorgen, dass die Abfrage nur noch solche Kunden anzeigt, für die noch kein Projekt angelegt wurde. Dies ist der Fall, wenn das Feld Projektbezeichnung der Abfrage leer ist. Ein leeres Feld identifizieren Sie unter Access, indem Sie es mit dem Wert NULL vergleichen, der nicht mit einer leeren Zeichenkette zu verwechseln ist. Die Abfrage aus Bild 12 liefert das gewünschte Kriterium. Das Abfrageergebnis bestätigt unsere Annahme und zeigt alle Kunden an, denen noch kein Projekt zugeordnet wurde (siehe Bild 13). Zusammenfassung und Ausblick Allein die Verknüpfung zwischen zwei in einer Abfrage befindlichen Tabellen kann eine Menge bewirken. Richtig interessant wird es, wenn noch mehr als zwei Tabellen als Datenherkunft dienen mehr dazu erfahren Sie in den folgenden Teilen dieser Artikelreihe. Bild 12: Nun fügen Sie ein Kriterium hinzu, das nur leere Projektbezeichnungen erlaubt. Bild 13: Die Abfrage zeigt nun nur noch Kunden ohne Projekt an. Seite 9

10 VBA-Grundlagen Teil I: Einführung Mit Tabellen speichern Sie Daten, mit Abfragen wählen Sie diese aus, mit Formularen zeigen Sie diese an und Berichte sorgen für die Druckaufbereitung. Wer mehr Interaktion als die pure Eingabe, Ausgabe und Bearbeitung seiner Daten will, kommt um den Einsatz von VBA nicht herum: VBA liefert den wesentlichen Teil der Anwendungslogik und professionelle Access-Anwendungen kommen ohne sowieso nicht aus. Im ersten Teil unserer VBA-Grundlagen lernen Sie die Grundbegriffe kennen und erfahren, warum VBA so wichtig ist. In den bisherigen Beispielen sind Sie ganz gut ohne VBA ausgekommen. Immerhin haben Sie schon Formulare erstellt, mit denen Sie Daten aus einfachen Tabellen und sogar aus verknüpften Tabellen angezeigt und bearbeitet haben. Dass dies alles funktioniert, liegt aber auch nur daran, dass Access seine Formulare standardmäßig mit einigen Grundfunktionen für die Datenverarbeitung ausstattet: Sie legen damit über verschiedene Eigenschaften beispielsweise fest, aus welcher Tabelle oder Abfrage die anzuzeigenden Daten stammen und welches Steuer element welches Feld der Datenherkunft repräsentiert. Access synchronisiert automatisch die in Haupt- und Unterformular angezeigten Daten und sorgt dafür, dass die Formulare beim Öffnen mit Daten gefüllt werden. Außerdem blättern Sie mit den Elementen der Navigationsleiste einfach durch die einzelnen Datensätze und das Formular sorgt dabei automatisch dafür, dass geänderte Datensätze beim Datensatzwechseln gespeichert werden genau wie beim Schließen des Formulars. Dahinter steckt eine Menge Code, den Sie nicht mehr selbst schreiben müssen: Fast alle Aufgaben, die mit der Anbindung von Formularen und Berichten an die Daten aus Tabellen und Abfragen zusammenhängen, nimmt Access uns ab. Access weiß aber nicht, was Sie sonst noch so mit den Formularen und Berichten anstellen möchten. Es weiß beispielsweise nicht, ob ein Klick auf eine OK-Schaltfläche das Formular schließen und den Datensatz speichern soll, während ein Klick auf eine Abbrechen-Schaltfläche die durchgeführten Änderungen vor dem Schließen verwerfen soll. Und Access kann auch nicht wissen, dass ein Doppelklick auf einen Datensatz in einem Listenfeld ein weiteres Formular mit der Detailansicht des angeklickten Datensatzes anzeigen soll. Es gibt noch viel mehr Beispiele, was Sie in Access alles mit Ihren Daten anstellen können, ohne dass Access dafür eine vorgefertigte Funktion liefern würde aber das macht Access gerade interessant: Es bietet einen soliden Grundstock an Funktionen, die speziell für die Datenbindung ausgelegt sind. Darüber hinaus können Sie es aber beliebig erweitern! Im Gegensatz zum Zusammenklicken von Tabellen, Abfragen, Formularen und Berichten, was nach kurzer Zeit im Handumdrehen funktioniert, liegt die Latte bei all den kleinen Feinheiten ein wenig höher: Da Access, wie soeben erwähnt, zwar eine Menge eingebauter Funktionen besitzt, aber eben nicht alle vorstellbaren, müssen Sie Ihrer Datenbank-Anwendung selbst beibringen, was diese noch leisten soll. VBA und Makros Wenn Sie mit Word oder Excel arbeiten, kennen Sie möglicherweise die Funktion zum Aufzeichnen von Makros. Dabei starten Sie die Aufnahme, führen dann bestimmte Aktionen mit dem aktuell geöffneten Word- oder Excel-Dokument durch und beenden die Aufnahme. Danach können Sie die aufgezeichneten Schritte per Knopfdruck erneut ausführen lassen. Im Hintergrund speichern diese Anwendungen die durchgeführten Schritte in Form einiger Codezeilen, sie erstellen also praktisch ein kleines Programm oder auch eine Routine in der Programmiersprache VBA (Visual Basic for Applications). VBA-Routine Unter einer VBA-Routine verstehen wir alle über einen Namen ansprechbaren Abfolgen von VBA- Befehlen. Es gibt verschiedene Arten von VBA-Routinen wie zum Beispiel Prozeduren und Funktionen, die wir nachfolgend vorstellen. Ein alternativer Begriff wäre Programm. Dieser Begriff ist jedoch schon synonym für Computeranwendungen vergeben, sodass wir besse den Begriff Routine verwenden, wenn wir allgemein über Prozeduren, Funktionen und Co. sprechen. Seite 10

11 Diese können Sie sogar noch anpassen, um die Routine flexibler zu gestalten oder zu erweitern. Eine solche Routine hat immer die folgende Form: Sub <Makroname>() <Befehle> End Sub <Makroname> ist der Name der Word- oder Excel- Routine. Über diesen Namen können Sie die Routine erneut aufrufen. Sub und End Sub markieren die erste und letzte Zeile der Routine, dazwischen befinden sich die Anweisungen, welche die Routine ausführen soll. Solche Routinen nennt man unter Word und Excel Makros. Namen für VBA-Routinen Sie können den Namen für eine VBA-Routine in den meisten Fällen frei wählen (die Ausnahme sind Ereignisprozeduren dazu später mehr). Wichtig ist, dass Sie nur Buchstaben, Zahlen und Unterstriche verwenden. Das erste Zeichen darf keine Zahl sein, die Länge darf 200 nicht überschreiten und der Name darf noch nicht für eine andere VBA-Routine verwendet werden weder für eine benutzerdefinierte noch für eine eingebaute Routine. Sie sollten außerdem darauf achten, dass der Name möglichst genau beschreibt, was die VBA-Routine erledigt. Wenn Sie dazu mehr als ein Wort benötigen, beginnen Sie neue Wörter einfach mit einen Großbuchstaben (zum Beispiel LoescheKunde). Wenn Sie den Namen einer VBA-Routine ändern, bedenken Sie, dass es bereits von anderen Stellen innerhalb der Anwendung Aufrufe dieser Routine geben kann, und passen Sie diese dann entsprechend an. Nun sind Word und Excel auf der einen und Access auf der anderen Seite zwei verschiedene Welten: Word und Excel dienen vorrangig der Anzeige und Bearbeitung von Dokumenten, während Access gleichzeitig zur Entwicklung von Datenbankanwendungen und zu deren Ausführung verwendet wird. Ein weiterer wichtiger Unterschied ist die Benennung von Routinen: Während diese unter Word und Excel Makro heißen, verwendet man unter Access normalerweise die Bezeichnung Prozedur. Warum nennen Access- Entwickler ihre Programme nicht auch einfach Makro? Ganz einfach: Weil es dort noch einen ganz anderen Objekttyp zur Automatisierung von Vorgängen gibt, der bereits diese Bezeichnung innehat. Dieser erwartet nicht das Zusammenschreiben der Befehle in Form einer Routine, sondern bietet einen eigenen Editor, um die durchzuführenden Schritte zu notieren. Bevor wir eine feinere Einteilung vornehmen, fassen wir zusammen: Unter Word und Excel heißen VBA-Routinen Makros. Unter Access heißen VBA-Routinen Prozeduren oder Funktionen. Unter Access gibt es auch Makros, die aber nichts mit der Programmiersprache VBA gemeinsam haben. Die Gemeinsamkeit von VBA-Routinen und Makros unter Access ist, dass Sie damit Befehlsfolgen auslösen können, wobei VBA deutlich flexiblere Möglichkeiten bietet. VBA-Routinenarten Es gibt verschiedene Arten von VBA-Routinen, wobei die Unterschiede je nach Betrachtungsweise leicht verwässern. Vorsicht, Theorie! Möglicherweise vermissen Sie in diesem Artikel zunächst den praktischen Teil. Sie sollten jedoch unbedingt einige grundlegende Begriffe kennenlernen, bevor Sie die VBA-Entwicklungsumgebung starten und dort loslegen. Die einfachste Art einer VBA-Routine entspricht vom Aufbau her dem, was auch beim Aufzeichnen eines Makros unter Word oder Excel herauskommt: Sub <Routinenname>() <Routinenschritte> End Sub Solch eine Routine rufen Sie ganz einfach über ihren Namen auf (wie das technisch geschieht, erfahren Sie gleich). Die Routine führt dann die enthaltenen Schritte aus. Wenn eine Routine nicht immer genau die gleichen Schritte ausführen soll, müssen Sie ihr die veränderlichen Parameter irgendwie mitteilen. Dazu füllen Sie die im Beispiel oben noch leeren Klammern mit der Liste der möglichen Parameter: Sub <Routinenname>(<Parameter1>, <Parameter2>,...) <Routinenschritte abhängig von den Parametern> End Sub Seite 11

12 Die Routine kann die Parameter auswerten und die Schritte in Abhängigkeit von den Parametern gestalten. Der Aufruf solcher Routinen ist nicht so einfach wie der von Routinen ohne Parameter: Sie können sie nicht einfach über den Namen starten, sondern müssen auch noch die Parameter übergeben. Routinen wie diese heißen schlicht Prozedur. VBA-Prozedur Eine VBA-Routine, die in der Kopfzeile das Schlüsselwort Sub enthält, heißt VBA-Prozedur. Die folgende Routinenart heißt Funktion und besitzt gegenüber einer einfachen Prozedur eine wichtige Erweiterung: Sie führt nicht nur die gewünschten Schritte aus, sondern gibt auch noch einen Wert zurück. Später erfahren Sie, dass dies auch mit einfachen Prozeduren möglich ist aber schauen Sie sich erstmal den Aufbau des Routinentyps Funktion an: Function <Routinenname>() <Routinenschritte> <Routinenname> = <Ergebnis> End Function Funktionen zeichnen sich durch die Verwendung des Schlüsselworts Function statt Sub im Routinenkopf aus. Gleiches gilt für das Routinenende. Außerdem können Sie hier eine Zuweisung verwenden, um das Ergebnis der Routine an die aufrufende Instanz zurückzugeben (mit aufrufender Instanz ist beispielsweise eine andere VBA-Routine gemeint). VBA-Funktion VBA-Routinen, die in der Kopfzeile das Schlüsselwort Function enthalten, heißen VBA-Funktion. Ihr Name dient beim Aufrufen quasi als Variable für den Rückgabewert der VBA-Funktion. Funktionen können genau wie Prozeduren mit Parametern gefüttert werden: Function <Programmname>(<Parameter1>,...) <Programmschritte abhängig von den Parametern> <Programmname> = <Ergebnis> End Function Parameter können Sie aber nicht nur von der aufrufenden Instanz an eine VBA-Routine übergeben, sondern Sie können die Parameter unter bestimmten Umständen auch in der Routine ändern und die geänderte Fassung in der aufrufenden Instanz weiterverarbeiten. An dieser Stelle wird es Zeit für den Übergang vom theoretischen zum praktischen Teil. Sie erfahren hier, wie Sie Funktionen und Prozeduren aufrufen, wie die verschiedenen Parameter verwendet werden, wie Sie diese ändern und wie Sie die Rückgabewerte von Funktionen angeben und auswerten. Entwicklungsumgebung Den Schritt von der Theorie zur Praxis erledigen Sie durch das Öffnen der Beispieldatenbank AccessBasics_2010_06.mdb. Dort starten Sie den VBA-Editor wie in [basics] VBA-Editor öffnen angegeben. Im Gegensatz zu Tabellen, Abfragen, Formularen, Berichten und Makros, die Sie über die im Access-Fenster integrierten Entwicklungswerkzeuge entwerfen können, bearbeiten Sie die in den Modulen des VBA-Projekts enthaltenen Programme im VBA-Editor. Bild 1: Eine durch einen Syntaxfehler verursachte Fehlermeldung Nach dem Öffnen des VBA- Editors (s. Bild 1) brauchen Sie noch einen Ort, wo Sie Ihre ersten Beispielprogramme anlegen können. In diesem Fall benötigen Sie ein Standardmodul (es gibt noch andere Modultypen, die Seite 12

13 Sie später kennenlernen). Ein Standardmodul legen Sie wie unter [basics] VBA-Modul anlegen beschrieben an. Es dient als eine Art Container für ein oder mehrere VBA-Routinen und weitere Elemente. Das neue VBA-Modul wird innerhalb der Datenbankdatei, also der.mdb- beziehungsweise der.accdb-datei gespeichert, und zwar innerhalb des VBA-Projekts dieser Datenbank-Anwendung. VBA-Projekt Jede Access-Datenbank enthält, genau wie ein Word- oder Excel-Dokument, ein eigenes VBA- Projekt. Ein VBA-Projekt enthält wiederum die Module mit den VBA-Routinen, die in der Datenbank- Anwendung ausgeführt werden sollen. Eine Datenbankdatei enthält also nicht nur Tabellendefinitionen, Abfragen, Formulare, Berichte und die eigentlichen Daten, sondern auch noch weitere Objekte mit den VBA-Routinen der Datenbankanwendung. Der VBA-Editor besitzt eine Menge interessanter Werkzeuge. Diese sind, weil der VBA-Editor bereits seit vielen Jahren nicht mehr weiterentwickelt wurde, zwar nicht mit denen moderner Entwicklungsumgebungen wie Eclipse für Programmiersprachen wie Java oder dem Visual Studio für VB 2010, C# und Co. vergleichbar. Aber sie bieten alles, was Sie für die Automatisierung von Access-Anwendungen benötigen. Für den Moment reichen uns das Code-Fenster eines neuen, leeren Moduls sowie einige wenige Schaltflächen der Menüleiste aus; die übrigen Elemente lernen Sie im Laufe der Zeit kennen. Modul benennen und speichern Wenn Sie ein neues Modul angelegt haben, vergibt der VBA-Editor dafür zunächst einen Standardnamen wie Modul1. Diesen können Sie gleich beim ersten Speichern des Moduls ändern. Am schnellsten geht das mit der Tastenkombination Strg + S. Der VBA-Editor fragt dann nach dem neuen Namen für das Modul. Geben Sie hier entsprechend den Konventionen aus [basics] Konventionen einen Namen wie mdlbeispiele ein. Eine VBA-Prozedur schreiben und starten Geben Sie nun eine erste Prozedur ein, die wie folgt aussieht: Public Sub Meldungsfenster() MsgBox "Hallo" End Sub Das Schlüsselwort Public gibt an, dass die Prozedur öffentlich ist, das heißt, dass Sie diese innerhalb Ihrer Anwendung von überall aus aufrufen können. Die einzige Anweisung dieser Prozedur ruft eine eingebaute VBA-Funktion auf. Diese heißt MsgBox und zeigt in diesem Fall einfach nur ein Meldungsfenster mit dem Text Hallo an. Weitere Informationen zur MsgBox-Funktion finden Sie unter [basics] VBA-Befehle: MsgBox. Benutzerdefinierte und eingebaute VBA-Prozeduren und -Funktionen Neben den VBA-Routinen, die Sie selbst schreiben, gibt es eine ganze Reihe eingebauter VBA- Prozeduren und -Funktionen. MsgBox ist, auch wenn es scheinbar eine Prozedur ist und nur ein Meldungsfenster anzeigt, eine Funktion: Sie liefert einen Zahlenwert entsprechend der vom Benutzer angeklickten Schaltfläche zurück. Später gehen wir genauer auf eingebaute VBA-Routinen ein. Probieren Sie diese VBA-Prozedur aus, indem Sie eine der in [basics] VBA-Prozedur ausführen vorgeschlagenen Methoden verwenden. VBA-Prozedur mit Parameter Wie oben erwähnt, können Sie Parameter an VBA- Prozedurn oder VBA-Funktionen übergeben. Bei benutzerdefinierten VBA-Routinen müssen Sie diese natürlich zunächst deklarieren. Wenn die Prozedur mit dem Meldungsfenster einen Text anzeigen soll, den Sie beim Aufruf der Prozedur übergeben, verwenden Sie beispielsweise folgende Definition der Prozedur: Sub MeldungsfensterIndividuell(strText As String) MsgBox strtext End Sub Ein Parameter besteht aus einem Namen (hier strtext) und dem Schlüsselwort As gefolgt von der Angabe des Datentyps des Parameters, hier String (mehr dazu in einem späteren Teil dieser Artikelreihe). Im Direktfenster rufen Sie diese Prozedur wie folgt auf (siehe auch [basics] VBA-Prozedur ausführen): MeldungsfensterIndividuell "Hallo" Seite 13

14 Damit übergeben Sie den Wert "Hallo" an die Prozedur MeldungsfensterIndividuell. Innerhalb dieser Prozedur können Sie dann über den Namen des Parameters auf den übergebenen Wert zugreifen beispielsweise, um diesen wiederum als Parameter an die eingebaute VBA-Funktion MsgBox zu übergeben. Was passiert zwischen Schreiben und Starten einer VBA-Routine? Bild 2: Eine durch einen Syntaxfehler verursachte Fehlermeldung VBA ist eine für den Menschen gut lesbare Programmiersprache. Für den Computer ist sie ebenfalls lesbar, aber nicht optimal: Deshalb werden VBA-Routinen nach dem Erstellen oder nach dem Durchführen von Änderungen in eine für den Computer besser verarbeitbare Form übersetzt. Der Übersetzungsvorgang heißt Kompilierung und wird durch den Compiler durchgeführt. Die Kompilierung läuft in der Regel problemlos ab. Wenn der VBA-Code jedoch einen Syntaxfehler enthält, liefert der Compiler eine entsprechende Fehlermeldung. Wenn Sie beispielsweise die Funktion MsgBox falsch schreiben (etwa als MessageBox) und die Prozedur ausführen, erhalten Sie eine Fehlermeldung wie in Bild 2. Praktischerweise hebt Access den fehlerhaften Befehl farbig hervor, sodass Sie gleich wissen, wo Sie ansetzen müssen. Bei unseren Beispielen sollten jedoch keine Syntaxfehler auftauchen, sodass wir dieses Thema ausklammern, bis wir uns später um Themen wie die Fehlersuche und -behandlung kümmern. Eingebaute Routinen Wie weiter oben schon erwähnt, gibt es neben den VBA-Routinen, die Sie selbst erstellen, auch eingebaute VBA-Routinen. Sie können zwar nicht den Code dieser Routinen einsehen (was sicher interessant wäre), aber Sie können diese aufrufen und verwenden wie selbst entwickelte Routinen. Genau genommen stecken diese sogar auch in einer Art Modul. Das Modul, in dem die grundlegenden VBA-Routinen stecken, heißt logischerweise VBA. Weitere Module enthalten die anwendungsspezifischen VBA-Routinen. So gibt es ein Modul mit allen Access-Prozeduren und -Funktionen und je eines für die anderen Office-Anwendungen wie Word, Excel, Outlook und so weiter. Für Access besonders wichtig sind weitere Module, die Prozeduren und Funktionen für den Zugriff auf die in den Tabellen gespeicherten Daten liefern. Innerhalb der jeweiligen Anwendung können Sie auf die VBA-Routinen wie auf benutzerdefinierte, öffentliche VBA-Routinen in Standardmodulen zugreifen. Das heißt, dass Sie einfach den Prozeduroder Funktionsnamen und gegebenenfalls benötigte Parameter angeben. Sie können das im Direktfenster ausprobieren, indem Sie dort den folgenden Funktionsaufruf eingeben: MsgBox "Hallo" Nun ist MsgBox ein VBA-Programm des Moduls VBA. Ein Beispiel für den Aufruf einer VBA-Routine des Moduls Access, das Sie nur innerhalb eines Access- VBA-Projekts direkt ansprechen können, wäre folgendes: Quit Diese Anweisung beendet Access. IntelliSense Der VBA-Editor bietet zwar nicht viel Hilfestellung beim Programmieren, eine automatische Ergänzung beim Aufruf eingebauter oder benutzerdefinierter VBA-Routinen ist jedoch vorhanden. Um IntelliSense Bild 3: Mit IntelliSense alle aktuell verfügbaren VBA- Elemente anzeigen Seite 14

15 Sie können aber auch alle Elemente eingebauter Objekte wie beispielsweise des Access-Moduls oder des VBA-Moduls anzeigen. Dazu brauchen Sie nur Access oder VBA einzutippen und dann einen Punkt einzugeben. Wenn Sie also einmal den Namen eines Befehls vergessen haben, können Sie so zumindest auf die Liste der vorhandenen Befehle zugreifen und durch Eintippen der Anfangsbuchstaben danach suchen. Wenn Sie, mit oder ohne Hilfe von IntelliSense, den kompletten Namen einer VBA-Routine eingetippt haben, unterstützt IntelliSense Sie noch bei eventuell vorhandenen Parametern. Es zeigt dann eine Liste aller Parameter der ausgewählten VBA- Routine an (s. Bild 5). Bild 4: IntelliSense liefert auch alle VBA-Programme vorhandener Objekte. zu nutzen, brauchen Sie nur die Tastenkombination Alt + Leertaste zu betätigen. Wenn Sie dies etwa im Direktfenster des VBA-Editors erledigen, zeigt dieses eine Liste aller aktuell verfügbaren Elemente an (s. Bild 3). Geben Sie dann einen oder mehrere Buchstaben ein, beispielsweise Mel, springt die Liste der verfügbaren Elemente zum ersten Element, das mit dieser Zeichenfolge beginnt. Das ist allerdings eine eher unbekannte, aber dennoch mächtige Funktion von IntelliSense. Offensichtlicher und ohne Tastenkombination macht sich IntelliSense bemerkbar, wenn Sie den Namen eines Access-Objekts, also beispielsweise Ihres Moduls mdlbeispiele, und dann einen Punkt eingeben. IntelliSense liefert dann alle zu diesem Objekt gehörenden Elemente, also zum Beispiel die VBA-Routinen eines benutzerdefinierten Moduls (s. Bild 4). VBA-Routinen und VBA-Befehle Die Namen von VBA-Routinen dienen hauptsächlich dazu, diese Routinen aufrufen zu können. In diesem Zusammenhang sprechen wir bei der Verwendung des Namens der VBA-Routine von Befehl oder Anweisung. VBA-Objekte Alles, was Sie im VBA-Editor erledigen, geschieht im Kontext irgendeines Objekts. Schon das VBA-Modul, in das Sie VBA-Routinen eingeben, ist ein Objekt. Tabellen sind Objekte. Die darin enthaltenen Felder sind Objekte. Abfragen und die darin definierten Felder sind Objekte. Formular und Berichte und die darin enthaltenen Steuerelemente sind Objekte. All diese Objekte enthalten VBA-Routinen, also Prozeduren und Funktionen, die eine Aufgabe in Zusammenhang mit dem jeweiligen Objekt erledigen. Die meisten enthalten aber auch Eigenschaften und Ereignisse was das ist, erfahren Sie gleich. Das gilt für benutzerdefinierte Objekte wie VBA- Module genauso wie für eingebaute Objekte wie das VBA- oder Access-Objekt (und es gibt noch einige mehr). Einige Objekte sind sogar Mischungen aus benutzerdefinierten und eingebauten Objekten. Dabei handelt es sich um fast alle Objekte, die Sie über die Benutzeroberfläche anlegen können. Tabellen, Abfragen, Formulare, Berichte und VBA-Module werden zwar durch den Entwickler angelegt, sind also eigentlich benutzerdefiniert. Der Entwickler kann aber viele ihrer Eigenschaften selbst einstellen und in einigen Fällen sogar VBA-Routinen hinzufügen (bei Formularen, Berichten und VBA-Klassenmodulen). Diese Objekte enthalten jedoch auch eine Reihe fest vorgegebener Eigenschaften, VBA- Routinen und Ereignisse. Zusammenfassung und Ausblick Sie haben nun einige der grundlegenden Begriffe von VBA kennengelernt. In den folgenden Teilen dieser Artikelreihe vertiefen wir dies und liefern einige Praxisbeispiele. Bild 5: Wenn ein VBA-Programm Parameter erwartet, zeigt IntelliSense diese samt Datentyp an. Seite 15

16 Formulare für die Dateneingabe Teil IV: Formulare öffnen und schließen Bevor der Benutzer mit der Dateneingabe mittels Formular beginnen kann, muss Access dieses erst einmal anzeigen. Und das ist gar nicht so einfach, denn vielleicht möchten Sie das Formular ja dazu bringen, gleich einen bestimmten Datensatz anzuzeigen oder gar gleich einen neuen Datensatz zu präsentieren. Dieser Artikel zeigt, wie das Öffnen eines Formulars grundsätzlich funktioniert und wie Sie ein Formular von einem anderen Formular aus unter Verwendung verschiedener Einstellungen aufrufen können. Die einfachste Art, ein Access-Formular für die Dateneingabe zu öffnen, ist der Doppelklick auf den entsprechenden Eintrag im Datenbankfenster (Access 2003 und älter) oder im Navigationsbereich (Access 2007 und jünger). Diese Möglichkeit sollte jedoch dem Entwickler vorbehalten bleiben. Wer eine professionelle Software auf Basis von Microsoft Access entwickeln möchte, wird das Datenbankfenster genauso wenig einblenden wie er den Benutzer direkt in Tabellen arbeiten lässt ( [basics] Keine Dateneingabe via Tabelle oder Abfrage). Wie sonst aber soll der Benutzer an die Formulare zur Datenbearbeitung gelangen? Dazu gibt es grundsätzlich folgende Möglichkeiten: Sie erstellen ein Übersichtsformular mit einer Reihe Schaltflächen, mit denen der Benutzer Formulare zur Erledigung der gewünschten Aufgaben öffnen kann. Diese Formulare werden automatisch beim Öffnen der Anwendung angezeigt. Sie stellen eine Menü- oder Symbolleiste (Access 2003 und älter) oder ein Ribbon (Access 2007 und jünger) bereit, das Schaltflächen zum Öffnen der benötigten Formulare anzeigt. Beide Varianten sind weit verbreitet und es gibt sicher tausende Access-Anwendungen, die ihre Formulare per Datenbankfenster oder Navigationsbereich anbieten. Jede Variante hat Vor- und Nachteile: Es ist zum Beispiel schwierig, das Übersichtsformular immer so zu platzieren, dass es ständig sichbar ist. Das ist aber sinnvoll, damit der Benutzer jederzeit auf die Funktionen der Anwendung zugreifen kann. Dafür ist es blitzschnell erstellt: Sie brauchen nur ein Formular anzulegen und ein paar Schaltflächen hinzuzufügen, welche die benötigten Formulare zur Datenbearbeitung öffnen. Menü- und Symbolleisten sowie in den neueren Access-Versionen das Ribbon sind garantiert immer sichtbar, da sie normalerweise nicht durch andere Elemente der Benutzeroberfläche verdeckt werden. Außerdem kennen Benutzer anderer Office-Anwendungen sich bereits mit der Benutzung dieser Elemente aus. Der Nachteil ist, dass es zumindest unter Access 2007 und jünger relativ aufwendig ist, ein benutzerdefiniertes und auf die jeweilige Anwendung abgestimmtes Ribbon zu definieren und mit den entsprechenden Funktionen zu füllen. Die Beispieldatenbank AccessBasics_2010_06.mdb soll daher zunächst einfach nur ein Formular öffnen, von dem aus der Benutzer dann weitere Formulare anzeigen kann. Grundsätzlich schaffen Sie damit auch den Grundstein für das Aufrufen der Formulare per Menü-/ Symbolleiste oder über das Ribbon: Schließlich benötigen Sie überall die gleichen VBA-Befehle zum Anzeigen von Formularen. Den Umgang mit Menüs und dem Ribbon lernen Sie in einem späteren Artikel kennen. Öffnen eines Formulars beim Starten einer Anwendung Da das Beispiel vorerst ohne Menüs oder Ribbon auskommen soll, soll dieses gleich beim Start der Anwendung ein Formular anzeigen, mit dem der Benutzer die gewünschten Aktionen durchführen kann. Dazu verwenden Sie das Formular frmkundenprojekte aus unserer Beispieldatenbank. Dieses stellen Sie einfach wie in [basics] Startformular einer Anwendung festlegen beschrieben für die Eigenschaft Startformular beziehungsweise Formular anzeigen der aktuell geöffneten Datenbank ein. Beim nächsten Öffnen wird Access gleich zu Beginn das gewünschte Formular einblenden. Seite 16

17 Formular zentriert anzeigen Normalerweise wird das Formular einfach an der Position angezeigt, an der es zuletzt gespeichert wurde. Wenn Sie möchten, dass es bezogen auf das Access- Fenster zentriert angezeigt wird, wechseln Sie in die Entwurfsansicht des Formulars und stellen seine Eigenschaft Automatisch zentrieren auf Ja ein. Die OpenForm-Methode Zum Öffnen eines Formulars benötigen Sie VBA- Code. In diesem Falle handelt es sich um die Methode OpenForm eines speziellen Objekts namens DoCmd, das eine ganze Reihe Methoden zur Verfügung stellt (was eine Methode ist, erfahren Sie unter VBA-Grundlagen Teil I: Einführung dort lernen Sie auch, was es mit dem nachfolgend erwähnten Direktfenster auf sich hat). Zum Testen der DoCmd.OpenForm-Methode öffnen Sie den VBA-Editor und aktivieren dort das Direktfenster zur Eingabe von VBA-Anweisungen. Beides gelingt mit der Tastenkombination Strg + G in einem einzigen Schritt. Wenn Sie das Access-Fenster und das VBA-Fenster nebeneinander oder untereinander platzieren, können Sie die Auswirkungen der folgenden Befehle direkt beobachten. Sie verwenden nun die einfachste Variante der DoCmd.Open- Form-Anweisung, um das Formular frmkunden- Projekte zu öffnen. Geben Sie dazu den folgenden Befehl in das Direktfenster ein und betätigen Sie die Eingabetaste: DoCmd.OpenForm "frmkundenprojekte" Beim Eingeben zeigt der VBA-Editor gleich die Liste aller Parameter dieser Methode an (s. Bild 1). Den Namen des zu öffnenden Formulars übergeben Sie gleich mit dem ersten Parameter. Alle übrigen Parameter sind optional. Parameter der OpenForm-Methode OpenForm besitzt die folgenden Parameter: View: Legt die Ansicht des Formulars fest, zum Beispiel Standardansicht, Datenblattansicht oder Entwurfsansicht. FilterName: Stellt einen Filter ein, um nur bestimmte Datensätze anzuzeigen. WhereCondition: Gibt eine Bedingung an, um die anzuzeigenden Datensätze einzuschränken. DataMode: Gibt an, ob das Formular zum Bearbeiten eines vorhandenen oder zum Anlegen eines neuen Datensatzes geöffnet werden soll. WindowMode: Legt fest, ob das Formular normal, versteckt, minimiert oder als modaler Dialog angezeigt werden soll. OpenArgs: Dient zur Übergabe einer Zeichenkette, die vom Formular ausgewertet werden kann. In den folgenden Beispielen lernen Sie die Einsatzzwecke der verschiedenen Werte für diese Parameter kennen. Formularansicht einstellen Mit dem ersten Parameter View stellen Sie die Ansicht ein, in der Access das Formular anzeigen soll. Sie können diesen Parameter jedoch in der Regel weglassen, denn das Formular soll in der unter der Eigenschaft Standardansicht des Formulars festgelegten Ansicht angezeigt werden hier Formularansicht. Von Formular zu Formular Die Erläuterung der übrigen Parameter macht in Zusammenhang mit dem Öffnen eines Formulars von einem anderen Formular aus mehr Sinn als am Beispiel eines einzelnen Formulars. Im folgenden Beispiel soll das Formular frmprojektmitkunde auf verschiedene Arten vom Formular frmkundenprojekte aus geöffnet werden. Bild 1: Die Parameterliste der DoCmd.OpenForm-Anweisung Seite 17

18 Als Erstes lernen Sie dabei den Parameter WhereCondition kennen. Das Formular frmprojektmitkunde soll so geöffnet werden, dass es genau das Projekt anzeigt, das gerade im Unterformular sfm- KundenProjekte ausgewählt ist. Dazu benötigen Sie erst einmal eine entsprechende Schaltfläche. Also öffnen Sie das Formular frmkundenprojekte in der Detailansicht, vergrößern den Detailbereich durch Ziehen am unteren Rand ein wenig und fügen dann die neue Schaltfläche hinzu (weitere Informationen unter Steuerelemente Teil I: Die Schaltfläche). Stellen Sie als Beschriftung Projekt öffnen und als Steuerelementname cmd- ProjektOeffnen ein (s. Bild 2). Bild 2: Hinzufügen einer Schaltfläche zum Anzeigen der Details eines Datensatzes Nun legen Sie eine Ereignisprozedur für diese Schaltfläche an (grundlegende Informationen zu Ereignisprozeduren liefert der Artikel Formulare mit VBA programmieren Teil I: Formularereignisse nutzen). Die Ereignisprozedur soll Folgendes für uns erledigen: Ermitteln, welcher Datensatz des Unterformulars aktuell ausgewählt ist. Bild 3: Diese Prozedur wird beim Klick auf die Schaltfläche cmdprojektoeffnen ausgelöst. Das Formular frmprojektemitkunde öffnen und dort gleich den im Unterformular ausgewählten Kunden anzeigen. Dazu markieren Sie die neue Schaltfläche, zeigen das Eigenschaftsfenster an (Taste F4), wechseln zur Registerseite Ereignis und wählen dort für die Eigenschaft Beim Klicken den Wert [Ereignisprozedur] aus. Klicken Sie anschließend auf die Schaltfläche mit den drei Punkten (...), öffnet Access den VBA-Editor. Dieser hat bereits ein Klassenmodul namens Form_frmKundenProjekte für das Formular frmkundenprojekte erstellt und den Rahmen der Prozedur cmdprojektoeffnen_click angelegt (s. Bild 3). OpenForm mit Bedingung Grundsätzlich verwenden Sie wieder die DoCmd. OpenForm-Methode, um das Formular mit den Projektdetails zu öffnen. Diesmal geben Sie dem aufgerufenen Formular jedoch noch einen Wert für den Parameter WhereCondition mit auf den Weg. Diese WhereCondition soll dem Formular eine Information darüber liefern, welchen Datensatz es beim Öffnen anzeigen soll (genau genommen soll es überhaupt nur diesen einen Datensatz anzeigen). Diese Bedingung besteht im einfachsten Fall aus dem Namen des Feldes, einem Gleichheitszeichen und dem Wert, den das Feld haben soll. In diesem Fall soll die Prozedur den Wert des Feldes ProjektID des aktuell markierten Datensatzes aus dem Unterformular ermitteln und dafür sorgen, dass das neu geöffnete Formular genau den Datensatz mit dieser ProjektID anzeigt. Der Ausdruck, der dazu übergeben werden soll, sieht beispielsweise so aus: ProjektID = 123 Der Wert für den Parameter WhereCondition wird in Form einer Zeichenkette übergeben und muss daher in Anführungszeichen eingefasst werden: "ProjektID = 123" Seite 18

19 Die folgende Anweisung würde nun das Formular frmprojektmitkunde samt Projekt mit der ProjektID mit dem Wert 123 öffnen: Dazu hangeln Sie sich in der Hierarchie nach unten. Um das Unterformularsteuerelement zu referenzieren, verwenden Sie den Ausdruck Me!sfm. Damit erhalten Sie jedoch nur einen Verweis auf das Unterformularsteuerelement, nicht auf das Unterformular selbst. Dieses können Sie über die Eigenschaft Form des Unterformularsteuerelements ansprechen: DoCmd.OpenForm "frmprojektemitkunde",,, µ "ProjektID = 123" Nun brauchen Sie statt 123 nur noch den tatsächlich angezeigten Wert einzufügen. Dazu müssen Sie zunächst den Wert des Feldes ProjektID des Unterformulars ermitteln (wir greifen hier auf Techniken zu, die erst in folgenden Artikeln ausführlich beschrieben werden). Wenn Sie von einer Prozedur eines Klassenmoduls eines Formulars auf den Wert eines Steuerelements dieses Formulars zugreifen möchten, referenzieren Sie das Formular mit dem Schlüsselwort Me. Auf ein Steuerelement dieses Formulars verweisen Sie, indem Sie Me um ein Ausrufezeichen und den Namen des Steuerelements erweitern. Ein Textfeld in dem Formular, das auch die Schaltfläche enthält, referenzieren Sie beispielsweise mit folgendem Ausdruck: Me!txtKundeID Wir möchten aber noch eine Stufe tiefer gehen und gleich auf ein Steuerelement im Unterformular des Formulars zugreifen. Parameter richtig eingeben Es gibt zwei Möglichkeiten, die Parameter einer VBA-Routine einzugeben. Momentan verwenden wir die einfachere davon, indem wir einfach so viele Kommata eingeben, bis wir zu dem gewünschten Parameter gelangen und diesen dort eintragen. Das Auslassen von Parametern ist im Falle der DoCmd.OpenForm-Methode möglich, weil alle Parameter außer dem ersten optionale Parameter sind. Sie dürfen zwar die Parameter auslassen, aber nicht die Kommata (außer, wenn keine Parameterwerte mehr folgen): Damit stellen Sie sicher, dass ein Wert auch dem Parameter zugewiesen wird, der sich an der entsprechenden Reihenfolgenposition der Parameterliste befindet. Die andere Möglichkeit zum Übergeben von Parametern lernen Sie später kennen. Das passende Stichwort lautet benannte Parameter. Zugriff auf das Unterformular Me!sfm.Form Schließlich möchten Sie nicht auf das Unterformular, sondern auf eines der enthaltenen Steuerelemente zugreifen. Dazu hängen Sie das Ausrufezeichen und den Namen des Steuerelements an: Me!sfm.Form!txtProjektID Hierzu müssen Sie entsprechend den Vorschlägen aus [basics] Konventionen vorab die Steuerelemente mit entsprechenden Präfixen versehen haben, hier txt für ein Textfeld. Anfänger machen nun oft den Fehler und ersetzen den konkreten Wert des Vergleichsausdrucks durch den Ausdruck, der den tatsächlichen Wert aus dem betroffenen Steuerelement ausliest. Für unseren Fall käme so etwas heraus: "ProjektID = Me!sfm.Form!txtProjektID" Ausdrücke in Anführungszeichen werden jedoch von VBA nicht ausgewertet. Das aufgerufene Formular wird also theoretisch nach einem Projekt mit einer ProjektID suchen, die den Wert Me!sfm. Form!txtProjektID besitzt. Beim Aufrufen der Prozedur mit der folgenden Anweisung interpretiert Access den Ausdruck als Namen eines Parameters und erwartet die Eingabe des tatsächlichen Wertes (s. Bild 4): DoCmd.OpenForm "frmprojektemitkunde",,, µ "ProjektID = Me!sfm.Form!txtProjektID" Die richtige Vorgehensweise ist es, den WhereCondition-Ausdruck in ein Zeichenketten-Literal und einen variablen Teil aufzuteilen und beide durch ein Kaufmanns-Und (&) zusammenzuführen: "ProjektID = " & Me!sfm.Form!txtProjektID Access ermittelt dann den Wert des Steuerelements txtprojektid und fügt diesen mit dem Rest der Bedingung zu einem Ausdruck wie ProjektID = 123 zusammen. Dies gelingt schließlich auch, wie Bild 5 zeigt. Woher wissen Sie nun, dass der richtige Datensatz des Unterformulars ausgewählt wird? Immerhin zeigt Seite 19

20 Öffnen des Formulars frmprojektemit- Kunden zum Anlegen eines neuen Projekts dient. Fügen Sie also wie oben eine weitere Schaltfläche hinzu, die diesmal die Beschriftung Neues Projekt trägt und cmd- NeuesProjekt heißt. Legen Sie dann eine Prozedur für das Ereignis Beim Klicken dieser Schaltfläche an und ergänzen Sie den Code für diese Prozedur wie folgt: Bild 4: Access fehlinterpretiert einen Ausdruck für die WhereCondition beim Öffnen eines Formulars. Private Sub cmdneuesprojekt_click() DoCmd.OpenForm µ "frmprojektemitkunde",,,,acformadd End Sub Bild 5: Das Detailformular wurde für den richtigen Projekt-Datensatz geöffnet. dieses ja unter Umständen gleich mehrere Datensätze an. Die Antwort ist einfach: Sie können immer nur auf den aktuell ausgewählten Datensatz zugreifen. Wenn Sie den Wert von Me!sfm.Form!txtProjektID auslesen, erhalten Sie garantiert die ProjektID des aktuell markierten Projekt-Datensatzes. Formular zum Anlegen eines neuen Datensatzes öffnen Genau so wie Sie das Detailformular zum Bearbeiten eines vorhandenen Datensatzes verwenden, können Sie damit auch neue Datensätze eingeben. Damit ist nicht gemeint, dass Sie wie oben beschrieben einen Projekt-Datensatz im Formular frmprojektemitkunde öffnen und dann auf die Neuer Datensatz-Schaltfläche im Navigationsbereich klicken. Der Aufruf ist fast identisch mit dem vorherigen. Allerdings übergeben Sie keine Bedingung für den Parameter WhereCondition, sondern einen Wert für den Parameter DataMode. Der Wert acformadd sorgt dafür, dass das Formular direkt einen leeren, neuen Datensatz anzeigt und keine weiteren Datensätze enthält (s. Bild 6). Sie können hier nun ein neues Projekt anlegen, indem Sie den Projektnamen eintragen und den Kunden auswählen, der dieses Projekt beauftragt hat. Kunde beim Öffnen vorbelegen Letzteres ist eigentlich ein Schritt, den Sie nicht unbedingt selbst ausführen möchten: Wenn Sie vom Formular frmkundenmitprojekten aus die Schaltfläche zum Anlegen eines neuen Projekts betätigen, sollte das Formular frmprojektemitkunden möglichst gleich das Kombinationsfeld cbokundeid mit dem Wert des Feldes KundeID des Kunden des aufrufenden Formulars vorbelegen. Vielmehr fügen Sie dem Formular frmkundenmit- Projekten eine Schaltfläche hinzu, die allein zum Bild 6: Mit dem richtigen Parameter beim Öffnen zeigt das Formular einen neuen, leeren Datensatz an. Seite 20

21 Für solche Zwecke hat Microsoft den Parameter OpenArgs vorgesehen. Sie können mit diesem einen beliebigen Text an das aufgerufene Formular übergeben. Dort können Sie diesen Text dann beim Öffnen auswerten und als Standardwert für das betroffene Feld einstellen. Die erweiterte Fassung unserer DoCmd.OpenForm- Anweisung zum Öffnen des Formulars zum Anlegen eines neuen Datensatzes sieht nun so aus: Private Sub cmdneuesprojekt_click() DoCmd.OpenForm "frmprojektemitkunde",,,, µ acformadd,, Me!txtKundeID End Sub Sie enthält also im letzten Parameter einen Ausdruck, der das Steuerelement txtkundeid des aufrufenden Formulars (referenziert mit dem Schlüsselwort Me) ausliest und somit den Primärschlüsselwert des aktuellen Datensatzes der Tabelle tblkunden übergibt. Wenn Sie die Schaltfläche nun ausprobieren, geschieht erwartungsgemäß nichts: Es wird zwar der aktuelle Wert des Feldes txtkundeid übergeben, aber das aufgerufene Formular wertet diesen noch nicht aus. Dies holen Sie nun nach: Dazu verwenden Sie das Ereignis des Formulars frmprojektemitkunde, das beim Öffnen dieses Formulars ausgelöst wird. Öffnen Sie dieses Formular in der Entwurfsansicht und aktivieren Sie das Eigenschaftsfenster. Wechseln Sie zur Registerseite Ereignis und wählen Sie für die Eigenschaft Beim Öffnen den Wert [Ereignisprozedur] aus. Klicken Sie auf die Schaltfläche mit den drei Punkten (...), damit der VBA-Editor sich öffnet und die neue Ereignisprozedur Form_Open anzeigt. Diesen Wert weisen Sie der Eigenschaft DefaultValue (Standardwert) des Steuerelements cbokunde des aktuellen Formulars (Me) zu. Und siehe da: Wenn Sie beide Formulare schließen, das Formular frm- KundenProjekte wieder öffnen und auf die Schaltfläche mit der Beschriftung Neues Projekt klicken, erscheint das Formular frmprojektemitkunde mit vorbelegtem Kunden (s. Bild 8). Aufrufendes Formular aktualisieren Es fehlt noch eine wichtige Aufgabe: Nachdem Sie das Detailformular frmprojektemitkunde geöffnet und ein vorhandenes Projekt bearbeitet oder ein neues Projekt angelegt haben, soll die Anzeige der Projekte des Kunden im aufrufenden Formular frm- KundenProjekte aktualisiert werden. Dazu brauchen Sie theoretisch nur eine Anweisung hinzuzufügen, welche nach dem Aufruf zum Öffnen des Detailsformulars ausgelöst wird (also in den Ereignisprozeduren cmdprojektoeffnen_click beziehungsweise cmdneuesprojekt_click). Diese sieht folgendermaßen aus: Me!sfm.Form.Requery Bild 7: Diese Prozedur liest das Öffnungsargument aus und verwendet es als Standardwert für das Feld cbo- KundeID. Ergänzen Sie diese Prozedur wie in Bild 7 dargestellt. Die einzige Anweisung liest die Eigenschaft OpenArgs des Objekts Me aus. Me entspricht, das haben Sie oben bereits gelernt, einem Verweis auf das Formular-Objekt selbst. Wenn Sie das Formular mit einem Wert für den OpenArgs-Parameter aufgerufen haben, können Sie diesen Wert über die Eigenschaft OpenArgs des Objektverweises Me abfragen. Bild 8: Der Kunde des aufrufenden Formulars wird in das aufgerufene Formular übertragen. Seite 21

22 Das bedeutet: Wende die Methode Requery auf das Form-Objekt an, das sich im Unterformular-Steuerelement sfm im Formular dieses Klassenmoduls (Me) befindet. Wenn Sie die erweiterten Prozeduren für das Anklicken der beiden Schaltflächen Projekt öffnen und Neues Projekt testen, werden Sie jedoch feststellen, dass der Plan nicht aufgeht: Geänderte oder neue Projekte werden nicht im Unterformular zur Anzeige der Projekte berücksichtigt. Dies liegt an folgender Tatsache: Das Aufrufen eines Projekts mit der DoCmd.OpenForm-Methode führt nicht zwangsläufig dazu, dass der VBA-Code der aufrufenden Prozedur angehalten und erst nach dem Schließen des aufgerufenen Formulars fortgeführt wird. Das bedeutet in unserem Fall, dass direkt nach dem Öffnen des Formulars frmprojektemitkunde die Requery-Methode des aufrufenden Formulars durchgeführt wird lange bevor Sie überhaupt nur eine Änderung durchführen können. Es gibt aber einen Weg, genau dies zu erreichen: Dazu verwenden Sie einen weiteren Parameter der DoCmd.OpenForm-Methode namens WindowMode. Diesem Parameter, dem sechsten der sieben Parameter dieser Methode, weisen Sie den Wert acdialog zu. Dadurch wird das Formular frmprojektemitkunde so geöffnet, dass die aufrufende Prozedur erst weiterläuft, wenn das aufgerufene Formular wieder geschlossen wird. Die vollständigen Prozeduren finden Sie in Bild 9. Das Aktualisieren des Unterformulars erfolgt nun unmittelbar nach dem Schließen des aufgerufenen Formulars. Zusammenfassung und Ausblick Dieser Artikel zeigt, wie Sie die Methode DoCmd. OpenForm mit ihren verschiedenen Parametern einsetzen, um Formulare einfach nur zu öffnen, diese nach einem bestimmten Ausdruck zu filtern oder neue Datensätze damit anzulegen. Dabei haben Sie gleich noch erfahren, wie Sie das Öffnungsargument verwenden, um einen Wert an das Formular zu übergeben, um beispielsweise einen Standardwert in Abhängigkeit vom Datensatz des aufrufenden Formulars einzustellen. Damit beantwortet dieser Artikel gleich einige typische Fragen von Access-Neulingen oder Quereinsteigern. Das Öffnen von Formularen per VBA sollte Ihnen nun keine Probleme mehr bereiten. Wir haben jedoch auch an einigen Stellen auf Themen vorgegriffen, die wir in den folgenden Ausgaben noch vertiefen werden: zum Beispiel die richtige Verwendung von Parametern in Prozeduraufrufen, die Referenzierung der verschiedenen Formularelemente oder auch die Zusammenstellung von Ausdrücken für die WhereCondition beim Öffnen von Formularen. Und auch die hier verwendeten Beispielformulare warten auf einige Anpassungen und Verbesserungen. So prüfen wir beim Anlegen eines Projekts gar nicht, ob der Benutzer überhaupt eine Projektbezeichnung angegeben hat. Und auch das Anklicken der Schaltfläche Projekt öffnen im Formular frmkundenprojekte ist nicht nur möglich, wenn gerade ein Projektdatensatz im Unterformular markiert ist, sondern auch, wenn der Datensatzzeiger sich auf einem neuen, leeren Datensatz befindet. Klicken Sie dann auf diese Schaltfläche, löst dies einen Laufzeitfehler aus, den es zu verhindern gilt. Diese und weitere Optimierungen nehmen wir ebenfalls in den folgenden Ausgaben vor. Bild 9: Die fertigen Prozeduren zum Öffnen des Formulars frmprojektemitkunde zum Erstellen und Ändern eines Projekts. Seite 22

23 Steuerelemente Teil I: Die Schaltfläche Eine Schaltfläche ist eines der einfachsten Steuerelemente: Sie klicken darauf und es geschieht etwas. Man kann Schaltflächen vielleicht noch aktivieren und deaktivieren und die Beschriftung anpassen, aber viel mehr Möglichkeiten bieten sie nicht. Gute Voraussetzungen also, um unsere Reihe zum Thema Steuerelemente zu beginnen. In diesem Artikel erfahren Sie, wie Sie Schaltflächen anlegen, lernen die wichtigsten Eigenschaften kennen und fügen den Schaltflächen VBA-Code hinzu, damit diese eine Funktion erhalten. Schaltfläche anlegen Eine Schaltfläche fügen Sie folgendermaßen zu einem Formular hinzu: Öffnen Sie das Formular in der Entwurfsansicht. Fügen Sie über die Schaltfläche über die Toolbox (Ansicht Toolbox, Access 2003 und älter) oder über den Ribbon-Eintrag Entwurf Steuerelemente Schaltfläche (Access 2007 und jünger) zur Entwurfsansicht hinzu. Fertig! Bringen Sie die Schaltfläche nun in die richtige Größe und an die richtige Position (mehr zu diesem Thema erfahren Sie unter [basics] Steuerelemente ausrichten und skalieren). Möglicherweise meldet sich beim Anlegen der Schaltfläche der Befehlsschaltflächen-Assistent von Access. Dieser unterstützt Sie beim Anlegen einer Schaltfläche inklusive der Zuweisung einer von mehreren Aktionen, der Benennung und der Beschriftung. Natürlich können Sie diesen Assistenten nutzen, aber leider verrät er Ihnen anschließend nicht, wo er welche Einstellungen vorgenommen hat. Sie sollten einen Assistenten aber nicht verwenden, ohne genau zu wissen, was dieser tut sonst werden Sie später nur schwer nachträgliche Änderungen vornehmen können. Beispieldatenbank Die Beispiele zu diesem Artikel finden Sie in der Beispieldatenbank zu dieser Ausgabe (Access- Basics_2010_06.mdb) im Formular frmbasics- Schaltflaechen. Wenn das Erscheinen des Assistenten beim Anlegen von Steuerelementen stört, können Sie diesen über die Schaltfläche Steuerelement-Assistenten der Toolbox (Access 2003 und älter) oder den Ribbon- Eintrag Entwurf Steuerelemente Steuerelement- Assistenten verwenden (Access 2007 und jünger) deaktivieren. Diese Einstellung gilt für alle Steuerelement-Assistenten. Beschriftung der Schaltfläche Danach stellen Sie die Beschriftung ein, was auf zwei Arten funktioniert: Am einfachsten ist es, wenn Sie die Schaltfläche erst markieren und diese dann erneut anklicken. Die Beschriftung beginnt zu blinken und kann geändert werden. Alternativ aktivieren Sie die Schaltfläche und anschließend das Eigenschaftsfenster (Taste F4) und passen auf der Registerseite Format den Eintrag Beschriftung an. Sie können auch die gewünschte Schaltfläche aus dem Kombinationsfeld des Eigenschaftsfensters auswählen und dann die entsprechende Eigenschaft ändern. Name der Schaltfläche In diesem Fall wird offensichtlich, dass die Schaltfläche mit Befehl0 (oder ähnlich) noch den von Access beim Anlegen vergebenen Namen trägt. Dies müssen Sie dringend ändern, wenn Sie später einmal per VBA auf diese Schaltfläche zugreifen möchten oder die für diese Schaltfläche angelegten Ereignisprozeduren (mehr dazu weiter unten) anhand eines aussagekräftigen Namens identifizieren wollen. Wie unter [basics] Konventionen vorgeschlagen, verwenden Sie für die Benennung von Schaltflächen das Präfix cmd und einen Namen, der die durch die Schaltfläche ausgelöste Funktion beschreibt. In diesem Fall soll ein Klick auf die Schaltfläche zunächst Seite 23

24 einfach ein Meldungsfenster anzeigen, also nennen Sie diese cmdmeldung. Schaltflächenbild Gegebenenfalls möchten Sie der Schaltfläche statt einer Beschriftung ein Bild hinzufügen oder gar Bild und Beschriftung gleichzeitig anzeigen. Beides ist in älteren Access-Versionen nicht ohne Weiteres möglich, aber ab Access 2007 können Schaltflächen auch Bilder und/oder Text anzeigen (wichtige Hinweise dazu finden Sie unter [basics] Bilder unter Access 2007 und jünger). Dazu klicken Sie auf die Eigenschaft Bild und auf die dann erscheinende Schaltfläche mit den drei Punkten (...). Dies öffnet den Bild-Generator. Wenn Sie ein eigenes Bild verwenden möchten, sollte es sich um eine.png- oder.gif-datei mit transparentem Hintergrund handeln. Eigene Bilder können Sie nach einem Klick auf die Schaltfläche Durchsuchen... auswählen. Bild 1: Einfügen eines Bildes für eine Schaltfläche Der VBA-Code, den Sie für das Ausführen bestimmter Anweisungen nach dem Anklicken einer Schaltfläche benötigen, landet in einer sogenannten Ereignisprozedur. Der Weg dorthin ist einfach: Als Erstes markieren Sie im Formularentwurf die Schaltfläche, die den Code ausführen soll. Dann aktivieren Sie, sofern es noch nicht sichtbar ist, das Eigenschaftsfenster mit der Taste F4. Wechseln Sie zur Registerseite Ereignis und klicken Sie auf den Eintrag Beim Klicken. Wählen Sie den Wert [Ereignisprozedur] aus und klicken Sie dann auf die Schaltfläche mit den drei Punkten (...) siehe Bild 2. Es erscheint der VBA-Editor, der automatisch ein Klassenmodul angelegt hat, das alle Ereignisprozeduren und weitere Elemente aufnimmt, die Sie in Zusammenhang mit dem jeweiligen Formular erzeugen. Außerdem hat der VBA-Editor gleich den Rahmen der Prozedur erstellt, der wie folgt aussieht: Private Sub cmdmeldung_click() End Sub Fügen Sie hier die folgende Zeile ein: Action, bitte! MsgBox "Klick!" Nun soll die fertig gestaltete Schaltfläche natürlich auch etwas bewirken. Dazu benötigen Sie etwas VBA- Code. Genau genommen könnten Sie dies auch mit einem Makro erledigen, aber Sie würden damit auf eine Menge Flexibilität verzichten und das möchten Sie sicher nicht. Nun können Sie die Schaltfläche bereits testen. Wechseln Sie über den entsprechenden Menü-/Ribbon-Eintrag oder mit Strg + Punkt in die Formularansicht des Formulars und klicken Sie auf die Schaltfläche. Es erscheint das gewünschte Meldungsfenster. Aktivieren und deaktivieren Außer dem Anklicken gibt es wirklich nicht viel, was Sie mit einer Schaltfläche anstellen können außer Bild 2: Anlegen einer Ereignisprozedur für die Schaltfläche Seite 24

25 vielleicht, das Anklicken zu verhindern. Dazu stellen Sie die Eigenschaft Aktiviert auf der Registerseite Daten des Eigenschaftsfensters auf den Wert Nein ein. Eine deaktivierte Schaltfläche zeigt Access ausgegraut an. Sie kann nun nicht mehr betätigt werden. Manchmal werden Sie in Abhängigkeit von bestimmten Situationen ein Steuerelement aktivieren oder deaktivieren wollen. Der Artikel Formulare für die Dateneingabe Teil IV: Formulare öffnen und schließen zeigt beispielsweise eine Schaltfläche zum Öffnen eines Formulars zur Anzeige der Details eines Datensatzes, der im Unterformular angezeigt wird. Diese Schaltfläche soll aber nur zur Verfügung stehen, wenn im Unterformular wirklich ein Datensatz markiert ist. Es kann auch passieren, dass das Unterformular leer ist oder dass der Datensatzzeiger auf einen neuen, leeren Datensatz zeigt in diesem Fall soll die Schaltfläche zum Bearbeiten des aktuellen Datensatzes natürlich deaktiviert werden. Ob das Unterformular einen Datensatz anzeigt oder nicht, soll bei jedem Wechsel des Datensatzes im Unterformular geprüft werden. Dabei wird jeweils das Ereignis Beim Anzeigen des Unterformulars ausgelöst. Dies ist ein prima Ort, um eine Prozedur zu starten, die prüft, ob das Unterformular gerade einen existierenden oder einen neuen Datensatz anzeigt, und in Abhängigkeit davon unsere Schaltfläche aktiviert oder deaktiviert. Die beteiligten Formulare heißen frmkundeprojekte und sfmkundeprojekte, wobei Sie zunächst Letzteres öffnen und eine Ereignisprozedur für das Ereignis Beim Anzeigen des Formulars anlegen. Gehen Sie wie gewohnt vor: Öffnen Sie das Unterformular allein in der Entwurfsansicht, wechseln Sie im Eigenschaftsfenster zur Registerseite Ereignis, wählen Sie [Ereignisprozedur] für die Eigenschaft Beim Anzeigen aus und ergänzen Sie die nach einem Klick auf die Schaltfläche mit den drei Punkten erscheinende Ereignisprozedur im VBA-Editor wie folgt: Private Sub Form_Current() If Me.NewRecord = True Then Me.Parent!cmdProjektOeffnen.Enabled = False Else Me.Parent!cmdProjektOeffnen.Enabled = True End If End Sub Ein kleiner Vorgriff auf unsere Artikelreihe zum Thema VBA ist der Einsatz der If...Then-Bedingung. Diese wertet die Eigenschaft NewRecord des Formulars (Me) aus. Diese Eigenschaft hat den Wert True, wenn der Datensatzzeiger auf einen neuen, leeren Datensatz zeigt. In diesem Fall stellt die Anweisung Me.Parent!cmd- Projekt Oeffnen.Enabled = True die Eigenschaft Aktiviert der angegebenen Schaltfläche im übergeordneten Formular (Parent) auf False (Nein) ein. Im anderen Fall erhält diese Eigenschaft den Wert True (Ja) und die Schaltfläche wird aktiviert (s. Bild 3). Kein Deaktivieren bei Fokusbesitz Sie müssen lediglich beachten, dass eine zu deaktivierende Schaltfläche nicht den Fokus besitzt. Dies lässt sich im vorliegenden Beispielformular schlecht reproduzieren, wir werden jedoch zu gegebener Zeit auf dieses Problem zurückkommen. Zusammenfassung und Ausblick Mit dem Schaltflächen-Steuerelement haben Sie einen einfachen Einstieg in die Welt der Access-Steuerelemente geschafft. Bild 3: Je nach Position des Datensatzzeigers wird die Schaltfläche cmdprojektoeffnen aktiviert oder deaktiviert. In den folgenden Ausgaben kümmern wir uns um Steuerelemente, die mehr Möglichkeiten als das einfache Anklicken und Auslösen von Ereignissen bieten. Seite 25

Zweitens über eine Abfrage, welche die Tabellen tblartikel und tbllieferanten verknüpft. Auf diese Weise würde das Kombinationsfeld

Zweitens über eine Abfrage, welche die Tabellen tblartikel und tbllieferanten verknüpft. Auf diese Weise würde das Kombinationsfeld Filterkriterien für Formulare, Teil III: Kombinationsfelder In den ersten beiden Teilen dieser Artikelreihe haben Sie erfahren, wie Sie Felder der verschiedenen Datentypen filtern. Nun geht es ans Eingemachte:

Mehr

Access Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P

Access Programmierung. Ricardo Hernández García. 1. Ausgabe, November 2013 ACC2013P Access 2013 Ricardo Hernández García 1. Ausgabe, November 2013 Programmierung ACC2013P Die VBA-Entwicklungsumgebung 5 Weitere Eingabehilfen Im Menü Bearbeiten finden Sie noch weitere Hilfen, die Ihnen

Mehr

Microsoft Access 2010 Bilder

Microsoft Access 2010 Bilder Microsoft Access 2010 Bilder Hyperlinks... arbeiten ähnlich wie ein Link in einer Webseite. sind ein Verweis auf eine Datei (access2010\material\beispiel\tabledevelop\automat.accdb). können ein Verweis

Mehr

4 Makros ausprobieren

4 Makros ausprobieren 4 Makros ausprobieren Getreu dem Motto:»Val più la pratica che la grammatica Die Praxis ist mehr wert als die Grammatik«haben Sie jetzt zuerst einmal die Gelegenheit, die Funktionsweise von Makros auszuprobieren.

Mehr

Wichtige Standardaktionen durchführen

Wichtige Standardaktionen durchführen Anhang A Wichtige Standardaktionen durchführen Die Themen dieses Anhangs So geht es mit Access 2013 So geht es mit Access 2010 So geht es mit Access 2007 So geht es mit Access 2003 In diesem Anhang wird

Mehr

Werte zu Kombinationsfeldern hinzufügen

Werte zu Kombinationsfeldern hinzufügen Kombinationsfelder bieten meist Daten aus Lookup-Tabellen zur Auswahl an. Das bedeutet, dass Sie damit etwa die Anrede oder den Titel einer Person festlegen können, wobei Anreden und Titel in separaten

Mehr

Als Einstieg in das Thema des Buches möchte ich Ihnen gleich zeigen, wie Sie ein kleines Makro definieren, das sich mit einem Meldungsfenster

Als Einstieg in das Thema des Buches möchte ich Ihnen gleich zeigen, wie Sie ein kleines Makro definieren, das sich mit einem Meldungsfenster 2 Los geht s»chi non è contento di quello che ha, non sarebbe contento neanche se avesse ciò che non ha. Wer nicht mit dem zufrieden ist, was er hat, wäre auch nicht zufrieden, wenn er das hätte, was er

Mehr

Bilderverwaltung mit Access

Bilderverwaltung mit Access Bilderverwaltung mit Access (1) Tabelle anlegen Der große Nachteil beim Speichern von Bilddateien in Datenbanken ist, dass sie nicht in dem herkömmlichen Format, sondern in einem Windows-internen Format

Mehr

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P

Access 2010. für Windows. Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011. Automatisierung, Programmierung ACC2010P Ricardo Hernández García 1. Ausgabe, 1. Aktualisierung, Dezember 2011 Access 2010 für Windows Automatisierung, Programmierung ACC2010P 4 Access 2010 für Windows - Automatisierung, Programmierung 4 Mit

Mehr

10 Makros. 10.1 Makros aufzeichnen

10 Makros. 10.1 Makros aufzeichnen 10 Makros Ein Makro besteht aus einer Reihe von Befehlen, die gespeichert und dann immer wieder aufgerufen, d.h. durchgeführt werden können. Das dient zur Automatisierung häufig auftretender Aufgaben.

Mehr

Access Grundlagen für Anwender. Sabine Spieß, Andrea Weikert. 1. Ausgabe, 1. Aktualisierung, September Trainermedienpaket ACC2010_TMP

Access Grundlagen für Anwender. Sabine Spieß, Andrea Weikert. 1. Ausgabe, 1. Aktualisierung, September Trainermedienpaket ACC2010_TMP Sabine Spieß, Andrea Weikert Access 2010 Grundlagen für Anwender 1. Ausgabe, 1. Aktualisierung, September 2012 Trainermedienpaket ACC2010_TMP 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Die Benutzeroberfläche von Access Menüband Das am oberen Bildschirmrand befindliche Menüband beinhaltet die meisten Befehle von Access. Im Menüband sind Schnellzugriffsleiste und Titelleiste integriert.

Mehr

VBA-Programmierung WS 2008/09

VBA-Programmierung WS 2008/09 VBA-Programmierung Sibylle Schwarz Westsächsische Hochschule Zwickau Dr. Friedrichs-Ring 2a, RII 263 http://wwwstud.fh-zwickau.de/~sibsc/ sibylle.schwarz@fh-zwickau.de WS 2008/09 Organisation der Lehrveranstaltung

Mehr

Access [basics] Kunden per Bezeichnung verwalten. Beispieldatenbank. Kundenbezeichnung erwünscht. Separates Bezeichnungsfeld

Access [basics] Kunden per Bezeichnung verwalten. Beispieldatenbank. Kundenbezeichnung erwünscht. Separates Bezeichnungsfeld Beim Umgang mit Kundendaten benötigen Sie oft eine allgemeine Bezeichnung eines Kunden. Diese soll beispielsweise als Überschrift im Formular zur Verwaltung der Stammdaten eines Kunden dargestellt werden

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

1 MAKROS AUFZEICHNEN. 1.1 Einführung

1 MAKROS AUFZEICHNEN. 1.1 Einführung Makro Aufzeichnen Makro + VBA 2010 effektiv 1 MAKROS AUFZEICHNEN 1.1 Einführung Sie können Excel sehr einfach automatisieren, indem Sie ein Makro aufzeichnen. Ähnlich wie bei einem Kassettenrecorder werden

Mehr

Wichtige Standardaktionen durchführen

Wichtige Standardaktionen durchführen Anhang Wichtige Standardaktionen durchführen Die Themen dieses Anhangs So geht es mit Access 2000/2003 So geht es mit Access 2007 In diesem Anhang wird dargestellt, wie verschiedene Standardaktionen in

Mehr

11.1 Warum überhaupt VBA?

11.1 Warum überhaupt VBA? 11 VBA ausprobieren»chi lascia la strada vecchia per la nuova, sa quel che lascia ma non quel che trova. Wer die alte Straße wegen der neuen verlässt, weiß, was er verlässt, aber nicht, was er findet.«in

Mehr

Lorenz Hölscher. Richtig einsteigen: Access 2013 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung

Lorenz Hölscher. Richtig einsteigen: Access 2013 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung Lorenz Hölscher Richtig einsteigen: Access 2013 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung 16 Kapitel 1: Einleitung Teil I»Erste Schritte«enthält diese Einleitung mit der

Mehr

VBA- Programmierung. Integrierte Lösungen mit Office 2013. Ricardo Hernández García. 1. Ausgabe, November 2013

VBA- Programmierung. Integrierte Lösungen mit Office 2013. Ricardo Hernández García. 1. Ausgabe, November 2013 VBA- Programmierung Ricardo Hernández García 1. Ausgabe, November 2013 Integrierte Lösungen mit Office 2013 VBA2013 3 VBA-Programmierung - Integrierte Lösungen mit Office 2013 3 Die VBA-Entwicklungsumgebung

Mehr

IBM Software Demos Rational Systems Developer Introduction

IBM Software Demos Rational Systems Developer Introduction Heute sehen wir uns den IBM Rational Systems Developer näher an, der Teil der IBM Rational Software Delivery Platform ist. IBM Rational Systems Developer richtet

Mehr

3 Hilfefunktionen PROJEKT. Windows XP Professional Edition. Hilfefunktion starten. Das elektronische Handbuch. Das Stichwortregister der Windows-Hilfe

3 Hilfefunktionen PROJEKT. Windows XP Professional Edition. Hilfefunktion starten. Das elektronische Handbuch. Das Stichwortregister der Windows-Hilfe PROJEKT 3 Hilfefunktionen Windows XP Professional Edition Windows XP Professional Edition ISBN 3-8272-6244-5 Sicherlich haben Sie die Begleitbücher zur installierten Software, die Ihnen die Arbeit mit

Mehr

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA Aktionsabfragen lassen sich bequem mit der Entwurfsansicht für Abfragen zusammenstellen. Sie können damit Daten an Tabellen anfügen, bestehende Daten ändern oder löschen und sogar gleich die passende Tabelle

Mehr

Access 2010. für Windows. Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012. Grundlagen für Anwender

Access 2010. für Windows. Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012. Grundlagen für Anwender Andrea Weikert 1. Ausgabe, 4. Aktualisierung, Juni 2012 Access 2010 für Windows Grundlagen für Anwender ACC2010 2 Access 2010 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren

Mehr

Verknüpfte Daten kopieren

Verknüpfte Daten kopieren Das Kopieren einfacher Datensätze ist schnell erledigt. Markieren, kopieren, einfügen schon liegt der neue Datensatz vor. Was aber geschieht, wenn an dem zu kopierenden Datensatz noch weitere Daten hängen

Mehr

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog

Inhalt. Dokument Beschreibung. Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Visual Basic Express PST_Bearbeitung_Dialog Bentley Technical Support ProStructures.Net - Zusatzprogrammierung Inhalt Dokument Beschreibung... 1 Windows Form einfügen... 2 Steuerelemente einfügen... 2 Steuerelemente Titel und Name... 3 Dialog Laden

Mehr

VBA (Visual Basic for Application) Einführung

VBA (Visual Basic for Application) Einführung VBA (Visual Basic for Application) Einführung Bücher Doberenz & Kowalski: Microsoft Office Access 2003 Programmierung; Microsoft Press André Minhorst: Das Access 2003-Entwicklerbuch; Addision-Wesley Albrecht

Mehr

Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen

Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen Handbuch ECDL 2003 Modul 5: Datenbank Formulare anpassen Dateiname: ecdl5_04_02_documentation Speicherdatum: 24.11.2004 ECDL 2003 Modul 5 Datenbank - Formulare anpassen Inhaltsverzeichnis 1 EINLEITUNG...

Mehr

Makro + VBA 2007 effektiv

Makro + VBA 2007 effektiv Daten Makro + VBA 2007 effektiv 5 DATEN 5.1 Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten, siehe Seite 84, jederzeit im Programm verändert werden. Als Variablen können

Mehr

Visual Basic Editor CATIA V5

Visual Basic Editor CATIA V5 Visual Basic Editor CATIA V5 Daniel Frauenrath Allgemein Der Visual Basic Editor ist fester Bestandteil von CATIA V5. Im Gegensatz zum internen Editor für CATScript und CATVbs hat der Visual Basic Editor

Mehr

Schnellübersichten. ECDL Datenbanken mit Windows 10 und Access 2016

Schnellübersichten. ECDL Datenbanken mit Windows 10 und Access 2016 Schnellübersichten ECDL Datenbanken mit Windows 10 und Access 2016 1 Access kennenlernen 2 2 Access verwenden 3 3 Tabellen 4 4 Informationen abfragen 5 5 Formulare 6 6 Outputs 7 1 Access kennenlernen Datenbank

Mehr

Eine Kundendatenbank erstellen

Eine Kundendatenbank erstellen Eine Kundendatenbank erstellen Situation Sie möchten Ihre Kundendaten künftig effektiver mit Hilfe eines Datenbankprogramms verwalten. 1. Starten Sie das Programm Microsoft Access 2000. Start -> Programme

Mehr

Empfänger. Alle Empfänger, die sich für Ihre(n) Newsletter angemeldet haben, werden in der Empfängerverwaltung erfasst.

Empfänger. Alle Empfänger, die sich für Ihre(n) Newsletter angemeldet haben, werden in der Empfängerverwaltung erfasst. Empfänger Alle Empfänger, die sich für Ihre(n) Newsletter angemeldet haben, werden in der Empfängerverwaltung erfasst. Für eine größere Flexibilität in der Handhabung der Empfänger erfolgt der Versand

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Michael Kolberg. einfach klipp & klar. Microsofft* Press

Michael Kolberg. einfach klipp & klar. Microsofft* Press Michael Kolberg einfach klipp & klar Microsofft* Press III Vorwort 11 Die CD-ROM zum Buch 21 Die AutoPlay-Funktion der CD-ROM 22 Installation der Testfragen und des Ebooks 23 Installation des Computer-Lexikons

Mehr

Formulare. Datenbankanwendung 113

Formulare. Datenbankanwendung 113 Formulare Wenn Sie mit sehr umfangreichen Tabellen arbeiten, werden Sie an der Datenblattansicht von Access nicht lange Ihre Freude haben, sind dort doch immer zu wenig Felder gleichzeitig sichtbar. Um

Mehr

White Paper Wählen-Buttons in Excel

White Paper Wählen-Buttons in Excel White Paper Wählen-Buttons in Excel Seite 2 White Paper... 1 Wählen-Buttons in Excel... 1 Wählen-Button in einer Tabelle... 3 Schritt 1: Excel-Datei öffnen... 3 Schritt 2: Button einbauen... 3 Schritt

Mehr

MiniPPS - Systembeschreibung

MiniPPS - Systembeschreibung MiniPPS - Systembeschreibung Hans-Christian Walter Beuth Hochschule für Technik Einführungsbeispiel für Access Version 04.11.2012 Inhalt 1. Access einrichten 2 2. Tabellen 5 3. Abfrage 9 4. Formulare 10

Mehr

Xpert - Europäischer ComputerPass. Konrad Stulle, Andrea Weikert, Tanja Bossert. Datenbankanwendung (mit Access 2010)

Xpert - Europäischer ComputerPass. Konrad Stulle, Andrea Weikert, Tanja Bossert. Datenbankanwendung (mit Access 2010) Xpert - Europäischer ComputerPass Konrad Stulle, Andrea Weikert, Tanja Bossert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Datenbankanwendung (mit Access 2010) XP-ACC2010 3 Xpert - Europäischer ComputerPass

Mehr

Überschrift/Caption. Eigenschaftenfenster

Überschrift/Caption. Eigenschaftenfenster UsserrForrm errssttel llen Dass Codeffensstterr 22000044 NNi iikkoo BBeecckkeerr Öffnen Sie EXCEL und wechseln Sie mit der Tastenkombination Alt + F11 in den Visual Basic-Editor. Alternativ können Sie

Mehr

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

Mehr

Access Verbrecherdatenbank Teil 1

Access Verbrecherdatenbank Teil 1 Access Verbrecherdatenbank Teil 1 Allgemeines In dieser Übung erstellst du mit Microsoft Access eine Verbrecherdatenbank. Dabei lernst du die wesentlichen Elemente einer Datenbank wie Tabellen, Formulare

Mehr

Allgemeine Hinweise zum Erstellen einer einfachen Datenbank

Allgemeine Hinweise zum Erstellen einer einfachen Datenbank Allgemeine Hinweise zum Erstellen einer einfachen Datenbank 1. Tabellen Öffnen Sie das Programm MS-ACCESS durch Doppelklick auf das Symbol oder durch Auswahl des Programms in der Taskleiste Start Programme

Mehr

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen

Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Übung 1: Ein Haupt-/Unterformular mit dem Formular-Assistenten erstellen Problem: In relationalen Datenbanken verteilen sich die Informationen i.d.r. auf mehrere Tabellen. Die Eingabe neuer Daten und die

Mehr

10 Anwenderfreundlich mit Makros

10 Anwenderfreundlich mit Makros 10 Anwenderfreundlich mit Makros»Ogni bel gioco dura poco. Alles Schöne hat einmal ein Ende.«Dies ist das letzte Kapitel, das sich schwerpunktmäßig mit Makros beschäftigt. Aber keine Angst, VBA ist ja

Mehr

Access Seminare. Excel Basismodule

Access Seminare. Excel Basismodule Excel Basismodule Access Seminare Grund- und Aufbaukurse... 2 Microsoft Access Grundlagen... 2 Microsoft Access Aufbaukurs... 3 Access Umsteigerkurse Vertiefungsworkshops... 4 Neues in Access 2013 oder

Mehr

1. Benennen Sie die Elemente der Access-Benutzeroberfläche: Wann müssen Sie einer Datenbank einen Namen geben?

1. Benennen Sie die Elemente der Access-Benutzeroberfläche: Wann müssen Sie einer Datenbank einen Namen geben? Fragenkatalog Access 2003 Daniela Wagner 501 Benutzeroberfläche 1. Benennen Sie die Elemente der Access-Benutzeroberfläche: 2. Wann müssen Sie einer Datenbank einen Namen geben? o Beim Erstellen o Spätestens

Mehr

Das Erstellen einer Datenbank in MS Access 2010

Das Erstellen einer Datenbank in MS Access 2010 Das Erstellen einer Datenbank in MS Access 2010 1. Eine Datenbank anlegen und 1.1. eine Tabelle entwerfen Leere Datenbank, erstellen anklicken vorher Pfad und definieren 1. 2. Es erscheint dieser Bildschirm

Mehr

Schnellübersichten. Access 2016 Grundlagen für Anwender

Schnellübersichten. Access 2016 Grundlagen für Anwender Schnellübersichten Access 2016 Grundlagen für Anwender 1 Access kennenlernen 2 2 Mit Datenbanken arbeiten 3 3 Dateneingabe in Formulare 4 4 Dateneingabe in Tabellen 5 5 Daten suchen, ersetzen und sortieren

Mehr

2.3.2 Fenster verschieben Fenster überlappen

2.3.2 Fenster verschieben Fenster überlappen PC EINSTEIGER Das Betriebssystem 2.3.2 Fenster verschieben Wenn das Fenster nicht durch MAXIMIEREN in den Vollbildmodus gestellt wurde, können Sie das Fenster auf Ihrem Desktop frei verschieben. Platzieren

Mehr

4 SERIENDRUCK. 4.1 Vorbereitung

4 SERIENDRUCK. 4.1 Vorbereitung MS Word 2010 Aufbau Seriendruck 4 SERIENDRUCK Mit Hilfe eines Seriendrucks haben Sie die Möglichkeit, Dokumente wie zb Briefe, Angebote oder Einladungen an einen größeren Personenkreis zu adressieren,

Mehr

7 Synchronisation, Kombination, Unterformular

7 Synchronisation, Kombination, Unterformular 7 Synchronisation, Kombination, Unterformular»Tutte le strade portano a Roma. Alle Straßen führen nach Rom.«Ja, es gibt viele Wege, ein Ziel zu erreichen. Auch wenn Sie gleichzeitig auf Angaben aus unterschiedlichen

Mehr

Hochschulrechenzentrum Justus-Liebig-Universität Gießen. CorelDRAW X7. Zoomen

Hochschulrechenzentrum Justus-Liebig-Universität Gießen. CorelDRAW X7. Zoomen Hochschulrechenzentrum Justus-Liebig-Universität Gießen CorelDRAW X7 Zoomen Zoomen in CorelDRAW Seite 1 von 11 Inhaltsverzeichnis Einleitung... 2 Die Standardzoomgröße... 2 Zoomgröße ändern... 2 Einstellungen

Mehr

Handbuch zum VivaWeb-Serienbrief-Programm

Handbuch zum VivaWeb-Serienbrief-Programm Handbuch zum VivaWeb-Serienbrief-Programm In 10 Schritten zum Serienbrief Das folgende Handbuch erläutert Ihnen die Nutzungsmöglichkeiten des ARV Serienbrief-Programms in all seinen Einzelheiten. Dieses

Mehr

1 Excel Schulung Andreas Todt

1 Excel Schulung Andreas Todt 1 Excel Schulung Andreas Todt Inhalt 1 Darum geht es hier... 1 2 So wird es gemacht... 1 2.1 Zellen und Blatt schützen... 1 2.2 Arbeitsmappe schützen... 5 2.3 Schritt für Schritt... 6 1 Darum geht es hier

Mehr

Migration in Access 2010

Migration in Access 2010 Inhalt dieses Handbuchs Microsoft Microsoft Access 2010 unterscheidet sich im Aussehen deutlich von Access 2003. Daher wurde dieses Handbuch erstellt, damit Sie schnell mit der neuen Version vertraut werden.

Mehr

3 Maps richtig ablegen und

3 Maps richtig ablegen und PROJEKT MindManager 2002 Intensiv 3 Maps richtig ablegen und speichern Ihre Map ist nun fertig gestellt wenn Sie jetzt Ihre Arbeit mit MindManager beenden, ohne die aktuellen Eingaben und Formatierungen

Mehr

Abb. 1. Abb. 2. Schaltflächen Speichern und Bericht öffnen. Abb. 3. www.accessuebungen.de

Abb. 1. Abb. 2. Schaltflächen Speichern und Bericht öffnen. Abb. 3. www.accessuebungen.de Befehlsschaltfläche, Makro 2010 Niko Becker Mit Hilfe von Steuerelementen können Sie Formulare nicht nur ansprechend gestalten, sondern auch eine Art Benutzerführung einrichten, indem Sie beispielsweise

Mehr

Sie haben mehrere Möglichkeiten neue Formulare zu erstellen. Achten Sie darauf, dass das Objekt Formulare aktiviert ist: Klicken Sie auf.

Sie haben mehrere Möglichkeiten neue Formulare zu erstellen. Achten Sie darauf, dass das Objekt Formulare aktiviert ist: Klicken Sie auf. 9. FORMULARE Mit Formularen können Sie sehr komfortabel Daten in eine Tabelle eingeben und auch anzeigen lassen, da Sie viele Eingabemöglichkeiten zur Verfügung haben. EIN EINFACHES FORMULAR ERSTELLEN

Mehr

Attributs-Wertverteilungen / Distribution of Distinct Values Seite 1 von 5

Attributs-Wertverteilungen / Distribution of Distinct Values Seite 1 von 5 Attributs-Wertverteilungen / Distribution of Distinct Values 0.06.06 Seite von 5 D:\Projekte\ Access geändert Tupel ' 9.06.06 Attribute Abfrage-Beschreibung zoomen Abfrage-Dokumentation Abfrage-Dokumentation

Mehr

1 Erste Schritte...13

1 Erste Schritte...13 Inhalt 1 Erste Schritte...13 1.1 Access starten, Datenbank öffnen... 14 1.2 Eine neue Datenbank erstellen... 17 Mit einer leeren Datenbank beginnen... 18 Dateiformate... 19 1.3 Bestandteile einer Access

Mehr

4. Mit Fenstern arbeiten

4. Mit Fenstern arbeiten 4. Mit Fenstern arbeiten In dieser Lektion lernen Sie... wie Sie Fenster wieder schließen das Aussehen der Fenster steuern mit mehreren Fenstern gleichzeitig arbeiten Elemente von Dialogfenstern Was Sie

Mehr

1. Benennen Sie die Elemente der Access-Benutzeroberfläche: Wann müssen Sie einer Datenbank einen Namen geben?

1. Benennen Sie die Elemente der Access-Benutzeroberfläche: Wann müssen Sie einer Datenbank einen Namen geben? Fragenkatalog Access 2007 501 Benutzeroberfläche 1. Benennen Sie die Elemente der Access-Benutzeroberfläche: 2. Wann müssen Sie einer Datenbank einen Namen geben? o Beim Erstellen o Spätestens beim Schließen

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Kopf-/Fußzeilen und Seitenzahlen

Kopf-/Fußzeilen und Seitenzahlen Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format

Mehr

Eine Formularvorlage für einen Muster-Kostenvoranschlag erstellen

Eine Formularvorlage für einen Muster-Kostenvoranschlag erstellen Eine Formularvorlage für einen Muster-Kostenvoranschlag In diesem Leitfaden erfahren Sie o o o o was Mustervorlagen sind wie Sie eigene Mustervorlagen und bearbeiten wie Sie eine Mustervorlage für neue

Mehr

1: Access starten und beenden

1: Access starten und beenden Schnelleinstieg in Access 1 In diesem Kapitel können Sie sich einen ersten Überblick über die Grundfunktionen von Access verschaffen. Sie erstellen eine Access- Datenbank mit einer einfachen Adressverwaltung.

Mehr

Kennen, können, beherrschen lernen was gebraucht wird

Kennen, können, beherrschen lernen was gebraucht wird Formulare Formulare erstellen Was ist ein Formular? Formulare sind standardisierte Dokumente (z.b. Vordrucke, Formblätter) In Formularen sind spezielle Bereiche dafür vorgesehen, mit Informationen gefüllt

Mehr

New Horizons Computer Learning Centers in D/A/CH

New Horizons Computer Learning Centers in D/A/CH Level 1 Mögliche Trainingslösung: Klassenraum (ILT) Connected Classroom WalkIn (ML) Seminarsprache: Deutsch Englisch Übersicht In diesem Training lernen die Teilnehmer Microsoft Access von Grund auf kennen.

Mehr

Erstellung von abhängigen Kombinationsfeldern mit dazugehörigen Unterformular...1

Erstellung von abhängigen Kombinationsfeldern mit dazugehörigen Unterformular...1 Erstellung von abhängigen Kombinationsfeldern mit dazugehörigen Inhaltsverzeichnis Erstellung von abhängigen Kombinationsfeldern mit dazugehörigen...1 Inhaltsverzeichnis...1 Einleitung...1 Vorgaben...1

Mehr

1. Tabellen-Beziehungen

1. Tabellen-Beziehungen 1. Tabellen-Beziehungen Ein relationales DBMS wie MS ACCESS verteilt, wie in vorherigen Kapiteln gezeigt, die Daten auf verschiedene Tabellen. Trotz dieser sinnvollen und notwendigen Trennung der Daten

Mehr

Visual Basic Express Fehlerermittlung

Visual Basic Express Fehlerermittlung Inhalt Dokument Beschreibung... 1 Fehlermeldungen anzeigen... 1 Fehlerkorrektur mit Fehlerliste... 2 Laufzeitfehler... 3 Arbeiten mit Haltepunkten... 4 Dokument Beschreibung Bei der Programmierung können

Mehr

Der Serienbrief bzw. Seriendruck

Der Serienbrief bzw. Seriendruck Der Serienbrief bzw. Seriendruck Sie lernen einen Serienbrief zu erstellen. In Word 2010 wird der Serienbrief unter der allgemeinen Bezeichnung Seriendruck geführt. Er besteht aus einem Hauptdokument (dem

Mehr

1. Einführung Hinweis:

1. Einführung Hinweis: 1. Einführung Sie haben die Möglichkeit, die verschiedenen Übersichten in orgamax um weitere Spalten zu ergänzen. Beispielsweise können Sie in der Kundenübersicht auch die Homepage des Kunden einblenden,

Mehr

Verknüpfen & Einbetten von Daten

Verknüpfen & Einbetten von Daten Verknüpfen & Einbetten von Daten In Office haben Sie die Möglichkeit, Daten in mehreren Anwendungen gemeinsam zu nutzen. Dies geschieht entweder durch Verknüpfen oder durch Einbetten von Objekten (Diagramme,

Mehr

Alerts für Microsoft CRM 4.0

Alerts für Microsoft CRM 4.0 Alerts für Microsoft CRM 4.0 Benutzerhandbuch Der Inhalt des Dokuments ist Änderungen vorbehalten. Microsoft und Microsoft CRM sind registrierte Markenzeichen von Microsoft Inc. Alle weiteren erwähnten

Mehr

Technische Dokumentation Abstimmungs-/ Anwesenheitsliste

Technische Dokumentation Abstimmungs-/ Anwesenheitsliste Weisestrasse 28 12049 Berlin Oliver Scheckelhoff Softwareprojektierung Tel.: +49 (30) 715 76 611 Fax.: +49 (30) 627 04 132 E-Mail: info@excelbeispiele.de Homepage: http://www.excelbeispiele.de http://www.excelbeispiele.com

Mehr

Richtig einsteigen: Access 2007 VBA-Programmierung

Richtig einsteigen: Access 2007 VBA-Programmierung Lorenz Hölscher Richtig einsteigen: Access 2007 VBA-Programmierung Miaosott Teill Erste Schritte 1 Einleitung 9 1.1 Die Themenschwerpunkte dieses Buches 9 Visual Basic for Applications 9 Die Beispiel-Datenbank

Mehr

14. Es ist alles Ansichtssache

14. Es ist alles Ansichtssache Ansicht erstellen mit Suche nach Wörtern im Betreff 14. Es ist alles Ansichtssache In Outlook wird praktisch alles mit Ansichten gesteuert. Wir haben bereits einige Standardansichten verwendet. Das Schöne

Mehr

Microsoft Access Abfragen. Verknüpfung von Tabellen

Microsoft Access Abfragen. Verknüpfung von Tabellen Microsoft Access Abfragen. Verknüpfung von Tabellen Welche Bestellungen hat Kunde... aufgegeben? Welche Kunden im Staat USA haben Waren im Wert von mindestens... bestellt? Welche Waren wurden nicht bestellt?

Mehr

3 VOREINSTELLUNGEN ANPASSEN

3 VOREINSTELLUNGEN ANPASSEN Das Tabellenkalkulationsprogramm Excel 2007 bietet den BenutzerInnen die Möglichkeit, diearbeitsumgebung individuell anzupassen. 3.1 Zoomfunktion Die Arbeitsmappe kann in verschiedenen Vergrößerungsstufen

Mehr

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt

zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Serienbriefe Wie Sie einen Serienbrief mittels Calc und Writer erstellen zur Verfügung gestellt durch das OpenOffice.org Dokumentations-Projekt Inhaltsverzeichnis 1. Erzeugen einer Quelldatei 2. Erzeugung

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

Mehr

Datenbank konfigurieren

Datenbank konfigurieren Sie haben eine Datenbank angelegt, jetzt müssen Sie diese noch konfigurieren. Klicken Sie auf den Titel Ihrer neu erstellten Datenbank. Die Spalten Ihrer Datenbank werden als Felder bezeichnet. Sie haben

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Die Eingabe der Feldnamen der beiden Tabellen in unsere Datenbank Bücherei geht recht zügig, weil wir uns bereits im Vorfeld Gedanken gemacht haben, welche Informationen über Bücher uns wichtig sind und

Mehr

MAILCHIMPCONNECTOR FÜR DAYLITE

MAILCHIMPCONNECTOR FÜR DAYLITE MAILCHIMPCONNECTOR FÜR DAYLITE Table of Contents Allgemeines... 3... 4 Einrichtung... 5 Installation... 6 Lizenzierung... 9 Benutzung...12 Einrichtung des notwendigen API Key...13 Listenverwaltung...17

Mehr

Tiscover CMS 7. Neuerungen im Vergleich zu Tiscover CMS 6

Tiscover CMS 7. Neuerungen im Vergleich zu Tiscover CMS 6 Tiscover CMS 7 Neuerungen im Vergleich zu Tiscover CMS 6 Inhaltsverzeichnis An- und Abmeldung im Tiscover CMS 7... 3 1. Anmeldung... 3 2. Abmeldung... 3 Bereiche der Arbeitsoberfläche von Tiscover CMS

Mehr

Ausführen eines Makros beim Starten von OpenOffice.org

Ausführen eines Makros beim Starten von OpenOffice.org Ausführen eines Makros beim Starten von OpenOffice.org Es ist möglich, beim Starten und Beenden von OpenOffice.org oder einzelner Komponenten Makros auszuführen. Dies geschieht mittels Zuordnung jeweiliger

Mehr

Dataport IT Bildungs- und Beratungszentrum. Access Grundlagenseminar Access Aufbauseminar... 3

Dataport IT Bildungs- und Beratungszentrum. Access Grundlagenseminar Access Aufbauseminar... 3 Inhalt Access 2010 - Grundlagenseminar... 2 Access 2010 - Aufbauseminar... 3 Access 2010 - Von Excel zu Access... 4 Access 2010 - Programmierung Teil 1... 5 Access 2010 - Programmierung Teil 2... 6 Grundlagen

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Skriptum Bauinformatik SS 2013 (Vorlesung IV)

Skriptum Bauinformatik SS 2013 (Vorlesung IV) Skriptum Bauinformatik SS 2013 (Vorlesung IV) Stand: 23.04.2013 Dr. Johannes Lange 2 Inhalt Objektorientierte Programmierung Großes Beispiel... 2 Klasse erstellen... 2 Erzeugen eines Objekts der Klasse...

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Dateneingabe Die Tabelle präsentiert sich bereit zur Dateneingabe. Wir erkennen sofort die von uns erstellten Datenfeldnamen (Buch-ID, Buchtitel, Autor, Verlag usw.), die Access als Spaltenüberschriften

Mehr

Aktuelles Datum in die markierte/aktive Zelle einfügen Ganzes Tabellenblatt markieren Nächstes Tabellenblatt der Arbeitsmappe aktivieren

Aktuelles Datum in die markierte/aktive Zelle einfügen Ganzes Tabellenblatt markieren Nächstes Tabellenblatt der Arbeitsmappe aktivieren Excel-Shortcuts Die wichtigsten Shortcuts [Alt] + [F11] [F1] [F2] [F4] [F7] [F9] [F11] [Shift] + [F9] [Shift] + [F11] [Strg] + [.] [Strg] + [A] [Strg] + [C] [Strg] + [F] [Strg] + [F4] [Strg] + [F6] [Strg]

Mehr

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz

Kurzanleitung. Zitiertil-Creator. Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Dokumentvorlagen Dokumente Formatvorlagen Format Zeichen Format Absatz Datei Neu... Datei öffnen Datei schließen Beenden Suchen Suchen & Ersetzen Verknüpfungen Optionen Einfügen Inhalte einfügen Format

Mehr

Das in Abb. 2 und Abb. 3 dargestellte Kombinationsfeld (Abb. 2 roter Kreis) wurde mit Hilfe des Kombinationsfeld-Assistenten

Das in Abb. 2 und Abb. 3 dargestellte Kombinationsfeld (Abb. 2 roter Kreis) wurde mit Hilfe des Kombinationsfeld-Assistenten Kombinationsfeld, Listenfeld 2010 Niko Becker Mit Hilfe von Steuerelementen können Sie Formulare nicht nur ansprechend gestalten, sondern auch eine Art Benutzerführung einrichten, indem Sie beispielsweise

Mehr

Arbeiten mit dem. LV Add-In. Lauterbach Verfahrenstechnik 01 / 2001

Arbeiten mit dem. LV Add-In. Lauterbach Verfahrenstechnik 01 / 2001 Arbeiten mit dem LV Add-In Lauterbach Verfahrenstechnik 01 / 2001 Inhalt Arbeiten mit dem LV Add-In 1 Installation... 1 Begriffe... 1 Menüs... 2 Modul Öffnen... 2 Modul aktivieren... 3 Werkstoffe/Stoffdaten...

Mehr

4.5 Tabelle ausdrucken

4.5 Tabelle ausdrucken 4 Tabellen DATENERFASSUNG 4.5 Tabelle ausdrucken Druckvorbereitung Seitenansicht Wenn Sie die Datensätze einer Tabelle ausdrucken wollen, so sollten Sie zuvor in der Seitenansicht kontrollieren, ob der

Mehr

Access-Benutzeroberfläche

Access-Benutzeroberfläche Mit Access 2007 hat Microsoft das Ribbon eingeführt und Access seiner Werkzeuge beraubt, Menüleisten und über die Benutzeroberfläche zu erstellen. Nun gut: Menüleisten gibt es nicht mehr, aber können in

Mehr

Hinweis zu aktiven Inhalten von Dateien

Hinweis zu aktiven Inhalten von Dateien Hinweis zu aktiven Inhalten von Dateien Aus verschiedenen Gründen kann es vorkommen, dass das Hochladen von Dateien auf der Publikations-Plattform scheitert. Dies geschieht entweder, wenn ein Schreibschutz,

Mehr

Richtig einsteigen: Access 2010 VBA-Programmierung

Richtig einsteigen: Access 2010 VBA-Programmierung Richtig einsteigen: Access 2010 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung von Lorenz Hölscher 1. Auflage Richtig einsteigen: Access 2010 VBA-Programmierung Hölscher schnell

Mehr