Access 2000 Programmierung

Ähnliche Dokumente
ACCESS. Formulare per VBA referenzieren FORMULARE MIT VBA PROGRAMMIEREN FORMULARE PER VBA REFERENZIEREN BASICS

Access 2000 und MS SQL Server im Teamwork

Borland Delphi 6 -- Kochbuch

Die Unternehmergesellschaft

Filme der Kindheit Kindheit im Film

Access 2002 und MS SQL Server 2000

Bauaufsichtliche Zulassungen - Teil IV: Gewässerschutz (BAZ IV)

Visual C#.NET. Bearbeitet von Patrick A. Lorenz

Medizinische Statistik mit R und Excel

Access 2010 Programmierung Import und Export nach Excel

OLConnector Programmierung

Office 2010 Programmierung mit VSTO und.net 4.0

15.4 Mit dem Printer -Objekt drucken

Vorwort...10 Einleitung...12 Lernen Üben Anwenden...12 Inhalt und Aufbau des Buches...13 Inhalt...13 Aufbau Access 2007 (fast) alles ist

UNIX Shell-Programmierung

Easy ISO 9001:2000 für kleine Unternehmen

Programmieren mit Swing

Netzwerkprogrammierung unter Linux und UNIX

BERND HELD. Das Access-VBA Codebook

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Objektbindungen und Verweise HARALD NAHRSTEDT. Erstellt am

ACCESS. Access-Daten nach Excel verknüpfen INTERAKTIV ACCESS-DATEN NACH EXCEL VERKNÜPFEN BASICS

WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

Das PostNuke Kompendium

INFORMATIK TEIL: VBA. Infromatik WS 17/18 Teil: VBA. Allgemeines: - 4 Übungen á 3 Stunden

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

Bilderverwaltung mit Access

Berechnungen in Excel

Office 2016 für Mac Das Profibuch

Vorkurs Mathematik. Ein Übungsbuch für Fachhochschulen. Bearbeitet von Michael Knorrenschild

Software-Entwicklung mit Delphi

Michael Kolberg. einfach klipp & klar. Microsofft* Press

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

XML kompakt. Eine praktische Einführung. Bearbeitet von Thomas Michel

Figur und Handlung im Märchen

Feuerwehr-, Flucht- und Rettungspläne

MiniPPS - Systembeschreibung

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA CustomViews in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Kanban. Optimale Steuerung von Prozessen. Bearbeitet von Gerhard Geiger, Ekbert Hering, Rolf Kummer

13 Unterprogramme erstellen

Verteilte Datenbanken

Speicherprogrammierbare Steuerungen

mitp/die kleinen Schwarzen Dropbox Sicher speichern und effektiv arbeiten in der Cloud Bearbeitet von Christian Schilling

Microsoft Access 2010 Bilder

JavaScript objektorientiert

Analyse und Entwurf von Softwaresystemen mit der UML

Das lineare Komplementaritätsproblem

3D-Konstruktion mit Mechanical Desktop 6

Krümel und Pfefferminz

Die perfekte Feuerwehr-Rede - Starter-Set

Beck EDV-Berater VBA. Visual Basic for Applications Programmieren unter Office XP. 2., neu bearbeitete Auflage

Office 2016 für Mac Das Profibuch

Mathe: sehr gut, 6. Klasse - Buch mit Download für phase-6

DIN EN ISO 9000:2000 ff. umsetzen

Mathematik für Wirtschaftsingenieure

Aufbaukurs Tank für Gefahrgutfahrer - Expertenpaket

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

White Paper Wählen-Buttons in Excel

Mindmapping mit Mindjet MindManager 2012


Programmieren in Anwendungen

Prozessoptimierung mit statistischen Verfahren

Grundwissen Mathematik

Richtig einsteigen: Access 2010 VBA-Programmierung

Modul 122 VBA Scribt.docx

Theodor Storm - Constanze Esmarch

Kreatives Gestalten mit Flash 5.0

Das QM-Handbuch. Qualitätsmanagement für die ambulante Pflege. Bearbeitet von Simone Schmidt

Perfekte Geschäftsbriefe und s

Inventor Bauteile, Baugruppen, Zeichnungen

17 VBA-Praxisbeispiel

Trainingsmanagement Gutschein Management. Beschreibung

Excel VBA Fehler im Programm

Lesedetektive - Martin zieht um, 2. Klasse

Technisches Zeichnen für Maschinenbauer

Adobe Photoshop Lightroom 5 für Einsteiger

Taschenbuch der Wirtschaftsmathematik

Technische Probleme lösen mit C/C++

»Ich bin doch auch zu etwas nütze«

Ich bin hier bloß der Hund

Vorkurs Mathematik. Ein Übungsbuch für Fachhochschulen. Bearbeitet von Michael Knorrenschild

Berechnungen in OpenOffice.org / StarCalc

Anwendungen der Linearen Algebra

Introduction to Modern Time Series Analysis

Objektorientierte Programmierung in Java

1. Auswählen der mit Blattschutz versehenen Datei

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Filter in VBA nutzen HARALD NAHRSTEDT. Erstellt am

Arbeitsrecht für Betriebsräte - online

Strategie und Technik der Werbung

Kataloge der Universitätsbibliothek Rostock / Die Bibliothek Herzog Johann Albrechts I. von Mecklenburg ( )

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

1000 Konstruktionsbeispiele für die Praxis

Microsoft Office Excel 2007 fürs Büro

Hybride Finanzierung im Internationalen Steuerrecht

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Richtig einsteigen: Access 2013 VBA-Programmierung

Word-VBA. VBA-Lösungen für Word 2000 bis 2007 BERND HELD ( KOMPENDIUM ) Einführung Arbeitsbuch Nachschlagewerk

Formulare für die Dateneingabe Mehrere Formularinstanzen anzeigen

Sind die Schweizer die besseren Deutschen?

MELANIE BREDEN MICHAEL SCHWIMMER. Das Excel-VBA Codebook

4. Kooperation mit Word, etc. (OLE)

Transkript:

Access 2000 Programmierung Bearbeitet von Irene Bauder, Jürgen Bär 1. Auflage 1999. Buch. 1168 S. Hardcover ISBN 978 3 446 21101 8 Format (B x L): 17,7 x 24,5 cm Gewicht: 1990 g schnell und portofrei erhältlich bei Die Online-Fachbuchhandlung beck-shop.de ist spezialisiert auf Fachbücher, insbesondere Recht, Steuern und Wirtschaft. Im Sortiment finden Sie alle Medien (Bücher, Zeitschriften, CDs, ebooks, etc.) aller Verlage. Ergänzt wird das Programm durch Services wie Neuerscheinungsdienst oder Zusammenstellungen von Büchern zu Sonderpreisen. Der Shop führt mehr als 8 Millionen Produkte.

CARL HANSER VERLAG Irene Bauder, Jürgen Bär Access 2000 Programmierung 3-446-21101-2 www.hanser.de

614 Fortgeschrittene VBA-Programmierung Tabelle 12.19: Neue Kollektionen in Access 2000 Kollektion AccessObjectProperties AllDatabaseDiagrams AllMacros AllQueries AllStoredProcedures AllViews FormatConditions Kollektion AllDataAccessPages AllForms AllModules AllReports AllTables DataAccessPages Pages 12.5.1 Datenzugriffsseiten per VBA-Code verwalten Die komplette Sammlung aller geöffneten Datenzugriffsseiten innerhalb eines Access- Projektes oder einer Access-Datenbank finden Sie in der "DataAccessPages"-Kollektion. Wenn Sie auf eine bestimmte geöffnete Seite mit VBA zugreifen möchten, werden Sie immer bei der "DataAccessPages"-Kollektion beginnen. Der Zugriff auf ein einzelnes "DataAccessPage"-Objekt kann über den Namen oder die Index-Nummer der Kollektion erfolgen. Um alle Namen der Seiten zu ermitteln, verwenden Sie am zweckmäßigsten die "For... Each"-Anweisung. Das folgende Beispiel gibt alle Namen der im aktuellen Projekt beziehungsweise in der aktuellen Datenbank geöffneten Datenzugriffsseiten in das Direktfenster aus. Sub fktalleoffenendatenzugriffsseiten() Dim dap As DataAccessPage For Each dap In DataAccessPages Debug.Print dap.name Next dap Es ist nicht möglich, aus der DataAccessPages -Auflistung ein DataAccessPage -Objekt zu löschen oder ein neues hinzuzufügen. Möchten Sie dagegen alle Seiten innerhalb eines Projektes ermitteln, müssen Sie eine andere Vorgehensweise wählen. Alle in einem Projekt enthaltenen Datenzugriffsseiten befinden sich in der AllDataAccessPages -Kollektion des Objektes CurrentProject. Das CurrentProject -Objekt bezieht sich dabei auf das Projekt, das heißt auf die Sammlung aller globalen Module und aller Klassenmodule, der aktuellen Access-Datenbank ( mdb ) oder des aktuellen Access-Projektes ( adp ). Sub fktalledatenzugriffsseiten() Dim dao As AccessObject

Neue Objekte, Methoden und Eigenschaften in Access 2000 615 For Each dao In CurrentProject.AllDataAccessPages Debug.Print dao.name Next dao Das AccessObject -Objekt Wichtig ist es darauf zu achten, daß die AllDataAccessPages -Kollektion kein DataAccessPage -Objekt, sondern ein AccessObject -Objekt zurückgibt. Dieses AccessObject - Objekt kann wiederum unterschiedliche Typen annehmen. Der Typ ergibt sich aus der Kollektion, die das Objekt zurückgegeben hat. Dabei kann ein AccessObject -Objekt folgende Typen besitzen. Tabelle 12.20: Mögliche Typen eines AccessObject -Objekts AccessObject Kollektion Beschreibung Form AllForms Enthält alle gespeicherten Formulare. Report AllReports Enthält alle gespeicherten Berichte. Macro AllMacros Enthält alle gespeicherten Makros. Module AllModules Enthält alle gespeicherten Module. Data access page AllDataAccessPages Enthält alle gespeicherten Seiten. Table AllTables Enthält alle gespeicherten Tabellen. Query AllQueries Enthält alle gespeicherten Abfragen. View AllViews Enthält alle gespeicherten Sichten in einem Access-Projekt. Stored procedure AllStoredProcedures Enthält alle gespeicherten Stored Prozedures in einem Access-Projekt. Database diagram AllDatabaseDiagrams Enthält alle gespeicherten Diagramme in einem Access-Projekt. Eine neue Datenzugriffsseite anlegen Die programmtechnische Erstellung einer Datenzugriffsseite erfolgt über die Methode CreateDataAccessPage des Application -Objektes. Dabei können Sie definieren, ob es sich um eine leere Seite handeln soll, oder ob eine Verbindung zu einer bereits bestehenden HTML -Seite geschaffen werden soll. object.createdataaccesspage filename [, createnewfile] Der erste Parameter enthält den Namen der HTM-Datei und den Pfad. Die Voreinstellung für das zweite Argument lautet True, wodurch eine neue HTML -Seite angelegt wird. Wenn

616 Fortgeschrittene VBA-Programmierung Sie statt dessen den Wert False übergeben, wird nur ein Verweis auf eine bereits bestehende Webseite erzeugt. Durch den Aufruf der Methode CreateDataAccessPage wird die Datenzugriffsseite als Symbol im Access-Fenster angezeigt. Möchten Sie die Seite sofort als Fenster sehen, rufen Sie anschließend die Methode Restore des DoCmd -Objektes auf. Sub fktneueseite() Dim Seite As DataAccessPage Set Seite = Application.CreateDataAccessPage("c:\eigene Dateien\NeueSeite.htm", True) DoCmd.Restore Im anschließenden Beispiel wird eine neue Datenzugriffsseite erstellt und bereits mit etwas Text gefüllt. Den Namen der Seite nennen Sie beim Aufruf der Funktion NeueSeiteanlegen. Falls unter dem Namen bereits eine HTM -Seite existiert, werden Sie gefragt, ob diese als Grundlage dienen soll. Der Aufruf der Funktion im Direktfenster kann zum Beispiel folgendermaßen lauten:? NeueSeiteanlegen("Seite20") Bild 12.26: Eine mit VBA-Code erstellte Datenzugriffsseite '***************** BASICPRG.MDB ***************** '******************** NeueObjekte ****************** Function NeueSeiteanlegen(strDateiName As String) As Boolean Dim Seite As DataAccessPage Dim Antwort On Error GoTo Seite_Err Set Seite = Application.CreateDataAccessPage(strDateiName, True) With Seite.Document.All("Überschriftstext").innerText = "Programmtechnisch erstellte Seite".All("Überschriftstext").Style.display = "".All("V orhaupttext").innertext = "Beispiel zu einer Überschrift".All("V orhaupttext").style.display = ""

Neue Objekte, Methoden und Eigenschaften in Access 2000 617 End With Seite.ApplyTheme "Safari" Seite_Save: DoCmd.Close acdataaccesspage, Seite.Name, acsaveyes NeueSeiteanlegen = True Exit Function Seite_Err: Select Case Err.Number Case 2023 ' Die angegebene Datei existiert bereits ' wenn gewünscht, kann sie als Grundlage benutzt werden Antwort = MsgBox("Die Datei " & strdateiname & ".HTM" & " existiert bereits" & _ vbcrlf & "Wollen Sie diese als Grundlage verwenden?", vbyesno, "Achtung") If Antwort = vbyes Then Set Seite = Application.CreateDataAccessPage(strDateiName, False) Resume Next Else NeueSeiteanlegen = False Resume Seite_Ende End If Case 91 MsgBox "Diese Seite wurde nicht mit Acess erstellt" & _ " und kann deshalb nicht bearbeitet werden",, "Achtung" Resume Seite_Save Case Else NeueSeiteanlegen = False MsgBox Err.Description Resume Seite_Ende End Select Seite_Ende: End Function Mit der Methode CreateDataAccessPage und dem zweiten Parameter True wird eine neue Datenzugriffsseite mit einer neuen HTM-Datei erstellt, und ein Verweis auf die Seite der Objektvariablen Seite zugeordnet. Über die Eigenschaft Document der neu angelegten Seite wird das Internet Explorer Dokument-Objekt ermittelt, mit dessen Hilfe dann die einzelnen Inhalte der Webseite angesprochen werden können. Der Eigenschaft innertext der beiden Objekte Überschriftstext und VorHaupttext wird jeweils mit einem Text besetzt. Damit der Text auch sichtbar angezeigt wird, muß noch der bisherige Inhalt der Eigenschaft display gelöscht werden, das heißt es wird eine leere Zeichenfolge übergeben. Die Namen dieser zwei Objekte, die standardmäßig von Access eingefügt werden, können Sie zum Beispiel in der Entwurfsansicht einer neu geschaffenen Datenzugriffsseite nachlesen. Genauso wie in der Entwurfsansicht können Sie jede Seite auch per Code mit einem bestimmten Design versehen. Dazu setzen Sie die Methode ApplyTheme des DataAc-

618 Fortgeschrittene VBA-Programmierung cesspage -Objektes ein, der Sie den Namen eines Design übergeben. Alle vorhandenen Designs werden im Dialogfeld Webdesigns aufgelistet. Zum Schluß wird die neue Datenzugriffsseite mit der Methode Close geschlossen und über die Konstante acsaveyes gespeichert. Bevor die Funktion beendet wird, wird ihr noch True als Rückgabewert zugewiesen. Die Funktion NeueSeiteanlegen besitzt eine eigene Fehlerbehandlungsroutine, um zwei Fehler abzufangen: Den angegebenen Namen gibt es bereits als HTM-Datei Die Objekte Überschriftstext und/oder VorHaupttext existieren nicht in der HTM- Datei Im ersten Fall entsteht der Fehler mit der Nummer 2023. Daraufhin wird der Anwender gefragt, ob die bereits bestehende Datei als Grundlage für die neue Datenzugriffsseite dienen soll. Wenn die Frage bejaht wird, wird erneut die Methode CreateDataAccessPage aufgerufen. Dieses Mal lautet aber der zweite Parameter False. Anschließend wird mit Resume Next auf die Anweisung gesprungen, die eine Zeile unter der fehlerverursachenden Anweisung steht. Wenn Sie eine bestehende Webseite als Grundlage für die Datenzugriffsseite verwenden, sollte diese zu einem früheren Zeitpunkt mit Access angelegt worden sein, ansonsten gibt es nicht die beiden Objekte Überschriftstext und VorHaupttext, denen ein bestimmter Text zugewiesen wird. Falls diese Zuordnung versucht wird, ohne daß eines dieser Objekte existiert, entsteht der Laufzeitfehler 91. In diesem Fall wird eine Meldung ausgegeben und dann zur Marke Seite_Save gesprungen, damit die Datenzugriffsseite noch geschlossen und gespeichert wird. Rufen Sie die Funktion NeueSeiteanlegen ein zweites Mal mit demselben Namen einer existierenden HTM-Datei auf, so wird in Access eine neue Datenzugriffsseite erstellt. Dem Namen dieser Seite wird zur Unterscheidung zur bereits bestehenden Seite die Nachsilbe _1 angehängt. Beide Datenzugriffsseiten verweisen aber auf dieselbe HTM-Datei. 12.5.2 Auf Formulare und andere Datenbankobjekte zugreifen Bis jetzt konnten Sie mit der Forms -Auflistung nur die geöffneten Formulare ansprechen. Sie mußten sich also zuerst darum kümmern, daß das Formular geöffnet ist. Nachfolgend sehen Sie ein kleines Beispiel, das die Namen aller offenen Formular im Direktfenster auflistet. 'Gibt alle geöffneten Formulare aus ' mit Forms-Auflistung Sub fktalleoffenenformulare1() Dim frm As Form For Each frm In Forms Debug.Print frm.name Next frm