Access-News & Downloads
Access-Helpline
Spotlight: Datenbanken optimieren, analysieren und dokumentieren Der Total Access Analyzer ist eine mehrfach ausgezeichnete Access-Erweiterung, die viele Anwender und Entwickler mit ihren Datenbanken einsetzen. Voll automatisch liefert der Analyzer versteckte Fehler, gibt Optimierungstipps, erstellt grafische Übersichten der Zusammenhänge zwischen allen Datenbank-Objekten, findet ungenutzte Objekte und ermöglicht eine Cross-Referenz (welches Objekt wird an welchen Stellen in der Datenbank verwendet) sowie die komplette Dokumentation aller Objekte. Ab sofort steht zusätzlich zu den bisherigen Versionen der brandneue Total Access Analyzer 2003 für Access 2003 zur Verfügung. Er bietet nicht nur eine Fülle von neuen Berichten und Analysen, sondern unterstützt auch die MDB- und ADP-Dateien sowohl von Access 2000 als auch von Access 2002 und 2003. Weitere Informationen zu der neuen Version finden Sie unter der folgenden Adresse: http://www.add-in-world.com/katalog/ta_analyzer2003/ Den Total Access Analyzer gibt es außerdem auch für die übrigen Access-Versionen: Total Access Analyzer für Access 2002/XP Total Access Analyzer für Access 2000 Total Access Analyzer für Access 97 Download-Tipp: Daten aus Access an Word übergeben Um Informationen aus Access nach Word zu übertragen, müssen die Daten normalerweise entweder exportiert oder über die Zwischenablage übertragen werden. Beide Wege sind recht umständlich und überfordern weniger erfahrene Anwender. In unserer kostenlosen Techinfo stellen wir eine Lösung vor, mit der Sie beispielsweise eine Adresse aus einem Access-Formular per Mausklick an Word übergeben können. Mit wenig Aufwand können Sie diese nützliche Funktion in Ihre eigenen Datenbanken integrieren:
Download-Tipp: Kontextmenü-Erweiterungen für Access Die Access-Spezialisten von Trigeminal stellen unter anderem zwei kostenlose COM-Add-Ins zur Verfügung, mit denen Sie die Kontextmenüs von Access für den bequemeren Aufruf nützlicher Funktionen erweitern können. Microsoft hat zum Beispiel mit Access 2000 eine "InPlace-Bearbeitung" für Unterformulare und Unterberichte eingeführt, die allerdings bei Entwicklern auf wenig Gegenliebe stieß, da sie nur für große Unterformulare/Unterberichte sinnvoll einzusetzen ist. Bei kleineren Unterformularen/Unterberichten sind nur graue Balken sichtbar. Die zu ändernden Elemente müssen mühsam über die Rollbalken ins Bild geholt werden. Der "TSI SubForminator" erweitert das Kontextmenü im Formular-/Berichtsentwurf um einen Eintrag TSI SUBFORMINATOR!, über den Sie ein Unterformular/einen Unterbericht zur Bearbeitung direkt in einem eigenen Fenster öffnen können. Sie finden das Archiv des Tools unter der folgenden Adresse: http://www.trigeminal.com/utilities/TsiSubforminator.zip Entpacken Sie den Inhalt nach dem Download zunächst in ein beliebiges Verzeichnis auf Ihrer Festplatte. Von dort aus muss das COM-Add-In beim System registriert werden:
"C:\Entpackverzeichnis" ersetzen Sie dabei durch Laufwerk/Pfad des Verzeichnisses, in das Sie das Archiv entpackt haben.
Ebenfalls ab Access 2000 vermissen Entwickler den Aufruf des Ausdruck-Editors über das Kontextmenü in Modulen. Mit dem COM-Add- In "TSI XPressions" können Sie es quasi wiederbeleben. Nach der Installation finden Sie im Kontextmenü von Modulen den Eintrag Tsi Xpression, über den nun der Ausdruck-Editor wie gewohnt abgerufen werden kann. Sie finden das Archiv des Tools unter der folgenden Adresse: http://www.trigeminal.com/utilities/TsiXpr90.zip Entpacken Sie den Inhalt nach dem Download zunächst wieder in ein beliebiges Verzeichnis auf Ihrer Festplatte. Von dort aus muss das COM-Add-In "TsiXpr90.dll" dann im nächsten Schritt wie oben erläutert beim System registriert werden. Ab dem nächsten Start von Access lässt sich nun der Ausdruck-Editor auch wieder in Modulen über das Kontextmenü abrufen.
Sicherheitsabfragen durch digitale Signatur umgehen, Teil 1 Versionen: Access 2003 Mit Office 2003 hat Microsoft den Makrovirenschutz, der bereits mit früheren Office-Versionen in anderen Office-Anwendungen Einzug gehalten hat, auch in Access 2003 integriert. Das führt dazu, dass beim Öffnen jeder Datenbank eine Sicherheitsabfrage "Diese Datei ist möglicherweise nicht sicher..." angezeigt wird. Sie haben dann die Möglichkeit, die Datenbank mit Klick auf die Schaltfläche Öffnen zu starten oder das Öffnen mit einem Klick auf Abbrechen zu unterbinden. Die Alternative Makros deaktivieren aus anderen Makrovirenschutz-Implementationen steht hier nicht zur Verfügung. So lobenswert der Makrovirenschutz ist, so nervig kann er sein, wenn man tagsüber Dutzende eigener Datenbanken öffnet, von denen man sicher weiß, dass sie keine gefährlichen Makros enthalten. Sie können diese Sicherheitsabfrage zwar umgehen, indem Sie unter Extras-Makro-Sicherheit die Sicherheitsstufe auf "Niedrig" einstellen, aber damit umgehen Sie das Sicherheitskonzept von Access. Öffnen Sie dann tatsächlich einmal eine Datenbank aus unbekannter Quelle, können darin enthaltene Makros mit Schadensroutinen zum Beispiel über das "AutoExec"-Makro direkt gestartet werden. Sie können jedoch die in Ihren eigenen Datenbanken enthaltenen VBA-Projekte digital signieren und ein Zertifikat auf dem System installieren, das diese Signatur prüft. Alle auf diese Weise gekennzeichneten und geprüften Datenbanken stuft Access als "vertrauenswürdig" ein, so dass die Abfrage selbst bei Sicherheitsstufe "Hoch" nicht mehr angezeigt wird. Sie können also die Sicherheitsstufe auf "Mittel" einstellen und müssen dann bei Ihren eigenen Datenbanken keine Sicherheitsabfrage mehr beantworten. Sie werden aber bei anderen Datenbanken darauf hingewiesen, dass sie gegebenenfalls unsicher sind, so dass man individuell entscheiden kann, ob sie geöffnet werden sollen oder nicht. Außerdem unterbinden Sie so unbemerkte Manipulationen an Ihren VBA-Projekten: Sobald eine Änderung erfolgt ist, verwirft Access die digitale Signatur - beim nächsten Öffnen der Datenbank erkennen Sie also durch die Sicherheitsabfrage die Manipulation und können entsprechend reagieren. Nun wird jedoch landläufig angenommen, dass eine digitale Signatur und die Einrichtung von Zertifikaten kompliziert und teuer sind. Das trifft jedoch nur bedingt zu. Sie können sich für Ihre eigenen Datenbanken ein persönliches, völlig kostenloses Zertifikat ausstellen und damit Ihre VBA-Projekte digital signieren. Dazu liefert Microsoft mit Office 2003 ein Tool SELFCERT.EXE aus, das Sie im Installationsverzeichnis von Office 2003, also beispielsweise unter "C:\Programme\Microsoft Office\Office11" finden. Öffnen Sie dieses Verzeichnis mit dem Windows-Explorer und doppelklicken Sie auf SELFCERT.EXE. Sollte sich SELFCERT.EXE nicht im Installationsverzeichnis von Office 2003 befinden, starten Sie das Office-Setup von der CD und installieren Sie die Option "Digitale Signaturen für VBA-Projekte" im Bereich "Gemeinsam genutzte Office-Features" nach. Das Tool zeigt ein kleines Fenster mit einem Textfeld "Ihr Zertifikatsname" an. Geben Sie hier Ihren Namen oder den Namen Ihrer Firma ein, klicken Sie dann auf Ok und bestätigen Sie daraufhin angezeigte Erfolgsmeldung mit einem weiteren Klick auf Ok. Damit haben Sie ein Zertifikat erstellt und beim System registriert, mit dem Sie nun Ihre VBA-Projekte signieren können:
Haben Sie Fragen zu Access Access 97, 2000, 2002/XP oder 2003? Dann wenden Sie sich mit einer genauen Problembeschreibung (bitte keine Datenbanken schicken!) an: access-helpline@smarttools.de Unser Redaktionsteam wählt in jeder Ausgabe eine oder mehrere Fragen aus und beantwortet Sie an dieser Stelle im Newsletter. Installationsverzeichnis von Access ermitteln Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Für die Installation per Setup-Programm muss ich wissen, auf welchem Laufwerk und in welchem Verzeichnis Office beziehungsweise MSACCESS.EXE installiert ist. Wie kann ich das herausfinden? S. Ahrt ANTWORT: Diese Informationen finden Sie in der Registry unter HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Office. Dort trägt jede Office- Anwendung ihr Installationsverzeichnis wie folgt ein: Office 97: \8.0\BinDirPath Office 2000, XP, 2003: \9.0\Common\InstallRoot\Path \10.0\Common\InstallRoot\Path \11.0\Common\InstallRoot\Path Diese Einträge verweisen jeweils auf das Installationsverzeichnis von Office, also beispielsweise auf "C:\Programme\Microsoft Office\Office10" für Office XP. Ab Office 2000 ist ein zusätzlicher Eintrag für den direkten Installationsort von Access vorhanden: \9.0\Access\InstallRoot\Path \10.0\Access\InstallRoot\Path \11.0\Access\InstallRoot\Path Bitte beachten Sie, dass die Pfade je nach Office-Version mal mit, mal ohne abschließenden Backslash in der Registry gespeichert sind! Setup-Systeme stellen jedoch Funktionen wie "Remove trailing backslash" zur Verfügung, über die Sie einheitliche Pfade ohne abschließenden Backslash generieren können. Datenbank lokal oder im Netzwerk geöffnet? Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Ich muss in einer VBA-Routine erkennen können, ob die aktuelle Datenbank von der lokalen Festplatte oder von einem Netzwerklaufwerk gestartet wurde. Können Sie mir einen Tipp geben, wie sich das feststellen lässt? B. Walter ANTWORT: Dazu können Sie die API-Funktion "WNetGetConnection()" verwenden: Public Declare Function WNetGetConnection Lib "mpr.dll" _ Alias "WNetGetConnectionA" _ (ByVal lpszLocalName As String, _ ByVal lpszRemoteName As String, _ cbRemoteName As Long) As Long Die Funktion erwartet als ersten Parameter eine Laufwerksbezeichnung wie "C:" oder "D:". Der zweite Parameter ist eine lokale Variable, in der gegebenenfalls der Name der Netzwerkfreigabe zurückgegeben wird. Der dritte Parameter legt die maximale Anzahl Von Zeichen fest, die zurückgemeldet werden können. Der Aufruf erfolgt am besten über eine globale Funktion "IsNetworkDB()": Function IsNetworkDB() As Boolean Dim strPath As String Dim strDrive As String, strResult As String Dim R As Long IsNetworkDB = False strPath = CurrentDb.Name strDrive = Left$(strPath, 2) If strDrive = "\\" Then IsNetworkDB = True Exit Function End If strResult = Space$(250) R = WNetGetConnection(strDrive & vbNullChar, _ strResult, _ Len(strResult)) If R = 0 And Trim$(strResult) <> "" Then IsNetworkDB = True End If End Function Über "CurrentDb.Name" wird zunächst der Pfad der aktuellen Datenbank ermittelt. Die ersten beiden Zeichen sind der Laufwerksbuchstabe oder "\\", falls als UNC-Pfad gespeichert. Ist das der Fall, wird das Funktionsergebnis auf "True" gesetzt und die Funktion direkt verlassen. Andernfalls übergeben wir den Laufwerksbuchstaben an "WNetGetConnection()". Das Ergebnis dieser Funktion ist "0" und der Freigabename in "strResult", wenn es sich um ein Netzwerklaufwerk handelt. Ansonsten ist das Ergebnis ungleich "0" (zum Beispiel 2250, ERROR_NOT_CONNECTED) und "strResult" ist eine leere Zeichenkette.
Nachtrag: Abfrageergebnisse schützen Versionen: Access 97, 2000, 2002/XP und 2003 Zu diesem Beitrag hat uns eine Zuschrift von Access Weekly-Leserin R. Berlinghof erreicht, die wir hier dankend weitergeben: Mit einem kleinen Trick kann man eine Abfrage bzw. einzelne Felder auch dadurch schützen, dass man die Werte als berechnetes Feld hereinholt. Ein Textfeld lässt sich dadurch schützen, dass man nicht das Originalfeld anzeigt, sondern ein Hilfsfeld anlegt und eine Berechnung durchführt, die im Ergebnis nichts ändert: Text1: [Feldname] & "" Es wird ein weiteres Textzeichen angefügt, das aber nicht ausgefüllt wird, so dass der ursprüngliche Texteintrag angezeigt wird, der nun aber nicht mehr verändert werden kann. Bei Zahlen analog: (der Wert wird mit 1 multipliziert und ändert sich dadurch nicht): Zahl1: [Feldname] * 1
Word-Tipps kostenlos per E-Mail SMARTTOOLS WORD WEEKLY ist ein brandneuer E-Mail-Newsletter, der jede Woche kostenlose Tipps rund um Word 97, 2000, 2002/XP und 2003 liefert:
Um SmartTools Access Weekly abzubestellen, senden Sie einfach das Kommando "unsubscribe" an die Adresse access-weekly-html-request@smarttools.de Bitte beachten Sie, daß das Kommando im Nachrichtentext stehen muß (nicht im Betreff) und Sie keine Mail im HTML-Format senden dürfen. Weitere Informationen zur Verwaltung der Liste erhalten Sie mit dem Kommando "help" an dieselbe Adresse.
|
---
Incoming mail is certified Virus Free.
Checked by AVG
anti-virus system (http://www.grisoft.com).
Version: 6.0.859 / Virus
Database: 585 - Release Date: 14.02.2005