Datenbanken fürs Nirwana Stefan Zink, November 2011

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Support.ebsco.com Lernprogramm zum Erstellen einer lokalen Sammlung.
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Zusammenfassung der Vorwoche
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
Systemverwaltung wie es Ihnen gefällt.
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
MS Office-Paket: Access
Erweiterung B2B Usermanagement / LDAP-Anbindung
Objektorientierung mit VBA
Java: Grundlagen der Sprache
SWITCH - Anweisung.
V09 Fallende Formen, Geschwindigkeitsregelung und Timing Daniel Ebner Spieleprogrammierung mit DirectX und C++
SQL als Abfragesprache
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Installationsanleitung 1.02 Hausverwaltung.
Die folgenden Seiten veranschaulichen, wie Sie die Online-Angebote als Ergänzung zu Ihrer Papierversion zeitsparend und effektiv nutzen. Die Inhalte der.
JDBC EDV JDBC.
Einführung MySQL mit PHP
Neue DBF und DBC Befehle in Visual FoxPro
Grundschutztools
Presenter: Daniel Walzenbach Technologieberater
Installation FAQ-Forum Zope Basisinstallation Zusätzliche Module (Products) Grundkonfiguration Einrichten neuer Foren.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
MS Excel, Open-/LibreOffice Calc Die Menüs I Office-Logo (Excel2007) bzw. Datei (andere): die Standard-Datei- und Druckoperationen; bei MS Excel hier auch.
Einstellungen im Web für Outlook
Vorstellung.
Demonstration mit 1 © by H. Schönbauer Nun müssen wir nur noch die neue Version der Software downladen und installieren. Dazu rufen wir mit einem.
Wir bauen uns eine Webapplikation!
Steuerung externer Komponenten über ein USB-Interface.
Artikel-Import für Verkäufer
OMRON 1 FINS Befehle schicken mit CX – Server Lite Aufgabe :
Als Hausbewohner/-Besitzer können wir uns drehen und wenden wie wir wollen: Wir Bewohner und unser Haus benötigen/wollen ENERGIE. Mit Hilfe von Technik.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Kostenlose Alternative zu Microsoft Office
SOFTWARE- UND WEB-LÖSUNGEN
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Meins & Vogel GmbH, Tel. (07153) , Sicher im Internet – Nur eine Illusion? Vortrag im Rahmen eines Info-Abends Meins und Vogel.
Aktuelle Produktstände – TRIBASE
Liske Informationsmanagementsysteme 2005 Informationen managen Strategisches Kalkül und technische Wirksamkeit.
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Herbers Excel-Server - der Workshop
Purga - Scriptengine Ein Einblick.
Medienneutrale Datenbanken
Variablen in Programmiersprachen
Saia Service an PCD's Wartung
Allgemeine Funktionalitätsbeschreibung
Access-2-SQL-Server die Unvollendete … (Migration)
Structured Query Language
Backup der MySQL-Daten bei All-Inkl Eine mögliche Variante, um MySQL- Daten bei dem Provider „All-Inkl“ zu sichern.
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
VBA-Schulung /28Objektübersicht2 Übersicht der orgAnice Database Server- und orgAnice Data- Objekte.
An Approach to the Preservation of Digital Records National Archives of Australia Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung.
Gib die Zahl 4 ein!. VB-Skript ColTrue = RGB(0, 255, 0) ColFalse = RGB(255, 0, 0) ColSelected = RGB(255, 255, 0) TextBox1.BackColor = ColSelected If Not.
Berechenbarkeit Klaus Becker Berechenbarkeit.
TypoScript.
Webserver, Apache und XAMPP
Customizing Tools: Genehmigungsverfahren
III c WINF 1 Mag. Edwin Schädler. Symbolleiste für den Schnellzugriff anpassen.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
By Thorsten Zisler 1 SQL Datenbank Anbindung an den Supervisor.
Gib die Zahl 4 ein!.
Die programmierte Lösung
SOFTWARE- UND WEB-LÖSUNGEN
 Präsentation transkript:

Datenbanken fürs Nirwana Stefan Zink, November 2011 Access Workshop 2011 Datenbanken fürs Nirwana Stefan Zink, November 2011

Themen dieser Präsentation Druckerverwaltung Add-Ins und Verweise Updates verteilen (Frontend) Update des Backend (Strukturänderung) Lizenzierung, Softwareschutz, pay per use Anbindung an 2nd-Party-Produkt (Wenn die Zeit reicht)

Zunächst ein paar Bilder um auf das Thema einzustimmen (Projekte auf die ich stolz bin, was ich also wirklich kann)

Citizen-Thermo-Transfer_Drucker Barcode-Drucker Citizen-Thermo-Transfer_Drucker Dymo-Labelwriter

Anforderungen Druck muss mit einem Klick funktionieren System muss erkennen ob und welcher Drucker angeschlossen ist Druckeranbindung kann lokal oder über Netzwerk sein Funktionen müssen auch in MDE funktionieren

Verfügbare Dymo- und Citizen-Drucker suchen ZaehlerDym = 0 ZaehlerCit = 0 StrDymo = "Dymo" StrCitiz = "Citiz" For Each prtloop In Application.Printers StrPrtName = prtloop.DeviceName If InStr(1, StrPrtName, StrDymo) Then Me.Kmb_DruckerSelect.AddItem prtloop.DeviceName ZaehlerDym = ZaehlerDym + 1 Else If InStr(1, StrPrtName, StrCitiz) Then ZaehlerCit = ZaehlerCit + 1 End If

Dim stDocName As String Dim a As String P_StrAktuelleArtikelNr = Me.Artikelnummer a = Me.Kmb_DruckerSelect Select Case True Case a Like "*Dymo*" Application.Printer = Application.Printers(a) stDocName = "Ber_Lageretiketten" DoCmd.OpenReport stDocName, acViewNormal Set Application.Printer = Nothing Case a Like "*Citi*" stDocName = "Ber_LagerEtikettCitizien" Case Else MsgBox ("Kein Drucker ausgewählt!") End Select

Sonst noch zu beachten: Solange der entsprechende Bericht bearbeitet wird muss der zugehörige Drucker als Standard ausgewählt sein!

Und Ausserdem: Beim jeweiligen Drucker muss unbedingt das eingelegte Papierformat auch eingestellt sein!

Add Ins und Verweise ???

Version beachten!

Add-Ins / Verweise Entwicklung unter Office 2007 im Format 2002 zwar möglich, aber nach MDE-Erstellung läuft es nicht mehr unter 2002 MDE-Erstellung unbedingt unter 2002 Speziell bei T-BarCode nur gleiche Versionen einsetzen

Update des Frontend ???

Anforderungen Automatischer Download von WWW Automatische Verteilung im Netz Benutzereingriffe reduzieren Zuverlässige Ausführung in allen Umgebungen Unkomplizierte Umsetzung

Erster Ansatz DBUpdate.exe von Gunter Avenius (www.avenius.de) Vorteile: - einfach zu bedienen, schnell, effektiv und viele Möglichkeiten Nachteile: - Unter Windows 7 nicht einsetzbar da Schreibrechte in Windows-Verzeichnis notwendig (meines Wissens!)

Bessere Lösungen Danke. Projekt noch nicht umgesetzt! Im Moment verarbeite ich viele einzelne Lösungsansätze, mit freundlicher Hilfe von - Thomas Möller - Dirk Eberhardt - und vielen anderen. Danke.

Update des Backend ???

Anforderungen Im Lauf der Weiterentwicklung wird sicher das BE erweitert, wie geht das? Es muss eine automatisierte Update-Routine her Die Update-Routine muss kumulierend sein, man weiß ja nie welches Update der Kunde wirklich einspielt Versionsvergleich zwischen FE und BE

Die Lösung Lösung für die Techniken - DAO - ADO - SQL http://www.kulpa-online.com/assets/files/tutorials/strukturaenderung.pdf

Die einzelnen Schritte….

Versions-Tabelle im BE

Routine für Versionsvergleich Dim MaxAW_BE As Integer Dim MaxAW_FE As Integer 'Aktuelle Version des Frontend auslesen MaxAW_FE = DMax("VFE_Autowert", "Tbl_VersionFE") MaxAW_BE = DMax("fAutoWert", "Tbl_VersionDaten") P_StrAktuelleVersion = DMax("VFE_Version", "Tbl_VersionFE", "VFE_Autowert =" & MaxAW_FE) P_StrBenoetigteVersionDaten = DLookup("VFE_MindVersBE", "Tbl_VersionFE", "VFE_Autowert =" & MaxAW_FE) 'Aktuelle Version des Backend aussuchen P_StrAktuelleVersionDaten = DLookup("VER_Version", "Tbl_VersionDaten", "fAutoWert =" & MaxAW_BE) 'Abgleichen ob die MMC_Daten.mdb auf den richtigen Stand hat If VersChange(P_StrAktuelleVersionDaten, P_StrBenoetigteVersionDaten) = True Then MsgBox ("Die Aktuelle Version der MMC-Daten ist veraltet." & vbCrLf & _ "Aktuelle Version: " & P_StrAktuelleVersionDaten & vbCrLf & _ "Benötige Version: " & P_StrBenoetigteVersionDaten & vbCrLf & _ "Das Programm wird beendet. Bitte spielen Sie das aktuelle Update ein."), _ vbOKOnly + vbCritical, "Achtung! Falsche Version" DoCmd.Quit End If

Versionsvergleich Function VersChange(ByVal Vers1 As String, ByVal Vers2 As String) As Boolean Dim var1 As Variant, var2 As Variant, i As Integer var1 = Split(Vers1, ".") var2 = Split(Vers2, ".") For i = 0 To 2 If CLng(var2(i)) > CLng(var1(i)) Then VersChange = True Exit For ElseIf CLng(var2(i)) < CLng(var1(i)) Then VersChange = False ' Zeile verzichtbar durch Vorbelegung der Variablen mit False End If Next i End Function

Beispiel Felder hinzufügen 'Neues Feld anlegen inkl. aller Abfragen: 'Existiert Tabelle? 'Existiert Feld? 'Sonst: Tabelle anlegen Public Function NeuesFeldAnfügen(Str_Table As String, Str_Field As String, Str_FeldType As DAO.DataTypeEnum, Optional Lng_FieldSize As Long = 0) As Boolean 'prüfen ob die Tabelle vorhanden ist If TableExistsDAO(P_db, Str_Table) = False Then 'sonst erstellen DAO_CreatedNewTable P_db, Str_Table End If 'prüfen ob Feld exisitert If DAO_FieldExists(P_db, Str_Table, Str_Field) = False Then DAO_CreateField P_db, Str_Table, Str_Field, Str_FeldType, Lng_FieldSize Exit Function End Function

Kopierschutz und Lizenzierung ???

Anforderungen Softwarenutzung muss bezahlt werden Weitergabe der Datenbank muss so schwer wie möglich sein Bezahlung pro Arbeisplatz Mehrfachanmeldung an Terminalserver muss möglich sein Kosten müssen überschaubar sein

Meine gewählte Lösung: Hardware-Dongle

Besonderheiten Lieferant: Fa. SG-Intec in Kiel Kosten: ab 19,00 EUR Netto / Stck. Einfach zu handeln ohne Installation (Plug and Play) (nur 1 DLL in System32 Verzeichnis) Sehr sicher und Zuverlässig Ausbaustufen einfach Lizenzierbar Gigantische Variationsmöglichkeiten

Wichtig bei Access-DB: Ganz zu beginn muss eine Globale Variable mit den Wert False gesetzt werden, diese darf sich erst ändern wenn wirklich alle Bedingungen der Dongle-Prüfung erfolgt sind. Access ist nämlich sehr Fehlertolerant, ein Fehlen der notwendigen DLL würde mit einer „Rüge“ kommentiert, aber die Prozedur würde fortgesetzt, mit der Konsequenz dass das Programm startet obwohl kein Dongle angeschlossen ist.

Weitere Vorteile Es gibt auch Dongle mit integrierter Uhr, damit kann im Dongle ein Ablaufdatum definiert werden (Da liegen die Kosten aber bei rund 50 EUR / Stck… ) Es können auch Werte in das Dongle geschrieben werden (z.B. Personalisierung) Durch Produkt-ID sind verschiedene Ausbaustufen aktivierbar Durch WELTWEIT eindeutige Seriennummer sind weitere Zuordnungen möglich

Anbindung an vorhandene Systeme ???

Meine Erkenntnis Ich habe es für`s erste gelassen! Wenn dann Datenübernahme per Import Aber auch das ist kritisch Es bleibt vorerst bei einer Insellösung

Und hier dann mein nächstes Projekt: E N D E! (Danke.)