Nützliche Masken und Programme

Inhalt des Tools

Aus meiner Arbeit hat sich ein bestimmtes Set von Modulen und Masken herausgebildet, das ich immer wieder benötoige.

Ich verwende diese Datenbank daher als meine "MASTER"-Datenbank, von der ich meine Arbeiten starte.

Daher existieren zwei Versionen:
a) eine "pur Access" Version (getestet mit Versionen zwischen MS Access 2003 und Acc 2013 - 32 bit)

b) eine SQL Server Version, bei der die Masken gleich auf den SQL Server (ab 2008R2 aufwärts) verweisen
inclusiv des SQL Server Backends
Das mitgelieferte Formular "DSNLess Connectionstrings für den SQL Server erzeugen" kann beim Verbinden gleich hilfreich sein. Die entsprechenden Tabellen sind bereits in der Tabelle Acc_SQL_tblVerknuepfungstabellen hinterlegt

Übersichtsformular:
================

System-Info (Formular : _frmHlp_SysInfo)
Excel einbinden (Formular : _frmHlp_Excel_Einbinden)
Einheiten umrechenen (Maße und Gewichte) (Formular : _frmHlp_MasseGewichteUmrechnen)
Farbenauswahl (Formular : _frmHlp_Farben_Auswahl)
In Tabelle Blob-Werte (=Dateien) speichern und laden (Formular : _frmHlp_tblPictureFuellen)
Tetris - Spiel (Formular : _frmHlp_Spiel_Tetris)
...

Module
========

mdlSonstiges1 bis 4 - allgemein oft verwendete und interessante Funktionen für Access
mdlSonstigesJaNein - Funktionen mit Ja/Nein Rückgabe (isTableLoad, File_Exist ...)
mdlSonstigesDatumUhrzeit
mdlSonstigesRunden

Besonders bemerkenswert finde ich:

ArrFill_DAO_Acc - (mdlSonstiges4)
Damit kann man eine Tabelle oder einen SQL-SELECT-String in ein Array einlesen

ExtractWords - (mdlSonstiges1)
Damit kann man einen Textstring abhängig von einem Trennzeichen in einzelne Worte zerlegen

Klasse FileDialog - Klassenmodul kompatibel ab A97 bis A2013 x64.
Dient zur Anzeige des File und Folder Dialoges
Modul: mdlFileDialogBeispiel - Vorgefertigte Dateiendungen Suche

Modul: mdlTstTabField - Anzeige Tabellenentwurf im Direktbereich zum kopieren sowie in Tabelle
(siehe weiter unten) ...

Die weiteren Module werden für die Masken oder als Hilfsmodule benötigt.

Tabellen 1
==========

Verknüpfen mit anderen Systeme
------------------------------
Acc_Acc_tblVerknuepfungstabellen
Acc_SQL_tblVerknuepfungstabellen

Code-Lurker
-----------
Acc_tbl_Dest_CL_Leer
Acc_tbl_Source_CL
Acc_tbl_Source_CL_Leer

Kalender / Datum / Zeit
-----------------------
_tblAlleTage
_tblAlleFeiertage
_tblAlleFeiertage_Meta
_tblBundesLand
_tblFerien_Meta
_tblTimeZoneName

Währungsumrechnung
------------------
_tblUmrechnungskurs
_tblUmrechnungskurs_Hist
_tblUmrechnungskurs_Waehrungen

Tabellen 2
==========

Sonstige
--------

_tblHilfLfdNr - Hilfstabelle für laufende Nummern ( 0 - 3000)

_tblProperty - Parametertabelle (Modul mdlPrivProperty)

_tblLKZ - Staatenkennzeichen (Länderkennzeichen) mit Vorwahl

_tblPicture - Tabelle um Dateien (Blobs) zu speichern
_tblUnit - Einheiten (_frmHlp_MasseGewichteUmrechnen)
_tbl_Hilfe (_frmHlp_Hilfe_Anzeige)
_tblFarben (_frmHlp_Farben_Auswahl)
_tblConnections_Client (_frmHlp_Connectionstring_erzeugen)

_tblTabFelder (Modul mdlTstTabField)



Funktionsgruppen
================

Abfragen Systemobjekte
======================
qrymdbTable - Alle Tabellen (Type 1 = intern, 6 = MS Access Linked Table, 4 = SQL Server Linked Table)
qrymdbForm
qrymdbReport
qrymdbMacro
qrymdbModul
qrymdbQuery
---
qrymdbFormModul - Formname als Klassennname des Moduls
(Fake, war in Access 97 ein eigener Type - Achtung: Anzeige auch bei Forms ohne Modul)
qrymdbReportModul Reportname als Klassennname des Moduls
(Fake, war in Access 97 ein eigener Type - Achtung: Anzeige auch bei Reports ohne Modul)



Private Properties
===============
Zum permanenten speichern und lesen von einzelnen Parameter / Feldwerten (Properties)
Modul : mdlPrivProperty
Tabelle : _tblProperty
Funcion: Set_Priv_Property("prp_Name", "Stringwert") - Setzen Wert
Wert = Get_Priv_Property("prp_Name") - lesen Wert

Fremdwährungen
==============
Liest die tagesaktuellen Fremdwährungen direkt von der Europäischen Zentralbank
(http://www.ecb.europa.eu/)
Zum Aktualisieren: Internetverbindung erforderlich
Formular : _frmHlp_Waehrungsumrechnung
Tabelle : _tblUmrechnungskurs - aktueller Umrechnungskurs - pro Zeile eine Währung (nur letzter Tag)
_tblUmrechnungskurs_Hist - Umrechnungskurs Historie -
pro Tag eine Zeile (alle Währungen) - aktuell bis 14.10.2013
_tblUmrechnungskurs_Waehrungen Langtext der Währungen
Modul : mdlWaehrungsumrechnung
Makro : getUmrechnungskurs - wenn in Autoexec Makro, dann hat man täglich aktuelle Kurse

Hilfe
=====
Um eine eigene allg. Hilfe erstellen zu können
Formular : _frmHlp_Hilfe_Anzeige
Formular : _frmHlp_Hilfe_Erstellen
Abfrage : qryHlp_tbl_Hilfe_Loeschen
qryHlp_tbl_HilfeNeueHilfeSeitenErstellen
qryHlp_tbl_Hilfe_Ja_Setzen_Wenn_aktuell
qryHlp_tbl_Hilfe_Alle_auf_Nein_Setzen
qrymdbForm
Tabelle : _tbl_Hilfe

Zuerst muss für jedes Formular ein Datensatz in Tabelle _tbl_Hilfe stehen
(qryHlp_tbl_Hilfe_Loeschen, qryHlp_tbl_HilfeNeueHilfeSeitenErstellen)

Einbinden in eigenes Formular - Button mit Ereignis:
DoCmd.OpenForm "_frmHlp_Hilfe_Anzeige", acNormal, , "Formularname = '" & Me.Name & "'"




Mit Backend verbinden:
======================
Mit anderen Access Datenbanken
----------------------
Modul : mdlVerbindenACCESS
Tabelle : Acc_Acc_tblVerknuepfungstabellen
Alle Tabellen mit jn = True werden mit der ausgewählten Datenbank verknüpft
Wenn die Tabelle (Name in Tabelle _tblProperty "prp_AccCheckTabelle") geöffnet werden kann,
keine neue Verknüpfung, sonst ja
FileDialog hilft bei der Suche nach der auszuwählenden Datenbank

Mit SQL Server
----------------------
Modul : mdlVerbindenACCESS
Tabelle : Acc_SQL_tblVerknuepfungstabellen
Alle Tabellen mit jn = True werden mit der ausgewählten Datenbank verknüpft
Wenn die Tabelle (Name in Tabelle _tblProperty "prp_SQLCheckTabelle") geöffnet werden kann,
keine neue Verknüpfung, sonst ja
Tabellen können während des Verknüpfens umbenannt werden
Indexfkt (für SQL-Views ohne primary Key gedacht) kann ein Access-SQL "Create Index ..."
enthalten, der beim Verknüpfen ausgeführt wird
Quelle: tblname_org Ziel: tblname
Server wird durch den SQLConnectionstring bestimmt
Formular: DSNLess Connectionstrings für den SQL Server erzeugen - Eingabehilfe
Formularfunktion: Textdatei TSQL_CreateTableDesc.sql erzeugen um Tabellenbeschreibungen in
den SQL Server übergeben zu können

Code-Lurker
==========
----------------------
Code-Lurker Verwendung:
----------------------
Formular : _frmHlp_CodeLurker
Abfrage : qryUebersichtTabnamen
Tabelle : Acc_tbl_Dest_CL_* Ihre erzeugten Daten

Mit dieser Maske kann man Code aus Formularen, Reports und (Klassen)Modulen anzeigen
Der Code wird mittels Code-Lurker Setup in die Zieltabelle geschrieben. Sofern die Zieltabelle dem
Format 'Acc_tbl_Dest_CL_*' genügt,
kann er nach Erstellung aus der Combobox 'Tabelle' ausgewählt werden.
Innerhalb einer Tabelle kann man dann die einzelnen Formulare und Module durchsuchen.
Es können entwder der gesamte Code des gewählten Formulares oder gezielt einzelne Funktionen
(Subs) angezeigt werden.
Es ist möglich formularübergreifend nach einer Funktion zu suchen oder über die gesamter Tabelle
eine einfache Textsuche zu machen.

'Copy' kopiert den jeweils angezeigten Text in die Zwischenablage um ihn in eingenen Funktionen zu
verwenden.

Code-Lurker Setup

----------------------
Code-Lurker Erstellung:
----------------------
Formular : _frmHlp_CodeLurker_Setup
_subHlp_Code-Lurker Setup
Tabelle : Acc_tbl_Dest_CL_Leer - Kopiervorlage nicht löschen
Acc_tbl_Dest_CL_* Ihre erzeugten Daten
Acc_tbl_Source_CL - Source-Files
Acc_tbl_Source_CL_Leer - Kopie nicht verwendet
Module : mdlDateinamenAlsTabelle_CL
mdlCreateTextFromMDB_CL
mdlEinlesenVBAAlsText
+ Hilfsfunktionen

Das Programm basiert auf der inoffiziellen Funktion 'Application.SaveAsText' die aus allen Objekten
der Datenbank - ausser den Tabellen - (hier verwendet: Formular, Modul, Report) eine Textdatei
erstellt.
Nach Erzeugung dieser Textdateien werden diese aufbereitet in eine Tabelle eingelesen und können so
einfach
durchsucht werden. Nicht mit 'IsUsed' gekennzeichnete Objekte werden nicht angezeigt / durchsucht

Es können auch Textdateien aus VB5 oder 6 ('frm', 'cls', 'bas') eingelesen werden.

Es werden immer alle Source-Dateien aus der Herkunft in die gemeinsame Zieltabelle eingelesen.

Die Tabelle 'Acc_tbl_Dest_CL_Leer' darf nicht gelöscht werden, da Sie als Kopiervorlage dient.



Kalender- und Datumsfunktionen
==============================

Jahreskalender pro Bundesland incl. Ferien und Feiertage-anzeige
(Formular: _frmHlp_Kalender_Jahr)
3 Monats Kalender pro Bundesland incl. Feiertage-anzeige (Formular: _frmHlp_Kalender_3Mon)
Eignet sich gut als Popupzum Doppelklickaufruf in Feldern
Aufruf: Beim Doppelklick
Set Global_AufrufCtrl = Me.ActiveControl
DoCmd.OpenForm "_frmHlp_Kalender_3Mon", , , , , , "XXXSubformXXX"
siehe auch Test-Formular : _frmHlp_TestKalender
Übersichtsformularpunkt: Ferien und Feiertage selbst erstellen / erweitern
(Formular: _frmHlp_Ferien_Meta)
Tabelle : _tblAlleTage - 1.1.1990 - 31.12.2100
Modul : mdlSonstigesDatumUhrzeit
mdlKalenderfill
Tabelle : _tblAlleFeiertage_Meta - Enthält die "logischen" Feiertagsdefinitionen für Erstellung
Tabelle : _tblFerien_Meta - Enthält die "logischen" (von bis und Bundesland)
Feriendefinitionen für Erstellung
Tabelle : _tblAlleFeiertage - Hilfstabelle für Erstellung
Tabelle : _tblBundesLand - Enthält die Bundeslandslangnamen für die Kalender
Tabelle : _tblTimeZoneName - Alle ZeitZonenInformationen aus der Registry
(Für Uhrzeitbestimmung / Umrechnung wichtig)
Modul : mdlTimeZoneTabelle - Erstellt _tblTimeZoneName -
Funktion muss als Administrator ausgeführt werden

Tabelle : _tblAlleTage -
enthält folgende Infos für alle Tage zwischen dem 1.1.1990 und 31.12.2100
---------------------------------------------------------------------------------------------------

ID FIELD NAME FIELD TYPE SIZE DESCRIPTION
========= ========== ========== ==== ===========
1 JJJJMMTT Long Integer 4 Datum als Int JJJJMMTT (Primary Key)
2 Werkname Text 10 'Std' - um einfach eigene Werkskalendender deinieren zu können ...
3 dtDatum Date/Time 8 Datum
4 IstFeiertag Long Integer 4 Ist ggf generell irgendwo als Feiertag definiert, ob aktuell
Feiertag oder nicht,
ist von Bxx abhängig (schnellere Selektion, da auf = -1 abgeprüft werden kann)
5 Feiertagsname Text 255 Name des Feiertags (Leer = kein Feiertag)
6 JahrNr Long Integer 4 Jahr
7 Quartal Long Integer 4 Quartal
8 MonatNr Long Integer 4 Monat 1 - 12
9 TagNr Long Integer 4 Tag 1 - 31
10 Wochentag Long Integer 4 1 = Montag, 2 = Dienstag ... 7 = Sonntag (nach europäischer ISO Norm)
11 KW_D Long Integer 4 Wochennr Europäische Norm
12 TDJ Long Integer 4 Tag des Jahres
13 JJJJMM Long Integer 4 JahrMonat
14 JJJJKW Long Integer 4 JahrKW Iso (Jahr Kalenderwoche nach europäischer ISO Norm)
15 JJJJQrt Long Integer 4 Jahr Quartal
16 KW_US Long Integer 4 KW USA (Kalenderwoche nach US Amerikanischer Norm)
17 WN_KalMon Long Integer 4 Wochennummer des Monats für Kalender (1 bis 6)
18 WN_KalTag Long Integer 4 Tagesnummer des Monats für eigene Kalenderformulare
(1. Wochentagsnr, dann fortlaufend)
19 Arbeitszeit Double 8 1 = Werktag 0 = Samstag, Sonntag oder Feiertag,
0,5 = 24.12 und 31.12 (wenn ansonsten Werktag)
20 LfdTagNrAcc Long Integer 4 Anzahl Tage seit dem 30.12.1899 - Start der Access Zeit Zählung /
SQL Server 2012 verwendet den 30.01.1905 - Differenz 1857 Tage

21 BBW Long Integer 4 Feiertag in Baden-Württemberg
22 BBY Long Integer 4 Feiertag in Bayern
23 BBE Long Integer 4 Feiertag in Berlin
24 BBB Long Integer 4 Feiertag in Brandenburg
25 BHB Long Integer 4 Feiertag in Bremen
26 BHH Long Integer 4 Feiertag in Hamburg
27 BHE Long Integer 4 Feiertag in Hessen
28 BMV Long Integer 4 Feiertag in Mecklenburg-Vorpommern
29 BNI Long Integer 4 Feiertag in Niedersachsen
30 BNW Long Integer 4 Feiertag in Nordrhein-Westfalen
31 BRP Long Integer 4 Feiertag in Rheinland-Pfalz
32 BSL Long Integer 4 Feiertag in Saarland
33 BSN Long Integer 4 Feiertag in Sachsen
34 BST Long Integer 4 Feiertag in Sachsen-Anhalt
35 BSH Long Integer 4 Feiertag in Schleswig-Holstein
36 BTH Long Integer 4 Feiertag in Thüringen

37 FBW Long Integer 4 Ferien Baden-Württemberg
38 FBY Long Integer 4 Ferien Bayern
39 FBE Long Integer 4 Ferien Berlin
40 FBB Long Integer 4 Ferien Brandenburg
41 FHB Long Integer 4 Ferien Bremen
42 FHH Long Integer 4 Ferien Hamburg
43 FHE Long Integer 4 Ferien Hessen
44 FMV Long Integer 4 Ferien Mecklenburg-Vorpommern
45 FNI Long Integer 4 Ferien Niedersachsen
46 FNW Long Integer 4 Ferien Nordrhein-Westfalen
47 FRP Long Integer 4 Ferien Rheinland-Pfalz
48 FSL Long Integer 4 Ferien Saarland
49 FSN Long Integer 4 Ferien Sachsen
50 FST Long Integer 4 Ferien Sachsen-Anhalt
51 FSH Long Integer 4 Ferien Schleswig-Holstein
52 FTH Long Integer 4 Ferien Thüringen
========= ========== ========== ==== ===========




Nützliche Masken und Tabellen - SQL Server Version

SQL Server Version, bei der die Masken gleich auf den SQL Server (ab 2008R2 aufwärts) verweisen
inclusiv des SQL Server Backends
Das mitgelieferte Formular "DSNLess Connectionstrings für den SQL Server erzeugen" kann beim Verbinden gleich hilfreich sein. Die entsprechenden Tabellen sind bereits in der Tabelle Acc_SQL_tblVerknuepfungstabellen hinterlegt

Hier

gibt's die SQL Server Version (Backend für SQL Server ab 2008R2 - Frontend zwischen MS Access 2003 und Acc 2013 - 32 bit - geeignet)


Nützliche Masken und Tabellen - Access Version

MSAccess Version (getestet mit Versionen zwischen MS Access 2003 und Acc 2013 - 32 bit)

Hier

gibt's die MS Access Version


Excerpt - Code-Lurker

----------------------
Code-Lurker Verwendung:
----------------------
Mit dieser Maske kann man Code aus Formularen, Reports und (Klassen)Modulen anzeigen
Der Code wird mittels Code-Lurker Setup in die Zieltabelle geschrieben. Sofern die Zieltabelle dem Format 'Acc_tbl_Dest_CL_*' genügt,
kann er nach Erstellung aus der Combobox 'Tabelle' ausgewählt werden.
Innerhalb einer Tabelle kann man dann die einzelnen Formulare und Module durchsuchen.
Es können entwder der gesamte Code des gewählten Formulares oder gezielt einzelne Funktionen (Subs) angezeigt werden.
Es ist möglich formularübergreifend nach einer Funktion zu suchen oder über die gesamter Tabelle eine einfache Textsuche zu machen.

'Copy' kopiert den jeweils angezeigten Text in die Zwischenablage um ihn in eingenen Funktionen zu verwenden.

Die Tabelle 'Acc_tbl_Dest_CL_Leer' darf nicht gelöscht werden, da Sie als Kopiervorlage dient.

----------------------
Code-Lurker Erstellung:
----------------------
Das Programm basiert auf der inoffiziellen Funktion 'Application.SaveAsText' die aus allen Objekten
der Datenbank - ausser den Tabellen - (hier verwendet: Formular, Modul, Report) eine Textdatei erstellt.
Nach Erzeugung dieser Textdateien werden diese aufbereitet in eine Tabelle eingelesen und können so einfach
durchsucht werden. Nicht mit 'IsUsed' gekennzeichnete Objekte werden nicht angezeigt / durchsucht

Es können auch Textdateien aus VB5 oder 6 ('frm', 'cls', 'bas') eingelesen werden.

Es werden immer alle Source-Dateien aus der Herkunft in die gemeinsame Zieltabelle eingelesen.

Die Tabelle 'Acc_tbl_Dest_CL_Leer' darf nicht gelöscht werden, da Sie als Kopiervorlage dient.
Den Code-Lurker - als Excerpt aus den Nützlichen Masken und Tabellen - gibts

Hier

zum Download


(C) 2011 - Alle Rechte vorbehalten

Diese Seite drucken