Von: access-weekly-html-request@smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Donnerstag, 1. September 2005 23:39
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 2.9.2005

Ausgabe vom 2. September 2005

 In dieser Ausgabe

Access-News & Downloads
Access-Tipp der Woche
Access-Helpline
Newsletter-Tipp
 Access-News & Downloads

Spotlight: Total Access Memo 2003 für formatierte Memofelder in Ihren Formularen und Berichten

Total Access Memo ist eine leistungsfähige Access-Erweiterung, mit der Sie formatierten Text in Ihren Datenbanken anzeigen, bearbeiten und ausdrucken können. Die neue Version Total Access Memo 2003 unterstützt sowohl Access 2000 als auch 2002/XP und 2003! Nach der Installation genügen wenige Mausklicks, um das neue Steuerelement in ein Formular einzufügen und an ein Memofeld zu binden. Vorhandene Inhalte bleiben komplett erhalten und können danach in einem leistungsfähigen Editor beliebig formatiert werden.

Für den Ausdruck der Daten fügen Sie das Memo-Steuerelement einfach in Ihre Berichte ein oder exportieren den Inhalt ohne Verluste nach Word. Die aktuelle Version 2003 bietet jetzt eine neue Funktion zur komfortablen Kontrolle der Steuerelementgröße auf Berichten. Außerdem können Sie in dem integrierten Editor die deutsche Rechtschreibprüfung von Office nutzen.

Weitere Informationen zu Total Access Memo 2003 für Access 2000, 2002/XP und 2003 finden Sie unter:

http://www.add-in-world.com/katalog/tamemo2003/

Total Access Memo gibt es auch in einer speziellen Version für Access 97:

http://www.add-in-world.com/katalog/tamemo2000/

Download-Tipp: Das komfortable A-Z-Register für Ihre Access-Formulare

So können finden Sie sich in Ihren Access-Formularen künftig noch schneller zurecht: Das "SmartTools A-Z Register" wird als Add-In in Access installiert und kann jederzeit mit zwei Mausklicks eingeblendet werden. Sie wählen dann ein beliebiges Feld des Formulars aus einer Dropdown-Liste aus und in Zukunft genügt der Mausklick auf einen Buchstaben, um den ersten Datensatz anzuwählen, dessen Feldinhalt mit diesem Buchstaben beginnt. Auf diese Weise bewegen Sie sich schnell und komfortabel auch durch umfangreiche Datenbestände.

SmartTools Publishing stellt Ihnen diese Access-Erweiterung kostenlos zur Verfügung: Nach der automatischen Installation finden Sie unter Extras-Add-Ins einen neuen Menüpunkt, über den Sie das Register jederzeit aufrufen können:

 SmartTools A-Z Register für Access

Techinfo: Frontpage und Access im Zusammenspiel

In Frontpage-Webs stellt sich regelmäßig die Aufgabe, Inhalte aus Formularen direkt in eine Datenbank zu schreiben oder dem Anwender die Möglichkeit zu geben, Dateien auf den Webserver zu übertragen. Gleichzeitig soll dann eine E-Mail verschickt werden, um über den Eingang neuer Daten zu informieren. Unter der folgenden Adresse finden Sie eine Techinfo zu diesem Thema:

Techinfo zur Zusammenarbeit von Frontpage und Access

In mehreren Schritt-für-Schritt-Anleitungen zeigen die Autoren, wie Sie in Frontpage Webseiten mit einer Verbindung zu Access-Datenbanken entwerfen.

 Access-Tipp der Woche

Einzelne Formulare schützen
Versionen: Access 2003, 2002/XP, 2000 und 97

Um einzelne Objekte einer Datenbank gegen unbefugte Zugriffe zu schützen, muss Access normalerweise im Arbeitsgruppen-Modus mit SYSTEM.MDW und entsprechend eingerichteten Benutzern, Gruppen, Kennwörtern und Zugriffsrechten eingesetzt werden. Dieser Einrichtungsaufwand lohnt beispielsweise dann nicht, wenn nur ein einzelnes Formular mit bestimmten, lediglich für den Administrator vorgesehenen Funktionen zu schützen ist. Hier reicht im Allgemeinen ein einfacher Zugriffsschutz, der beim Laden des Formulars die Eingabe eines Kennwortes verlangt und das Formular bei falschem Kennwort nicht anzeigt:

  • Legen Sie zunächst eine neue Tabelle an, die lediglich ein Feld "Kennwort" vom Datentyp "Text" enthält und sichern Sie sie unter dem Namen "USysKennwort". Alle Tabellen, die mit "USys" beginnen, werden von Access im Datenbankfenster nicht angezeigt.
  • Damit Sie aber zunächst das Passwort im ersten und einzigen Datensatz eingeben können, wählen Sie das Menü Extras-Optionen an, wechseln Sie auf die Registerkarte "Ansicht" und aktivieren Sie hier die Option Systemobjekte im Bereich "Einblenden". Im Datenbankfenster sehen Sie nun neben "USysKennwort" eventuell noch weitere "USys"- sowie verschiedene "MSys"-Tabellen, an denen Sie aber keine ändern dürfen, denn sie werden von Access für die Verwaltung der Datenbank benötigt. Bei unsachgemäßen Änderungen kann die Datenbank zerstört werden!
  • Öffnen Sie die Tabelle "USysKennwort" per Doppelklick im Datenbankfenster, geben Sie das gewünschte Kennwort ein und schließen Sie die Tabelle wieder. Machen Sie anschließend gemäß Schritt 2. die Anzeige der Systemobjekte wieder rückgängig, so dass die "USys"-Tabellen ausgeblendet sind.
  • Öffnen Sie jetzt das zu schützende Formular im Entwurfsmodus und wählen Sie das Menü Ansicht-Eigenschaften an.
  • Stellen Sie die Eigenschaft "Beim Laden" auf den Eintrag "[Ereignisprozedur]" ein und klicken Sie auf die Schaltfläche mit den drei Punkten. Im VBA-Editor geben Sie folgende Anweisungen ein:
Sub Form_Load ()
  Dim strPW As String
  Dim varPW As Variant

  On Error Resume Next
  varPW = DLookup("[Kennwort]", "USysKennwort")
  If Err <> 0 Then
    Beep
    MsgBox "Fehler in Passwortabfrage - " & _
           "bitte Admin verständigen!"
    DoCmd.Close
    Exit Sub
  End If
  strPW = InputBox$("Bitte Passwort eingeben:", _
                    "Nur für Administratoren!", "")
  If strPW = "" Or strPW <> varPW Then DoCmd.Close

End Sub

Selbst wenn ein unbefugter Anwender das Formular im Entwurfsmodus öffnet, müsste er wissen, wo genau die Abfrage erfolgt, deren Funktionsweise verstehen und zudem über entsprechende VBA-Kenntnisse verfügen, um diese Abfrage außer Kraft zu setzen.

Speichern Sie das Formular und lassen Sie es dann einmal anzeigen, um die Lösung zu testen. Geben Sie ein paar falsche und auch einmal das richtige Kennwort ein, um sicherzustellen, dass das Formular korrekt reagiert.

Die Umgehung dieser Lösung ist sicherlich für einen Access-/VBA-Profi kein Problem, für den Einsatz mit "normalen" Anwendern ohne VBA-Kenntnisse reicht sie aber aus.

ANZEIGE 
Komfortable Datensicherung für Outlook - Die neue Version 2.0 von SmartTools Outlook Backup

Was würde passieren, wenn Ihre Outlook-Daten plötzlich und unerwartet verloren gehen? Sie verlieren meistens nicht nur E-Mails, sondern auch wichtige Adressen, Termine aus dem Kalender, Aufgaben und Notizen.

Hinzu kommt ein erheblicher Einrichtungsaufwand, um alle Filter und Regeln, Kategorien, Signaturen, Symbolleisten und E-Mail-Konten so einzurichten, dass Sie wieder wie gewohnt arbeiten können.

Mit SmartTools Outlook Backup 2.0 haben Sie diese Probleme zuverlässig im Griff:

  • Machen Sie sich nie wieder sorgen um Ihre Daten, denn der Backup-Vorgang lässt sich mit wenig Aufwand automatisieren.
  • SmartTools Outlook Backup 2.0 sichert nicht nur einfach die Datendatei, sondern kümmert sich außerdem um Ihre Outlook-Symbolleiste, Kategorien, E-Mail-Kontoeinstellungen, Signaturen, Filter und Regeln.
  • Bei einem Datenverlust sparen Sie viele Stunden Konfigurationsaufwand, denn alle gesicherten Informationen lassen sich mit wenigen Mausklicks wiederherstellen.
  • Die brandneue Version 2.0 von SmartTools Outlook Backup kann Ihre Daten ab sofort noch schneller sichern, Outlook vor der Sicherung beenden und danach neu starten, noch mehr Informationen wie Übertragungseinstellungen, Ansichten und Junk-Mail-Filter sichern bzw. zurückspielen usw.
SmartTools Outlook Backup 2.0 bietet eine übersichtliche Benutzeroberfläche, die auch von weniger erfahrenen Anwendern komfortabel bedient werden kann. Intelligente Assistenten leiten Sie sicher durch das Anlegen und das Wiederherstellen einer Datensicherung.

SmartTools Outlook Backup 2.0 kann zurzeit mit 10% Einführungsrabatt bestellt werden. Weitere Infos finden Sie unter:

SmartTools Outlook Backup 2.0


 Access-Helpline

Haben Sie Fragen zu Access 2003, 2002/XP, 2000 und 97? 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.

Back-End-Datenbank per Kennwort schützen
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Ich habe eine Front-End-/Back-End-Lösung im Einsatz. Um zu verhindern, dass auf Tabellen im Back-End beispielsweise per Datei-Externe Daten-Importieren zugegriffen wird, habe ich das Back-End mit einem Kennwort versehen, das ich bei der Einbindung der Tabellen ins Front-End habe speichern lassen. Ich möchte nun das Back-End zum Beispiel für Änderungen über eine Verknüpfung öffnen, dabei aber die Kennwortabfrage umgehen. Dazu habe ich den Kommandozeilenparameter "/PWD Kennwort" verwendet. Access zeigt mir aber trotzdem den Dialog zur Eingabe des Kennwortes an.
Diverse Anfragen

 ANTWORT:  Der Kommandozeilenparameter "/PWD" kann NICHT dazu verwendet werden, das Datenbankkennwort zu übergeben. Dieser Parameter ist vielmehr dazu gedacht, in Verbindung mit "/USER" beim Einsatz von Access im Arbeitsgruppenmodus den notwendigen Benutzernamen und das dazugehörende Kennwort per Kommandozeile zu übergeben. Um ein Back-End vor externen Zugriffen zu schützen, müssen Sie entweder den Arbeitsgruppenmodus nutzen und entsprechende Zugriffsrechte im Back-End beziehungsweise in den Front-Ends setzen oder Sie nutzen die folgende Funktion, um das kennwortgeschützte Back-End in einer weiteren Instanz zu öffnen:

Sub OpenPWDMDB(strMDB As String, strPWD As String)
  Dim db As DAO.Database
  Dim objAcc As Access.Application

  On Error Resume Next
  Set objAcc = New Access.Application
  If Err <> 0 Then
    Beep
    MsgBox "Access-Instanz konnte nicht " & _
           "gestartet werden...", _
           vbOKOnly + vbCritical, "!!! Problem !!!"
    Exit Sub
  End If

  With objAcc
    If strPWD <> "" Then
      Set db = .DBEngine.OpenDatabase(strMDB, _
               False, False, ";PWD=" & strPWD)
    End If
    .OpenCurrentDatabase strMDB
    .RunCommand acCmdAppRestore
    .RunCommand acCmdAppMaximize
    If strPWD <> "" Then
      db.Close
    End If
  End With

End Sub

Diese Funktion rufen Sie dann beispielsweise im Front-End über eine Schaltfläche wie folgt auf:

OpenPWDMDB "Z:\Test\BackEnd.mdb", "geheim"

Der erste Parameter gibt die zu öffnende Datenbank bzw. das kennwortgeschützte Back-End an und bei dem zweiten Parameter handelt es sich um das Kennwort. Die Funktion startet zuerst per Office Automation über "CreateObject" eine neue Instanz von Access. Wenn ein Kennwort angegeben ist, öffnet die Methode "OpenDatabase" die Datenbank und übergibt dabei das Kennwort. Anschließend wird die Datenbank mit "OpenCurrentDatabase" für die Bearbeitung per Benutzeroberfläche initialisiert. Wurde kein Kennwort angegeben, genügt "OpenCurrentDatabase" als Initialisierung für die Bearbeitung. Zwei weitere Anweisungen ".RunCommand acCmdAppRestore" und ".RunCommand acCmdAppMaximize" sorgen dann dafür, dass das zweite Access-Fenster maximiert im Vordergrund angezeigt wird. Anschließend wird über "db.close" die eventuell angelegte Referenz für die Übergabe des Kennwortes wieder geschlossen.

ANZEIGE 
Access-Datenbanken auch im laufenden Betrieb automatisch sichern

Der brandneue Total Visual Agent 2003 bietet optimale Sicherheit für Ihre Datenbanken:

  • Automatisches Reparieren, Komprimieren und Sichern von Jet-Datenbanken sowie Access-Data-Projects (ADP-Dateien) nach einem von Ihnen festgelegten Zeitplan. Lassen Sie diese zeitaufwendigen Arbeitsschritte in Zukunft ganz einfach mitten in der Nacht ausführen, ohne dass Sie am Computer sitzen müssen!
  • Der Total Visual Agent 2003 sichert Ihre Tabellendaten aus laufenden Datenbanken. Er ist ideal dafür geeignet, besonders wichtige Daten sehr häufig zu sichern (zum Beispiel jede Stunde oder sogar alle 10 Minuten), ohne dass ein Anwender die Arbeit unterbrechen muss. Bei Datenbanken, die 24 Stunden lang im Einsatz sind, ist der Total Visual Agent 2003 die einzige Möglichkeit zur zuverlässigen, automatisierten Datensicherung.
  • Sicherheitskopien der kompletten Datenbank können automatisch erstellt und auf Wunsch in ZIP-Dateien komprimiert werden.
  • Problemlose Konfiguration für beliebig viele Datenbanken auch über das Netzwerk. Starten Sie einfach den Total Visual Agent 2003 auf einem Rechner, der Zugriff auf die gewünschten Datenbanken hat.
Ab sofort ist die neue Version 2003 des Total Visual Agent verfügbar, die die Datenbankformate von Access 2003, 2002/XP, 2000, 97, 95 und 2.0 unterstützt. Highlight neben vielen Detailverbesserungen ist der Total Visual Agent Service, mit dessen Hilfe die Sicherung als Windows-Server gestartet werden kann, der auch nach einem automatischen Neustart des Rechners aktiv bleibt. Weitere Informationen finden Sie unter:

http://www.add-in-world.com/katalog/tvagent2003/


'Ungültige Verwendung von Null' vermeiden
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Aus einer VBA-Routine lese ich verschiedene Feldinhalte aus, um sie zu verarbeiten und die Ergebnisse in einer anderen Tabelle zu speichern. Dabei kommt es beim Zugriff auf leere, nicht erfasste Felder immer wieder zu einem Laufzeitfehler "Ungültige Verwendung von Null". Warum liefert Access hier nicht einfach eine "0" bei Feldern vom Datentyp "Zahl" oder eine leere Zeichenkette "" bei Text-/Memofeldern?
Diverse Anfragen

 ANTWORT:  Wenn ein neuer Datensatz initialisiert wird, setzt Access alle Felder, für die kein Standardwert eingestellt ist, auf "Null", um so kenntlich zu machen, dass für ein Feld noch keine Eingabe erfolgt ist. Andernfalls ließe sich nicht unterscheiden, ob nun tatsächlich eine "0" oder ein Leerzeichen eingegeben oder das Feld einfach übersprungen wurde. Mit der Funktion "IstNull(Feldname)" (VBA: "IsNull()") lässt sich dieser Umstand problemlos abfragen und gegebenenfalls abfangen. Wenn das für Ihre weitere Verarbeitung keine Rolle spielt, lesen Sie die Felder wie folgt aus:

strText = Me.Feldname & ""

intZahl = NZ(Me.Feldname)

Die erste Anweisung für Text-/Memofelder "addiert" zum Feldinhalt einfach eine leere Zeichenkette hinzu. Dabei nimmt Access keine Überprüfung auf "Null" vor, sondern liefert das Ergebnis des Ausdrucks, eine leere Zeichenkette, zurück. Die zweite Anweisung für Felder vom Datentyp "Zahl" nutzt die Access-Funktion "NZ()", die bei Feldern mit "Null"-Inhalten eine numerische "0" als Ergebnis liefert. Beide Anweisungen unterdrücken somit den bekannten Laufzeitfehler "Ungültige Verwendung von Null" und können aufwendigere Prüfungen der Art "If Not IsNull(Me.Feldname) Then..." ersetzen.

Nachtrag: Aktives Formular hervorheben
Versionen: Access 2003, 2002/XP, 2000 und 97

Zu unserem Tipp "Aktives Formular hervorheben" hat uns folgende Zuschrift von Access Weekly-Leser Michael Wosch erreicht:

Ein ähnlicher Effekt lässt sich auch ohne VBA-Programmierung auf Windows-Ebene realisieren: In der Systemsteuerung unter "Anzeige > Eigenschaften > Darstellung" (und Klick auf Erweitert bei Windows XP) und Auswahl von "Rahmen des aktiven Fensters" kann man Farbe und Breite so einstellen, dass das aktive Fenster beispielsweise mit einem dicken, roten Rahmen angezeigt wird.

 Newsletter-Tipp

Office XP und 2003-Tipps kostenlos per E-Mail

Der SmartTools Office XP Insider ist ein kostenloser E-Mail-Newsletter, der sich ausschließlich mit den neuen Funktionen von Office XP und 2003 beschäftigt:

  • Praktische Tipps zur Installation
  • Tipps und Workshops zum optimalen Einsatz der neuen Funktionen
  • Wichtige Infos und Tipps für den Umstieg von anderen Office-Versionen
  • Download-Links zu aktuellen Erweiterungen und Service Releases für Office XP/2003
  • Helpline für Ihre individuellen Fragen zu Office XP und 2003
Klicken Sie hier für Ihr kostenloses Abo!

 Abonnementverwaltung

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.

Copyright © 2005 SmartTools Publishing Thomas Tai
Luisenstrasse 52, 49565 Bramsche
Telefon: 05461/91052, Fax: 05461/2609
E-Mail: access-weekly@smarttools.de
Internet: http://www.smarttools.de/