Praktikumsbericht Wintersemester 2000/2001 Seite 1 Bericht über mein 1. praktisches Studiensemester Name: Wanninger, Florian Semestergruppe: I3T Ausbildungsstelle: SIEMENS AG Siemensstraße 10 93055 Regensburg Abteilung: FD 5 Zeitraum: 03.09.00 - 05.01.01 Abgabetermin: Einzureichen bei: Praktikantenamt FH Regensburg zur Kenntnis genommen: ................................................ ................................................ (Berghofer) Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 2 Inhaltsverzeichnis 1. Einleitung........................................................................................................... 3 2. Meine Aufgabengebiete .................................................................................... 4 2.1 Anwenderbetreuung .................................................................................. 4 2.2 Netzwerkbetreuung ................................................................................... 4 2.3 Hardware ................................................................................................... 4 3. Mein Arbeitsplatz ............................................................................................. 5 4. Allgemeines zu MS-ACCESS 97 ...................................................................... 6 4.1. Datenbankobjekte in ACCESS 97............................................................. 6 4.1.1. Tabellen .............................................................................................. 6 4.1.2. Abfragen ............................................................................................. 7 4.1.3. Formulare ........................................................................................... 7 4.1.4. Berichte .............................................................................................. 7 4.1.5. Makros ................................................................................................ 8 4.1.6. Module ............................................................................................... 8 4.2. Zusammenfassung ..................................................................................... 8 5. Die Galvanik Produktionsdaten - Anwendung .............................................. 9 5.1. Funktionen und Erweiterungen ................................................................. 9 5.2. Funktionsablauf ......................................................................................... 9 5.2.1. Erklärung ............................................................................................ 9 5.2.2. Schaubild .......................................................................................... 11 5.3. GalvProd.mdb – Ablauf .......................................................................... 11 5.4 GalvProd.mdb – Datenbankobjekte ........................................................ 12 5.4.1. Tabellen ............................................................................................ 12 5.4.2. Abfragen ........................................................................................... 13 5.4.3. Formulare ......................................................................................... 15 5.4.3. Berichte ............................................................................................ 19 5.4.4. Module ............................................................................................. 21 5.4.4.1. Funktionen................................................................................. 21 5.4.4.2. Admin ........................................................................................ 23 5.4.4.3. Benutzer .................................................................................... 24 6. Abschließende Bemerkung............................................................................. 25 7. Abbildungsverzeichnis.................................................................................... 26 Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 1. Seite 3 Einleitung Mein 1. praktisches Studiensemester absolvierte ich vom 04.09.00 bis 05.01.01 bei der SIEMENS AG in Regensburg. Dieses Werk, in dem ca. 4000 Mitarbeiter tätig sind, gehört zum Geschäftsgebiet A&D (Automation & Drives). Mein Arbeitsbereich war die Abteilung FD 5 (Fertigungsdurchführung). Die Abteilung FD5 wird von einem Informatiker, einer EDV - Hilfskraft und einem Praktikanten besetzt. Desöfteren kommen weitere nebenberufliche Mitarbeiter (Werkstudenten, Diplomanden) hinzu. Die Verwaltung und Betreuung des Netzwerkes, das intern ca. 600 Computer (Clients) beherbergt, und das Erstellen bzw. Verändern von Programmen gehörte zu meinen Hauptaufgaben. Da ich oft Hand in Hand mit meinen Kollegen arbeitete, und somit deren beiden Tätigkeitsfelder abdeckte, erhielt ich einen sehr umfangreichen und besonders interessanten Einblick in das Aufgabengebiet der Abteilung FD 5. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 2. Meine Aufgabengebiete 2.1 Anwenderbetreuung Seite 4 Da im gesamten Bereich der Fertigungsdurchführung fast ausschließlich die MS Anwendungen EXCEL, WORD und ACCESS benutzt werden, tauchen natürlich desöfteren Fragen seitens der Anwender auf. Diese wenden sich meist an die FD 5, wo Ihnen mit Rat und Tat zur Seite gestanden wird. Im Laufe meines Informatikstudiums an der FH, habe ich eine gute Kenntnis der oben genannten MS - Anwendungen erworben, womit ich bei vielen allgemeinen Problemen, aber auch bei sehr spezifischen Fragen oft Auskunft erteilen konnte. Auch auf Wünsche oder Anregungen, ein Programm betreffend wurde eingegangen, und Änderungen bzw. Implementierungen von Programmen und Programmteilen mussten programmiert werden. Von Zeit zu Zeit erhielt ich auch Aufträge, die Intranetseiten von Siemens in einzelnen Bereichen (z.B. Juniorenkreisseite von A&D ET) zu erneuern. 2.2 Netzwerkbetreuung Ein Netzwerk mit knapp 600 Computern muss fast ständig gewartet werden. Entweder treten Störungen auf, Software und Hardware muss erneuert oder neue Rechner vernetzt werden. All diese Arbeiten erledigt ebenfalls die FD 5. In diesem Bereich konnte ich viel Neues lernen, da ich zuvor keinerlei Erfahrungen mit Netzwerken, und deren Hard – und Softwareresourcen sammeln konnte. 2.3 Hardware Da die neuesten Anwendungen und Betriebssysteme immer komplexer werden, und somit höhere Anforderungen an die Hardware stellen, ist es stetig notwendig, die verschiedenen Komponenten der Rechner und deren Peripheriegeräte aufzurüsten oder zu erweitern, da sonst ein reibungsloses Arbeiten mit der installierten Software nicht mehr gewährleistet ist. Da viele neue Computerarbeitsplätze entstehen, müssen auch neue Komplettsysteme installiert, und ins Netzwerk eingebunden werden. Diese Arbeiten waren sehr interessant, da ich so im Laufe der Zeit fast das komplette Werk zu sehen bekam. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 3. Seite 5 Mein Arbeitsplatz Zu Beginn meines Praktikums wurde mein Arbeitsplatz mit einem neuen Rechner ausgestattet. Da ich fast ausschließlich mit dem neuen Rechner arbeitete, folgt auch dessen Systembeschaffenheit: Hardware: Fujitsu Siemens PC Pentium III, 700 MHz 128 MB RAM 10 GB Festplatte Mitsumi 48fach CD-ROM 3½ Zoll Diskettenlaufwerk Netzanschluss über 3COM Etherlink 3 System: MS WINDOWS NT 4.0 WORKSTATION Netz: TCP/IP Netzwerk Compiler: MS VISUAL C++ 5.0 MS VISUAL BASIC 5.0 Enterprise Edition Anwendungen: MS ACCESS 97 MS EXCEL 97 MS WORD 97 MS POWERPOINT 97 MS FRONTPAGE 2000 CORELDRAW 7.0 Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 4. Seite 6 Allgemeines zu ACCESS 97 ACCESS 97 ist ein Datenbanksystem, das sowohl für den normalen Anwender als auch für Entwickler erstellt wurde. Für beide Anwendergruppen stellt ACCESS 97 eine Vielzahl an Funktionen, Optionen und Hilfsmittel zur Verfügung, die das Arbeiten mit Datenbanken erleichtern. Auf der Entwicklerseite sind dies Makros und die Programmiersprache VISUAL BASIC, mit dem man die in der Datenbank definierten Tabellen, Abfragen, Formulare und Berichte zu einer eigenständigen Anwendung zusammenfügen kann. Eine ACCESS 97 - Anwendung ist also eine Datenbankdatei, die durch verschiedene Makros und Module ihre Vorgänge automatisiert. 4.1. Datenbankobjekte in ACCESS 97 Alle Elemente einer in ACCESS 97 erstellten Datenbank werden in einer einzigen Datenbankdatei verwaltet, was den Vorteil bietet, dass nach dem Öffnen dieser Datei sofort Zugriff auf alle Datenbankobjekte besteht. Folgende Objekttypen unterscheidet ACCESS 97: 4.1.1. Tabellen Ohne Tabellen, keine relationale Datenbank. Zuerst muss in der Entwurfsansicht die Tabelle erstellt, und ein Primärschlüssel definiert werden. Dann können die Daten in der Datenblattansicht eingegeben werden. Es stehen viele Standartdatentypen (wie Text, Zahl, uvm.) zur Auswahl, aber auch andere Objekte können in Tabellen eingebunden werden; z.B. Ole – Objekte wie z.B. Bilder oder Audiodateien. Um die Integrität der Datenbank zu gewährleisten, bietet ACCESS 97 die Möglichkeit Beziehungen zwischen den erstellten Tabellen herzustellen. Hierbei hat man die Wahl zwischen einer 1:1, einer 1:n oder einer n:n Beziehung. Schon bei der Eingabe der Daten in eine Tabelle lassen sich bestimmte Gültigkeitsregeln angeben (Standartregeln oder eigene Funktionen), die eine erste wichtige Datenüberprüfung ermöglichen. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 7 4.1.2. Abfragen Es gibt in ACCESS 97 sechs verschiedene Arten von Abfragen. Alle haben die Aufgabe Datenbestände zu verändern. Es können Datensätze sortiert, angefügt, gelöscht und aktualisiert werden. Dabei können als Datenquelle mehrere Tabellen (Kreuztabellenabfrage) und/oder andere Abfragen dienen. Erstellt man in der Entwurfsansicht, bequem per „drag`n`drop“ eine Abfrage, wird parallel dazu der SQL - Quellcode erstellt, d.h. eine Abfrage kann auch allein mit Hilfe von SQL erstellt werden. ACCESS 97 bietet auch die Möglichkeit, eigene ACCESS – BASIC Funktionen als Abfrageparameter einzusetzen, was der Flexibilität sehr zugute kommt. 4.1.3. Formulare Die Formulare in ACCESS 97 stellen im wesentlichen Benutzeroberflächen dar, die die Datenbearbeitung – bzw. Verwaltung optisch verschönern und vereinfachen. Formulare können auf Tabellen oder Abfragen basieren und bieten neben jeglichen Eingabefeldern noch viele WINDOWS - übliche Steuerelemente, die per vordefinierten oder eigenen VISUAL – BASIC Funktionen beliebig miteinander verknüpft werden können. D.h. auf jede Aktion eines Steuerelements (z.B. Klicken, Aktualisieren) kann reagiert werden. 4.1.4. Berichte Ein Bericht dient zur übersichtlich Darstellung der gewünschten Datensätze, und ersetzt oft den Ausdruck auf Papier. Basierend auf Abfragen und/oder Tabellen, werden im Bericht verschiedene Felder eingefügt, die die einzelnen Informationen anzeigen. Standartfelder wie das aktuelle Datum oder die Seitenzahl sind natürlich auch sehr umfassend vorhanden. Viele optische Gimmicks, Eingabemöglichkeiten und Formatierungen, machen das Gestalten eines Berichts beinahe zur Textverarbeitung. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 8 4.1.5. Makros Makros dienen dazu, bestimmte Vorgänge automatisch ablaufen zu lassen. Hier bietet ACCESS 97 vordefinierte Aktionen, die der Entwickler in der auszuführenden Reihenfolge angibt. Mit diesen Aktionen lassen sich z.B. Formulare öffnen oder Abfragen ausführen. Auch eine Makroaufnahmefunktion ist integriert, die dem Anwender erlaubt, mit der Maus mehrere Aktionen auszuführen, die von Access 97 aufgezeichnet werden und später selbstständig ausgeführt werden können. Man kann die Ausführung einer Aktion in einem Makro auch von bestimmten Bedingungen abhängig machen. Makros sind zwar sehr einfach einzusetzen und reichen für kleine Anwendungen aus, bei komplizierteren Anwendungen stoßen sie aber sehr schnell an ihre Grenzen, und es müssen eigene Module entworfen werden. 4.1.6. Module Mit Hilfe des integrierten VISUAL – BASIC Editors lassen sich eigene Prozeduren und Funktionen entwickeln. Aufgrund der Objektorientierung, können alle Datenbankobjekte und deren Eigenschaften und Methoden bis ins kleinste Detail verändert werden. Parameterwerte und SQL – Anweisungen können definiert werden, und so nochmals als Abfrage ein Abfrage dienen. Erst mit Hilfe von Modulen entsteht aus einer Datenbank eine eigenständige, voll automatisierte Anwendung. 4.2. Zusammenfassung MS ACCESS 97 ist auf jeden Fall ein hervorragendes Datenbanksystem, das den Entwicklern alle notwendigen Werkzeuge zur Verfügung stellt, um schnell und bequem jegliche Arten von Datenbankanwendungen zu erstellen. Da auch große Freiheiten im Umgang mit Berichten und Formularen gegeben ist, lässt es auch kaum Wünsche der Benutzer offen. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 5. Seite 9 Die Galvanik Produktionsdaten - Anwendung Die Galvanik Produktionsdaten – Anwendung ist eine Access 97 Datenbank, die Produktionsdaten der Galvanik von der Ablaufsteuerung S 5 importiert. Mit Hilfe von zahlreichen Abfragen werden die Datensätze in Tabellen sortiert und können in Berichten ausgewertet werden. 5.1. Funktionen und Erweiterungen Das Galvanik Produktionsdaten - Programm dient zur Kontrolle und Planung der Galvanikproduktion. Die zugehörigen Daten werden automatisch vom S 5, welches im Abstand von vier Stunden fünf Textdateien mit den Produktionsdaten (Wasserverbrauch, Dosierungen, Aktivbad, Galvanikart, Historienprotokoll) bereitstellt, importiert, gefiltert und aufbereitet. Aufgrund der nicht benötigten, veralteten Tagesdaten sollte diese Anwendung umgeschrieben werden. Tagesdaten, älter als 3 Monate, sollten in Monatsdaten weiter verdichtet, und anschließend gelöscht werden. Der Datenexport nach Excel sollte auch implementiert werden, was eine individuelle Bearbeitung der Daten und das Erstellen von anschaulichen Diagrammen möglich macht. Abschließend sollte eine Benutzerabfrage eingefügt werden, die den Administratoren der Datenbank, die Möglichkeit bereitstellt, genaue Zugriffsrechte für jeden einzelnen Benutzer zu definieren. 5.2. Funktionsablauf 5.2.1. Erklärung Da die aktuellen Produktionsdaten der Galvanik übernommen werden müssen, wird innerhalb des Nachtbatchs der FD5 die Datenbank import.mdb geladen. Beim Öffnen startet automatisch das Makro „autoexec“. Dieses ist ein Standartmakro von Access 97, das beim Öffnen einer Datenbank automatisch gestartet wird. In diesem Fall ruft es wiederum die Funktion „fstart()“ im Modul „import“ auf und der Importvorgang beginnt. Da es zwei Galvanikanlagen gibt, eine für Buntmetall und eine für Stahl, wird zuerst die Zugehörigkeit der Dateien festgestellt. Dann werden alle neuen Daten in Importtabellen importiert und von dort durch eine Abfrage in der Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 10 jeweiligen Sammeltabelle verdichtet. Eine weitere Abfrage vergleicht das Datum der Datensätze in den Sammeltabellen mit denen in den entgültigen Tagestabellen und fügt entsprechend nicht vorhandene Datensätze den Tagestabellen hinzu. Aufgrund von möglichen Fehlern (Nachtbatch wird nicht oder fehlerhaft ausgeführt), werden die Daten in den Sammeltabellen erst nach einer Woche automatisch gelöscht, um etwaige fehlende Daten noch übertragen zu können. Die Tagesdatensätze werden zudem noch zu Monatswerten verdichtet und in eigene Tabellen geschrieben. Tagesdaten, die älter als 3 Monate sind werden gelöscht. Während der Ausführung des Nachtsbatchs ist ein Formular zu sehen, das die aktuell bearbeitete Datei, und den Fortschritt des Importvorgangs zeigt. Zusätzlich wird noch ein Protokoll erstellt. Alle Tabellen sind in der Datenbank galvdata.mdb gespeichert und die Bearbeitung erfolgt lediglich über die Verknüpfungen. Dies hat den Vorteil, dass bei einer Datensicherung nicht alle Abfragen, Formulare, Berichte und Module mit abgespeichert werden und somit die Datenstruktur übersichtlich bleibt. Die eigentliche Verarbeitung und Aufbereitung der Daten erfolgt dann in der Anwendung GalvProd.mdb, in der die Tages – und Monatstabellen aus der Datenbank Galvdata.mdb verknüpft vorhanden sind. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 11 5.2.2. Schaubild Den gesamten Ablauf verdeutlicht folgendes Schaubild: 5.4.3.1. S Galvanik Alle 4 Stunden 5 Textdateien import 5 importiert Importtabellen Abfrage Abfrage Abfrage Excel .mdb fügt an Sammeltabellen Bericht Werden jede Woche gelöscht fügt an Daten, älter als 3 Monate, werden gelöscht Tagestabellen GalvProd .mdb verdichtet Monatstabellen Werden nie gelöscht Abbildung 5-1: Ablauf - Schaubild 5.3. GalvProd.mdb – Ablauf Nach dem Öffnen der Datenbank Galvprod.mdb erscheint, wieder mit Hilfe des Makros „autexec“, das Hauptformular „Auswahl_Auswertung“. Hier hat der Anwender die Wahl, ob Monats - oder Tageswerte in den Berichten angezeigt werden. Es muss nun noch ein Zeitraum angegeben werden und auf die Schaltfläche eines Berichts geklickt werden und dieser erscheint. Je nach Zugriffsrecht sind die Schaltflächen entweder aktiviert oder deaktiviert. Ist der Benutzer als Administrator eingetragen, erscheint ein zusätzlicher Menüpunkt „Administrator“. Beim Klick auf diesen öffnet sich ein weiteres Formular („Admin_Rechte_Einstellen“), mit dem man komfortabel die Rechte eines Benutzers ändern kann. Zusätzlich ist eine Liste mit allen eingetragenen Benutzern einblendbar, die bei Bedarf auch ausgedruckt werden kann. Ist ein Bericht geöffnet, kann dieser ausgedruckt werden oder nach Excel exportiert werden. Ersteres geschieht mit einem Klick auf „Drucken“, welcher eine ACCESS 97 – Standartfunktion zum Drucken startet. Letzteres verbirgt Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 12 sich hinter dem Button „Datenexport nach Excel“, der die Prozedur „ExcelExport“ startet, die sich im Modul „Funktionen“ befindet. 5.4 GalvProd.mdb – Datenbankobjekte In der Datenbank GalvProd.mdb werden mit Hilfe von Abfragen, die auf Tabellen in der Datei GalvData.mdb zugreifen (über Verknüpfungen), die gewünschten Berichte erstellt. Die vorhandenen Formulare verarbeiten die Benutzereingaben und starten dementsprechend Abragen und Modulprozeduren. 5.4.1. Tabellen ZUORDNUNG_AKTIVBAEDER ZUORDNUNG_BAEDER ZUORDNUNG_DOSIERUNG_POSITIONEN ZUORDNUNG_DOSIERUNGEN ZUORDNUNG_DURCHFLÜSSE ZUORDNUNG_GALVANIKARTEN STAMM_BADPOSITIONEN STAMM_GALVANIKARTEN Die obigen Tabellen beinhalten Daten zur Sicherstellung der Integrität der Datenbank. Es werden z.B. den beiden Anlagen die entsprechenden Galvanikarten zugewiesen und mit einer laufenden Nummer versehen. Solange keine Änderungen im Bereich der Galvanik – Produktion vorgesehen sind, werden diese Tabellen ihre Werte beibehalten. TAB_DOSIERUNGEN TAB_DOSIERUNGEN_MONAT Enthalten die Menge der Dosierungszusätze jeder Galvanikart. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 TAB_DURCHFLÜSSE TAB_DURCHFLÜSSE_MONAT Seite 13 Der tägliche Wasserverbrauch der verschiedenen Badbereiche. TAB_DURCHSATZ_AKTIVBAD TAB_DURCHSATZ_AKTIVBAD_MONAT Täglicher Stromverbrauch, Anzahl der benutzen Doppeltrommeln und die gesamte Oberfläche der Teile je Bad. TAB_DURCHSATZ_GALVANIKART TAB_DURCHSATZ_GALVANIKART_MONAT Stromverbrauch, Anzahl der Doppeltrommeln, Oberfläche und Gewicht pro Galvanikart. TAB_HISTORIENPROTOKOLL TAB_HISTORIENPROTOKOLL_MONAT Jeder Galvanikprozess wird in diesen Tabellen festgehalten, inklusive aller wichtigen Daten. Tab_Benutzer Speichert die Zugriffsrechte jedes Benutzers. MONATJAHR Enthält von jedem Tag das Monat. Diese Tabelle ist notwendig, um die anderen Tabellen korrekt miteinander zu verknüpfen und um die Monatsdaten zu verdichten. 5.4.2. Abfragen A_Benutzer_Sortierung Sortiert die eingetragen Benutzer in der Tabelle „Tab_Benutzer“ alphabetisch nach dem Benutzernamen (Kennung) und dient als Aktualisierungsabfrage für die Benutzerbox bzw. Benutzerliste im Administratorformular. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 ABF_DOSIERUNG_AH ABF_DOSIERUNG_AH_MONAT Seite 14 Berechnet die Summe des Stromverbrauchs pro Bad anhand von 3 Tabellen aus. Diese Information wird für die Dosierungsberichte benötigt ABF_DOSIERUNG ABF_DOSIERUNG_ZUSÄTZE Zeigt die Menge der Dosierungszusätze (einer oder zwei) an. Diese Kreuztabellenabfragen werden ebenfalls für die Dosierungsberichte benötigt. A_Produktion_Tag_ExcelExport Da in der Tabelle „Tab_Historienprotokoll“ die Datensätze nach Datum sortiert sind, beim Export nach Excel jedoch nach Sachnummern aufgelistet werden sollen (genau wie beim zugehörigen Bericht), sortiert diese Abfrage die Daten um. Diese Umsortierung kann nicht als SQL – Anweisung direkt in der Prozedur stehen, da EXCEL darauf nicht reagiert. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 15 5.4.3. Formulare Auswahl_Auswertung Abbildung 5-2: Hauptformular Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 16 Beim Öffnen der Galvanik – Produktionsdatenbank wird automatisch dieses Formular gestartet. Beim Laden wird die Benutzernetzwerkkennung geprüft, und falls diese den Zugriff auf einen der Berichte gestattet, wird das Formular freigegeben; ansonsten wird dem Benutzer das Fehlen seiner Berechtigung mitgeteilt und ACCESS 97 beendet. Je nach Benutzerrecht, kann man sich nun einen der Berichte anzeigen lassen, indem man auf eine der aktiven Schaltflächen klickt. Zuvor muss jedoch ein Zeitraum mit Anfangs - und Enddatum angegeben werden. Als Standart befindet sich bei den Tageswerten das aktuelle Datum, und bei den Monatswerten der jüngste vorhandene Monat in den Eingabefeldern. Bei Veränderung dieser Werte wird geprüft, ob sich das neue Datum auch innerhalb der vorhandenen Datensätze. Ist dies Korrekt, wird der gewünschte Bericht geöffnet (siehe Berichte). Administratoren sehen in der obersten Menüleiste zusätzlich noch die Option „Administration“, welche das Formular „Admin_Rechte_Einstellen“ (siehe nächsten Menüpunkt) öffnet. Der aktuelle Benutzername wird unten stetig dargestellt, und kann natürlich nicht geändert werden. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 17 Admin_Rechte_Einstellen Abbildung 5-3: Administratorformular Oben im Kombinationsfeld, steht nach dem Start des Formulars, die Kennung des aktuellen Benutzers. Darunter werden die jeweiligen Zugriffsrechte auf die einzelnen Berichte angezeigt, inklusive der Administrationsberechtigung (Häkchen erlaubt den Zugriff). Der Button „Liste ein/aus“ blendet links, im gleichen Fenster eine Liste mit allen Benutzern ein bzw. aus. In dieser können zwar die Eigenschaften nicht verändert werden, aber man gewinnt einen besseren Überblick der Eintragungen und hat die Möglichkeit die Liste auszudrucken (Button „Liste drucken“). Die Option „beenden“, schließt das Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 18 Formular und kehrt zum Hauptformular „Auswahl_Auswertung“ zurück. Klickt man in der Liste auf einen Benutzer, werden dessen Eigenschaften links, in der Combobox und den Checkboxen angezeigt und können verändert werden. Der Inhalt der Liste und der Benutzerbox aktualisiert sich nach einer Änderung automatisch. Abbildung 5-4: einblendbare Benutzerliste Will man nun die Rechte eines schon eingetragenen Benutzers ändern, wählt man ihn entweder in der Liste, oder direkt in der Combobox aus. Mit den Checkboxen bei Berechtigungen kann man nun die gewünschten Rechte erteilen. Ein Klick auf „zuweisen“ speichert die Eigenschaften in der Tabelle „Tab_Benutzer“. Um einen neuen Benutzer zu erstellen, muss dessen Kennung eingetragen werden, die Checkboxen wie gewünscht aktiviert und ebenfalls auf „zuweisen“ geklickt werden. Wählt man einen Benutzer und klickt auf den Button „löschen“, so wird dieser gelöscht. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 19 5.4.3. Berichte Abbildung 5-5: Berichtsbeispiel Pro Berichtsart existiert ein Bericht mit Tageswerten und ein Bericht mit Monatswerten. Beim Historienprotokoll allerdings, wäre es sinnlos einen Bericht mit Monatswerten anzeigen zu lassen. Zwar gibt es eine Tabelle mit Monatswerten („TAB_HISTORIENPROTOKOLL_MONAT“), diese ist aber nur die Datenquelle für den Bericht „B_Produktion_Monat“, bei dem Monatswerte durchaus brauchbar sind. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 B_Dosierung_Tag B_Dosierung_Monat Seite 20 Diese beiden Berichte gruppieren ihre Ausgabe erst nach der Anlage: Buntmetall oder Stahl. Dann werden die verschiedenen Bäder aufgezählt und zu jedem Tag oder Monat der als Zeitraum gewählt wurde die entsprechenden Werte angezeigt. Die Werte sind: Summe der Stromdichte (in Ah), die Menge des ersten Zusatzes, die Menge des zweiten Zusatzes (jeweils in ml). Zusätzlich wird noch eine Gesamtsumme aller Werte pro Bad, pro Anlage und von allen Bädern zusammen erstellt. B_Durchfluss_Tag B_Durchfluss_Monat „B_Durchfluss_Tag“ und „B_Durchfluss_Monat“ sind Verbrauchsprotokolle, die den täglichen bzw. monatlichen Wasserverbrauch (in Ltr.) pro Badbereich bereitstellen. B_Durchsatz_Galv_Tag B_Durchsatz_Galv_Monat Es werden pro Anlage (Buntmetall oder Stahl) die zugehörigen Galvanikarten aufgereiht. Zu jeder Galvanikart werden folgende Tages – oder Monatswerte angezeigt: Summe der Stromdichte (in Ah), Anzahl der Doppeltrommeln, gesamte Teileoberfläche (in m2) und das Gesamtgewicht der Teile (in kg). Pro Galvanikart und Anlage wird wieder ein Summenwert gebildet (falls mehrere Tage oder Monate als Zeitraum angegeben wurden). B_Produktion_Tag B_Produktion_Monat Die benötigten Werte zu jeder Bezeichnungsnummer werden in dem gewünschten Zeitraum erstellt. Diese Werte sind: Durchschnitt der Durchlaufzeit (in hh:mm:ss), Summe des Gewichts, Summe der Oberfläche und die gesamte Stückzahl. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 21 B_Historie_Tag Jeder einzelne Galvanikprozess, nach Datum und Uhrzeit des Beginns geordnet, und dessen relevante Informationen werden in diesem Bericht dargestellt. Ein Monatsbericht wäre hier nicht sinnvoll, da hier die Übersicht jedes einzelnen Prozesses relevant ist, und diese Werte natürlich nicht zu Monatswerten, sortiert nach Beginn, verdichtet werden können. 5.4.3. Module Wegen der Übersichtlichkeit sind die verschieden Funktionen und Prozeduren je nach Zugehörigkeit in drei Modulen verteilt. Kleinere Funktionsaufrufe, wie das Aktualisieren eines Steuerelements oder das Einblenden einer Nachricht, stehen direkt im VISUAL – BASIC Klassenmodul der Formulare. Das „Funktionen“ – Modul beherbergt vorwiegend die Prozeduren zum Excel – Export. Mit den Modulen „Admin“ und „Benutzer“ wird die Benutzerverwaltung und die Passwortabfrage gesteuert. 5.4.3.1. Funktionen Function fGetWinUser() As String Ermittelt den aktuell angemeldeten Benutzer. Sub sFehlerFenster(fehlermldg As String) Falls ein Fehler in der Darstellung des Fensters auftritt, wird die entsprechende Fehlermeldung angezeigt. Sub sDruckDialog() Blendet die Druckerauswahl beim Klick auf „Drucken“ ein. Sub sAdminClick() Diese Prozedur startet beim Klick auf den Administrator – Menüpunkt (falls vorhanden) und öffnet das Formular „Admin_Rechte_Einstellen“. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 22 Sub ExcelExport() Wird bei offener Berichtsansicht beim Klick auf „Datenexport nach Excel“ gestartet. Es wird überprüft, ob EXCEL schon gestartet und die Tabelle Galvanik.xls geöffnet ist; falls nicht, geschieht dies. Dann wird die Prozedur “Sub datenladen()“ per call – Aufruf gestartet. Sub datenladen() Lädt je nach Berichtsnamen die zugehörigen Quelldaten (OpenRecordset) und filtert diese mit Hilfe einer SQL – Anweisung auf den angegebenen Zeitraum. In Excel wird noch das relevante Datenblatt aktiviert und anschließend die Prozedur „Sub tabelleloeschen()“ aufgerufen. Sub tabelleloeschen() Löscht alle Zellen des aktiven Excelblattes und startet die Funktion „Sub nameneinfuegen()“. Sub nameneinfuegen() Ermittelt die erste Zeile des geladenen Recordset – Objekts und fügt diese in Excel ein....“Sub tabelleformatieren()“. Sub tabellenformatieren() Startet je nach Berichts – und Spaltennamen die zugehörigen Formatierungsprozeduren („Sub agroesse“, „Sub aformat()“, „Sub ahorileft()“) mit den Werten des neuen Formats. Aufrufen der Prozedur „Sub dateneinfügen()“. Sub dateneinfuegen() Die gefilterten Daten aus dem jeweiligen Recordset – Objekt werden in das aktive Excelblatt unter der Zeile mit den Spaltennamen eingefügt. Call – Aufruf der Prozedur „Sub sauberbeenden()“. Sub agroesse(spaltename As String, breite As Integer) Ändert die Breite (breite As Integer ) der angegebenen Spalte (spaltename As String). Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 23 Sub aformat(spaltename As String, formatstring As String) Ändert das Anzeigeformat (formatstring As String) der Spalte (spaltename As String). Sub ahorileft(spaltename As String) Formatiert die Spalte (spaltename As String) linksbündig. Sub sauberbeenden() Setzt alle zuvor benutzen Objektvariablen (z.B. Recordset) auf Null. 5.4.3.2. Admin Alle folgenden Prozeduren werden aus dem Formular „Admin_Rechte_Einstellen“, beim Klick (Click) auf die jeweiligen Elemente und dem Laden (Load) des Formulars gestartet. Sie sind alle „Public“ deklariert, da sie sonst vom Klassenmodul des Formulars nicht erkannt bzw. aufgerufen werden können. Public Sub FormLoad() Setzt den aktuellen Benutzer (fGetWinUser) in die Benutzer – Combobox und startet die Funktion „Public Sub benutzercomboClick()“. Public Sub benutzercomboClick() Durchsucht die Tabelle „Tab_Benutzer“ nach dem Benutzer in der Combobox (aktueller Benutzer) und aktiviert bzw. deaktiviert die Checkboxen gemäss dessen Zugriffsrechten. Public Sub loeschenClick() Klickt der Benutzer auf den Button „löschen“ wird diese Prozedur gestartet. Sie löscht den in der Combobox angegebenen Benutzer und aktualisiert (Requery - Methode) diese und auch die Benutzerliste. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 Seite 24 Public Sub zuweisenClick() Der Button „zuweisen“ startet diese Funktion. Falls eine neue Benutzerkennung eingegeben wurde, wird dieser mit den angegebenen Rechten erstellt. Die Eigenschaften von vorhandenen Benutzern werden aktualisiert, sowie die Anzeige der Combobox und der Liste. Public Sub benlisteClick() Startet, wenn ein Benutzer aus der Liste angeklickt wird. Kennung und Zugriffsrechte werden dann links angezeigt. 5.4.3.3. Benutzer Die folgenden Prozeduren sind ebenfalls „Public“ deklariert, da sie aus dem Klassenmodul des Hauptformulars aufgerufen werden. Public Sub sBenutzer() Wird beim Laden des Startformulars gestartet. Überprüft die Rechte des angemeldeten Benutzers und speichert diese in Variablen. Falls der Benutzer nicht eingetragen ist, erscheint eine erklärende Meldung und ACCESS 97 wird beendet. Bei Administratorrechten, wird zusätzlich der Menüpunkt „Administrator“ eingeblendet. Startet dann die Prozedur „Public Sub sFreigabeTag()“ um die Schaltflächen der einzelnen Berichte schon beim Start des Formulars zu aktualisieren. Public Sub sFreigabeTag() Wird einmal beim Laden das Startformulars, und dann bei jedem Klick auf die Option „Tag“ gestartet. Aktiviert oder Deaktiviert gemäss den Zugriffsrechten die Tagesberichtbuttons. Public Sub sFreigabeMonat() Wählt der Benutzer die Option „Monat“ überprüft diese Prozedur dessen Rechte und aktiviert bzw. deaktiviert die Schaltflächen der einzelnen Berichte für die Monatsdarstellung. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 6. Seite 25 Abschließende Bemerkung Im Laufe der Zeit wurde ich von meinen Kollegen mit immer mehr neuen Aufgaben vertraut gemacht, so dass ich mit Gewissheit behaupten kann, das komplette Spektrum der Arbeiten und Funktionen der Abteilung FD 5 durchlaufen zu haben. Auch einfache Aufgaben wie Hardwareaufrüstungen oder gar Botengänge waren mir keineswegs unangenehm, da man so den gesamten Siemens ET – Komplex kennenlernt. Meine grössten Fortschritte kann ich allerdings im Bereich der VISUAL – BASIC und der C++ Programmierung verbuchen. Das Erweitern der Galvanik – Anwendung hat mich vor viele spezifische Probleme mit VISUAL – BASIC bzw. auch ACCESS 97 gestellt, die ich natürlich meist alleine zu lösen hatte. Ein Praktikum bei Siemens A&D ET in Regensburg kann ich sehr empfehlen. Nicht nur aufgrund der vielen offenen Möglichkeiten der Weiterbildung, sondern auch wegen des Betriebsklimas, das ich als sehr angenehm empfand, und wegen der guten Verköstigung seitens der Kantine. Wanninger Florian I3T Praktikumsbericht Wintersemester 2000/2001 7. Seite 26 Abbildungsverzeichnis Abbildung 5-1: Abbildung 5-2: Abbildung 5-3: Abbildung 5-4: Abbildung 5-5: Wanninger Florian Ablauf – Schaubild ...................................................................... 11 Hauptformular ............................................................................. 15 Administratorformular ................................................................. 17 einblendbare Benutzerliste .......................................................... 18 Berichtsbeispiel ........................................................................... 19 I3T Praktikumsbericht Wintersemester 2000/2001 Seite 27 Praktikumsbetreuer Dipl. Inf. (FH) Roland Haase zur Kenntnis genommen ............................................... (Haase) Wanninger Florian I3T