20
Walter | Beuth Hochschule für Technik Berlin 1 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 4.1 Gebundene Formulare 10 4.2 Formulartypen 13 4.2.1 Datenblatt 13 4.2.2 Einzelnes Formular mit Registerelement und Unterformularen 14 4.3 Formularmodule 19 5. Module (Anqwendungsmodule, Hilfsmodule) 20

MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 1

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 4.1 Gebundene Formulare 10 4.2 Formulartypen 13 4.2.1 Datenblatt 13 4.2.2 Einzelnes Formular mit Registerelement und Unterformularen 14 4.3 Formularmodule 19 5. Module (Anqwendungsmodule, Hilfsmodule) 20 

Page 2: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 2

1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen in Access gewisse Einstellungen vorgenommen werden. Ferner ist VBA (Sicherheitsabfrage) immer zu aktivieren. Die Sicherheitsabfrage kann dadurch umgangen werden, indem der Speicherort des Programmes als vertrauenswürdig definiert wird. Einstellungen:

Page 3: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 3

Abbildung 1: Darstellung der Anwendung nach den Access-Einstellungen. Der Navigationsbereich lässt sich einblenden.

Page 4: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 4

Abbildung 2: Navigationsleiste für Beispiel

Page 5: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 5

2. Tabellen Tabellen sind die Basis für eine Anwendung. Sie werden im ersten Schritt festgelegt. Für Namen sollte die konsequente Groß-Kleinschreibung verwendet werden. Auf Binde- und Unterstriche sollte bei der Vergabe der Namen verzichtet werden, z.B. statt KA_ID, besser KaId. Auf folgendes ist zu achten:

• Festlegung von kurzen, einheitlich strukturierten Namen für Tabellen, z.B.: Ka10 (Ka = Kundenauftrag, 10 laufende Nummerierung für untergeordnete Tabellen)

• Festlegung von kurzen, einheitlich strukturierten Namen für Felder, z.B. KaId (Ka – Kundenauftrag, Id = Eindeutiger Schlüssel)

• Beschriftung: dies ist die Bezeichnung, die in den Formularen verwendet wird. z.B. für KdId (Kunden-Id.) wird die Bezeichnung "Kunde" in den Formularen verwendet (Ziel: bessere Lesbarkeit für den Benutzer)

• Verwendung von Nachschlagefeldern für Fremdschlüssel und standardisierte Felder in Form eines Kombinationsfeldes (nicht Listenfeldes). Wird bereits bei der Tabellendefinition das Feld angelegt, so steht dies automatisch den Formularen zur Verfügung.

• Beziehungsstruktur muss zwischen den Tabellen definiert werden. Um die Übersichtlichkeit zu wahren sollte sie auf hierarchische Strukturen, z.B. Ka10 (Kundenuaftragskopf) – Ka20 (Kundenauftragsposition) beschränkt werden und die Löschweitergabe enthalten. Dadurch gelingt es, dass wenn der Kopfsatz eines Auftrages gelöscht wird, automatisch vom System auch die Positionen gelöscht werden.

• Verwendung einer einheitlichen Tabelle Ta10 für alle standardisierten Nachschlagefelder, z.B. Bezeichnung von Statusfeldern, Anrede.

Abbildung 3: Tabelle - Grundform

Abbildung 4: Tabelle – Definition

Page 6: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 6

Abbildung 5: Tabelle mit Nachschlagespalte

Abbildung 6: Tabelle mit Nachschlagespalte - Definition

Durch die Breitenangabe 0 cm; 5cm werden die ID ausgeblendet und der Name angezeigt.

Page 7: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 7

Abbildung 7: Einheitliche Tabelle für Nachschlagefelder Ta10

Abbildung 8: Verwendung der Tabelle bei Nachschlagefeldern

Page 8: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 8

Abbildung 9: Beziehungsstruktur der Tabellen

Page 9: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 9

3. Abfrage Abfragen stellen logische Tabellen dar, die sich aus Tabellen kombinieren lassen und nur beim Aufruf entstehen. Abfragen können explizit oder implizit in Formularen oder im VBA-Quellcode definiert werden. Um die Übersichtlichkeit eines Systems zu erhöhen, sollte auf die explizite Definition von Abfragen weitgehend verzichtet werden. Bei der Betrachtung der Performance kann sie allerdings eine wichtige Rolle spielen.

Abbildung 10: Abfrage

Abbildung 11: Abfrage - Definition

Page 10: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 10

4. Formulare

4.1 Gebundene Formulare "Tabellen und Abfragen werden durch ein Fenster hindurch bearbeitet" Der Zugriff auf die Felder der Tabelle oder Abfrage und die Navigation durch die Datensätze stehen dem Formular zur Verfügung.

Datensatz

Formular

Tabelle

Page 11: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 11

Abbildung 12: An eine Tabelle gebundenes Formular - Definition

Um ein gebundenes Formular zu erstellen gehen Sie wie folgt vor:

1. Entwurfsansicht Formular (hier fKa10) 2. Eigenschaftblatt Formular 3. Datensatzquelle Tabelle/Abfrage (hier Ka10) 4. Formularentwurfstools/Entwurf/Vorhandene Felder hinzufügen 5. Felder per Maus in das Formular ziehen 6. ggf. Felder anordnen gestapelt 7. Felder hinsichtlich Höhe (z.B. 0,4), Schrifttyp und Hintergrundfarbe formatieren.

Soll das Formular in der Datenblattansicht gezeigt werden, so ist dieser Schritt nicht notwendig.

Page 12: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 12

Abbildung 13: Felder der Tabelle/Abfrage in ein gebundenes Formular übernehmen

Felder in das Formular ziehen. Fehlerquelle: Registerbereich ist nicht korrekt ausgewählt. Dann stehen die Felder auf allen Registerkarten!

Page 13: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 13

4.2 Formulartypen

4.2.1 Datenblatt

Abbildung 14: Formulartyp Datenblatt

Abbildung 15: Definition Formulartyp Datenblatt

Page 14: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 14

4.2.2 Einzelnes Formular mit Registerelement und Unterformularen Erscheinungsbild

Abbildung 16: Einzelformular mit Register

Page 15: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 15

Struktureller Aufbau des Formulars fKa10 mit seinen Unterformularen

Abbildung 17: fKa90

Abbildung 18: fKa20

Page 16: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 16

Abbildung 19: fKa10

Unterformular = Rahmen für Ka90

Unterformular = Rahmen für Ka20

Page 17: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 17

Entwurf des Formular Bauen Sie das Formular in folgenden Schritten auf: 1. Entwurf des Formulars fKa90

2. Entwurf des Formulars fKa20

Formulareigenschaften: Standardansicht: Datenblatt Datensatzquelle: Ka10 Formularereignisse:

ät i fü

Formular fKa90

Formulareigenschaften: Standardansicht: Datenblatt Datensatzquelle: Ka20

Formular fKa20

Page 18: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 18

3. Entwurf des Formulars fKa10

Formular fKa10

Unterformular: RahmenfK90 mit Formular fKa90

Unterformular: RahmenfK20 mit Formular fKa20

Formulareigenschaften: Datensatzquelle: Ka10 Formularereignisse

• Beim Öffnen - Code • Beim Anzeige - Code

Steuerelemente: Registersteuerungselement: RegisterStr0 Seite: SeiteÜbersicht Seite: SeiteDetail Seite: SeitePositionen Unterformular: RahmenfKa90

• Herkunftsobjekt: fKa90 • Verknüpft von:

leer • Verknüpft nach:

leer

Unterformular: RahmenfKa20 • Herkunftsobjekt: fKa90 • Verknüpft von:

KaId (Auftr.-ID) • Verknüpft nach:

KaId (Auftr.-ID) Befehlsschaltfläche: Detail

• Bei Klick - Code Befehlsschaltfläche: Neu

• Bei Klick - Code Befehlsschaltfläche: Löschen

• Bei Klick - Code

Formular fKa10Seite: SeiteÜbersicht

Seite: SeiteDetail

Seite: SeitePositionen

Page 19: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 19

4. Entwurf der Formularmodule unter Einbeziehung von Hilfsmodulen

4.3 Formularmodule Formular fKa10 – VBA Private Sub Form_Current() If IsNull(Me.KaId) Then Me.Caption = "Neu" Else Me.Caption = "K u n d e n a u f t r a g " & Me.KaId If Not IsNull(Me.KdId) Then Me.Caption = Me.Caption & " | " & DLookup("KdName", "Kd10", "KdId =" & Me.KdId) End If End Sub Private Sub Form_Open(Cancel As Integer) If Me.Recordset.RecordCount = 0 Then If F_AnwortJa("Kein Datensatz verfügbar. Wollen Sie einen neuen Datensatz anlegen?") Then Neu_Click End If End If End Sub Private Sub Detail_Click() If F_Ungültig(Me.RahmenfKa90.Form.KaId) Then Exit Sub Me.Recordset.FindFirst ("KaId = " & Me.RahmenfKa90.Form.KaId) Me.SeiteDetail.SetFocus End Sub Private Sub Neu_Click() 'Standard 'MsgBox "Neu" Me.SeiteDetail.SetFocus Me.AllowAdditions = True DoCmd.GoToRecord , , acNewRec 'Neuer Datensatz Me.KaDatum = Date DoCmd.RunCommand acCmdSaveRecord 'Speichern Me.RahmenfKa90.Requery 'Unterformular Übersicht aktualisieren End Sub Private Sub Löschen_Click() 'Standard 'MsgBox "Löschen" If F_Ungültig(Me.KaId) Then Exit Sub 'Sicherheitsabfrage Me.SeiteDetail.SetFocus Dim A A = MsgBox("Wollen Sie den Datensatz löschen?", vbYesNo) If A = vbNo Then Exit Sub DoCmd.RunCommand acCmdDeleteRecord 'Datensatz löschen If Me.Recordset.RecordCount > 0 Then Me.RahmenfKa90.Form.Requery 'Unterformular Übersicht aktualisieren Else DoCmd.Close End If End Sub

Formular fKa90 – VBA Private Sub Form_DblClick(Cancel As Integer) If F_Ungültig(Me.KaId) Then Exit Sub 'Navigieren im Hauptformular zum ausgewählten Satz Me.Parent.Recordset.FindFirst ("KaId = " & Me.KaId) Me.Parent.SeiteDetail.SetFocus 'Register aktivieren End Sub

Page 20: MiniPPS MiniPPS - Systembeschreibung · MiniPPS Walter | Beuth Hochschule für Technik Berlin 2 1. Access einrichten Um eine benutzergerechte ansprechende Anwendung zu erhalten, müssen

MiniPPS

Walter | Beuth Hochschule für Technik Berlin 20

5. Module (Anqwendungsmodule, Hilfsmodule) M_Antwort Public Function F_AnwortNein(Text As String) As Boolean Dim A A = MsgBox(Text, vbYesNo, "Frage ...") If A = vbNo Then F_AnwortNein = True Else F_AnwortNein = False End If End Function Public Function F_AnwortJa(Text As String) As Boolean Dim A A = MsgBox(Text, vbYesNo, "Frage ...") If A = vbNo Then F_AnwortJa = False Else F_AnwortJa = True End If End Function

M_Save Public Sub F_Save() DoCmd.RunCommand acCmdSaveRecord End Sub

M_Ungültig Public Function F_Ungültig(Feld As Control) As Boolean On Error GoTo Fehler Dim Inhalt Inhalt = Feld.Value If Not IsNull(Feld.Value) Then F_Ungültig = False Exit Function End If Fehler: MsgBox "Keine gültige Eingabe" F_Ungültig = True End Function