Von: access-weekly-html-request@smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Freitag, 8. Juli 2005 00:33
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 8.7.2005

Ausgabe vom 8. Juli 2005

 In dieser Ausgabe

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

News: Neue Version des Total Access Detective zur automatischen Suche nach Datenbankunterschieden

Sie haben Datenbanken in unterschiedlichen Versionen vorliegen oder mehrere Anwender bzw. Entwickler arbeiten an einer Datenbank? Der Total Access Detective ist eine Access-Erweiterung, die gezielt für den Vergleich von Tabellen, Formularen/Berichten, Abfragen, Makros und VBA-Prozeduren entwickelt wurde.

So können Sie beispielsweise nach dem Import einer Tabelle schnell feststellen, welche Feldinhalte von einer vorhandenen Tabelle abweichen oder welche der beiden Tabellen zusätzliche Daten enthält, die eventuell in die andere Tabelle übertragen werden müssen. Sollten Sie nicht mehr ganz sicher sein, in welcher Datenbank-Version sich die aktuellste Fassung einer Prozedur befindet, lässt sich auch VBA-Code Zeile für Zeile voll automatisch vergleichen. Am Ende erhalten Sie eine Übersicht über alle Unterschiede und können schnell entscheiden, welche Fassung aktueller ist.

Ab sofort steht eine neue Version des Total Access Detective zur Verfügung, die Datenbanken jetzt noch schneller vergleicht und die gezielte eine Filterung der dargestellten Unterschiede erlaubt. Besonders interessant ist außerdem die Möglichkeit, Unterschiede in Tabellen nicht nur anzuzeigen, sondern auch in einer einzigen Version zusammenzuführen. Weitere Informationen finden Sie unter:

Total Access Detective für Access 2003

Total Access Detective für Access 2002

Download-Tipp: Das komfortable Eingabeformular für Ihre Parameterabfragen in Access

Für viele Ihrer Berichte verwenden Sie Parameterabfragen, damit die für die Auswertung gewünschten Datensätze abhängig von variablen Kriterien ausgewählt werden können. Beim Öffnen dieser Berichte zeigt Access je nach Anzahl der notwendigen Parameter mehrere Male hintereinander einen Dialog "Parameterwerte eingeben" an. Diese Form der Abfrage der Parameterwerte ist nicht nur umständlich, sondern auch fehlerträchtig, da der geforderte Datentyp für die jeweilige Parametereingabe nicht ersichtlich ist.

Mit dem kostenlosen SmartTools Parameter-Formular stellen wir Ihnen eine komfortable Lösung zur Verfügung, um den Umgang mit Parameterabfragen wesentlich zu vereinfachen: nachdem die Parameterabfrage zu einem Bericht automatisch ermittelt und die Parameter-Informationen ausgelesen wurden, zeigen wir ein dynamisch generiertes Formular für die komfortable Eingabe der Parameter an. Mit wenig Aufwand können Sie die Bedienung Ihrer Datenbanken so wesentlich komfortabler gestalten:

 SmartTools Parameter-Formular für Acccess

News: Aktuelle Beta-Versionen des SQL-Server Express

Der Nachfolger der kostenlosen MSDE, die bei Access 2003, 2002/XP und 2000 mitgeliefert wird soll im November unter dem Namen "SQL-Server Express" erscheinen und auf dem "großen" SQL-Server 2005 basieren. Ab sofort steht eine neue Beta-Version zum kostenlosen Download des SQL-Server Express bereit:

Beta-Version: SQL-Server Express

Nach Angaben von Microsoft handelt es sich zwar weiterhin um Beta-Software, aber es sind bereits alle Funktionen vorhanden. Eine Übersicht erhalten Sie auf der folgenden Seite:

SQL-Server Express - Funktionsübersicht

Ebenfalls kurz vor der Fertigstellung steht der SQL Server 2005 Express Manager, der eine grafische Oberfläche zur Administration der Datenbanken zur Verfügung stellt:

QL Server 2005 Express Manager

 Access-Tipp der Woche

Formulare, Berichte, Makros und VBA-Prozeduren per Kennwort schützen, Teil 1
Versionen: Access 2003, 2002/XP, 2000 und 97

In Ihren Datenbanken setzen Sie mitunter Formulare, Berichte oder Makros bzw. VBA-Routinen ein, die nicht von jedem Anwender angezeigt, ausgedruckt oder ausgeführt werden dürfen. Diese Objekte können Sie zwar über das Menü Extras-Zugriffsrechte schützen, aber der damit verbundene Aufwand, Benutzer und Gruppen anzulegen und entsprechende Rechte zuzuweisen oder zu entziehen, steht oftmals in keinem vernünftigen Verhältnis zum gewünschten Ergebnis.

In diesem zweiteiligen Tipp der Woche stellen wir Ihnen einen einfachen, universell einsetzbaren Kennwortschutz vor, der durchschnittlichen Anwendern den Zugriff wirkungsvoll verwehrt. Um fortgeschrittene Anwender oder Anwender mit VBA-Kenntnissen den Zugriff zu verwehren, müssen Sie etwas tiefer in die Trickkiste greifen. Diesem Thema widmen wir uns in einem separaten Tipp.

Zum Konzept: Basis der Lösung ist eine Tabelle "tblKennwort", in die Sie die Namen der zu schützenden Formulare, Berichte, Makros oder VBA-Routinen sowie ein dazugehörendes Kennwort eintragen. Eine globale Funktion "KennwortEingabe()" wird mit dem Namen des betreffenden Objektes aufgerufen, liest das erwartete Kennwort aus der Tabelle aus, zeigt ein Formular "frmKennwort" zur Eingabe des Kennwortes an, prüft die Eingabe und liefert ein entsprechendes Funktionsergebnis. Dieses Funktionsergebnis ist dann Basis der Entscheidung, ob ein Formular oder Bericht geöffnet oder ein Makro bzw. eine VBA-Routine ausgeführt wird oder nicht.

Im ersten Schritt ist also eine Tabelle "tblKennwort" mit den folgenden Feldern anzulegen:

  • Feld 'ObjektName': Datentyp "Text", Feldlänge "100"
  • Feld 'Kennwort': Datentyp "Text", Feldlänge "20"
Speichern Sie den Entwurf, wobei die Anfrage bezüglich des Primärschlüssels mit einem Klick auf Nein zu beantworten ist. Tragen Sie dann die Namen der zu schützenden Formulare, Berichte, Makros und VBA-Routinen mit ihren jeweiligen Kennwörtern in die Tabelle in. Dabei empfiehlt es sich, unterschiedliche Kenwörter zu verwenden, damit ein Anwender, der zufällig ein Kennwort herausgefunden hat, nicht gleich auf alle Objekte zugreifen kann. Klicken Sie mit der rechten Maustaste auf die Tabelle, wählen Sie das Kontextmenü Eigenschaften an, aktivieren Sie die Option Ausgeblendet und klicken Sie auf Ok. Dadurch ist die Tabelle im Datenbankfenster unsichtbar, so dass deren Inhalte nicht ohne weiteres eingesehen oder geändert werden können. Ist die Tabelle bei Ihnen weiterhin im Datenbankfenster sichtbar, wählen Sie Extras-Optionen an und deaktivieren Sie auf der Registerkarte "Allgemein" im Bereich "Anzeigen" die Option Ausgeblendete Objekte. Möchten Sie später Änderungen an der Tabelle vornehmen, aktivieren Sie diese Option wieder, nehmen die notwendigen Anpassungen vor und deaktivieren die Option dann wieder.

Danach ist das Formular "frmKennwort" für die Eingabe eines Kennwortes anzulegen:

  1. Klicken Sie im Bereich "Formulare" auf die Schaltfläche Neu.
  2. Stellen Sie folgende, vom Standard abweichenden Eigenschaften ein:
Beschriftung: Kennwort:
Bildlaufleisten: Nein
Datensatzmarkierer: Nein
Navigationsschaltflächen: Nein
Automatisch zentrieren: Ja
Popup: Ja
Gebunden: Ja
Rahmenart: Dialog
Breite: 10 cm

Den Detailbereich stellen Sie auf eine Höhe von 3 cm ein, Formular-Kopf-/Fuß bleiben ausgeblendet.

  • Legen Sie im oberen Bereich ein Bezeichnungsfeld "lblKennwort" an, für dessen Eigenschaft "Bezeichnung" Sie den Text "Funktion ist per Kennwort geschützt. Bitte das Kennwort eingeben:" eingeben.
  • Legen Sie darunter ein Textfeld "txtKennwort" an und geben Sie in dessen Eigenschaft "Eingabeformat" die Zeichenfolge "Kennwort" ein. Auf diese Weise erreichen Sie, dass später bei der Eingabe des Kennwortes eine Reihe von Sternchen (*****) anstelle des Kenwortes im Klartext angezeigt wird.
  • Legen Sie eine Schaltfläche Ok (Name= btnOK) und eine Schaltfläche Abbrechen (Name= btnCancel) an.
  • Stellen Sie die Eigenschaft "Standard" der Schaltfläche "btnOK" und die Eigenschaft "Abbrechen" der Schaltfläche "btnCancel" auf "Ja".
  • Geben Sie für die Ereignisprozedur "Beim Klicken" der Schaltfläche "btnOK" die folgenden Anweisungen ein:
Private Sub btnOK_Click()

  Me.Tag = Me.txtKennwort & ""
  Me.Visible = False

End Sub

Diese Anweisungen übertragen das eingegebene Kennwort in die Eigenschaft "Tag" (Marke) des Formulars und verstecken es dann. Die im nächsten Teil vorgestellte Funktion "KennwortEingabe()" liest diese Eigenschaft aus, schließt das Formular und vergleicht das eingegebene Kennwort mit dem erwarteten Kennwort - Details dazu in der nächsten Ausgabe.

  • Geben Sie für die Ereignisprozedur "Beim Klicken" der Schaltfläche "btnCancel" die folgenden Anweisungen ein:
Private Sub btnCancel_Click()

  Me.Tag = ""
  Me.Visible = False

End Sub

Als Kennzeichen dafür, dass auf Abbrechen geklickt wurde, setzen wir hier die Eigenschaft "Tag" auf eine leere Zeichenkette und verstecken das Formular dann. Die im nächsten Teil vorgestellte Funktion "KennwortEingabe()" liest diese Eigenschaft aus, erkennt das Abbrechen und setz das Funktionsergebnis entsprechend auf "Kein/Ungültiges Kennwort eingegeben" - Details dazu in der nächsten Ausgabe.

  • Geben Sie für die Ereignisprozedur "Beim Laden" des Formulars die folgenden Anweisungen ein:
Private Sub Form_Load()
  Dim strOpenArgs As String

  On Error Resume Next
  strOpenArgs = Me.OpenArgs
  If Err = 0 Then
    Me.Caption = Left$(strOpenArgs, _
      InStr(strOpenArgs, "|") - 1)
    Me.lblKennwort.Caption = Mid$(strOpenArgs, _
      InStr(strOpenArgs, "|") + 1)
    DoCmd.RunCommand acCmdSizeToFitForm
  Else
    Beep
    MsgBox "KennwortEingabe: Falscher Aufruf!", _
           vbOKOnly + vbCritical, "!!! Problem !!!"
    DoCmd.Close acForm, Me.Name, acSaveYes
  End If

End Sub

Beim Öffnen des Formulars übergibt die im nächsten Teil vorgestellte Funktion "KennwortEingabe()" über "OpenArgs" Öffnungsargumente an das Formular, die hier in die Titelleiste beziehungsweise das Bezeichnungsfeld "lblKennwort" übertragen werden - Details dazu in der nächsten Ausgabe. Fehlen die Öffnungsargumente, wurde das Formular irrtümlich direkt geöffnet. Es wird dann eine entsprechende Meldung angezeigt und das Formular ohne Anzeige wieder geschlossen. Sie können das Formular "frmKennwort" übrigens auch analog zur Tabelle "tblKennwort" wie oben erläutert ausblenden und es so neugierigen Blicken und Änderungsversuchen entziehen.

Soviel erst einmal zur benötigten Tabelle für die Speicherung von Objektnamen und Kennwörtern und dem Formular für die Kennworteingabe. Im nächsten Teil dieses Tipps der Woche geht es um die globale Funktion "KennwortEingabe()" und den Einbau der Kennwortabfrage in Formulare, Berichte, Makros und VBA-Routinen.

ANZEIGE 
Barcodes komfortabel mit Access ausgeben

Barcode für Windows ist ein Komplettpaket zum Erstellen von Barcodes in Access, Excel und Word. Sie erhalten TrueType-Schriften sowie ein leistungsfähiges Programm zur Berechnung der Prüfziffern, das Sie komfortabel bedienen oder aus den Office-Applikationen heraus steuern können. Alle gängigen Barcodes sind enthalten. Unter anderem:

  • Code EAN 13, EAN 8, Addon -2 und -5, EAN Velocity
  • Code 128, EAN128, UPS128
  • Code 39, -extended, PZN
  • 2/5 Interleaved, 2/5 Industrie
  • Leit- und Identcode der Post
Weitere Informationen finden Sie unter:

Barcodes komfortabel mit Access ausgeben


 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 Fragen aus und beantwortet Sie an dieser Stelle im Newsletter.

Zugriff auf offene und geschützte Datenbanken
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Wir setzen in unserem Unternehmen mehrere Datenbanken ein, die von verschiedenen Fachbereichen und Mitarbeitern genutzt werden. Eine dieser Datenbanken soll nun bei einem Kunden genutzt werden. Der Kunde soll jedoch eine mit Zugriffsrechten versehene Version erhalten, damit er keine Änderungen vornehmen oder VBA-Module einsehen kann. Ich habe nun testweise auf meiner Entwicklermaschine den Arbeitsgruppenmodus eingerichtet, eine Arbeitsgruppendatei SPEZIAL.MDW erstellt und die Zugriffsrechte für die Datenbank entsprechend eingerichtet. Folge davon war, dass die Fachbereiche und Mitarbeiter nicht mehr auf diese Datenbank zugreifen konnten. Das war erst wieder möglich, nachdem ich die Arbeitsgruppendatei im Netzwerk abgelegt und die einzelnen Arbeitsstationen der Arbeitsgruppe angeschlossen hatte. Die Folge davon ist jetzt, dass man sich jedes Mal beim Start von Access oder beim Öffnen einer Datenbank mit Benutzername und Kennwort anmelden muss. Wie können wir auf unsere anderen Datenbanken wie gewohnt zugreifen und nur beim Zugriff auf die "Spezialdatenbank" nach Benutzername und Kennwort gefragt werden?
W. Aschendorf

 ANTWORT:  Auf den einzelnen Arbeitsstationen müssen Sie den Arbeitsgruppenmodus zunächst wieder ausschalten, indem Sie im Arbeitsgruppen-Administrator auf Beitreten klicken und die Standard-Arbeitsgruppendatei SYSTEM.MDW lokalisieren. Diese wird normalerweise in "C:\Windows\System32" oder in "C:\Programme\Gemeinsame Dateien\System" abgelegt, sie findet sich mitunter aber auch im Installationsverzeichnis von Office, also beispielsweise in "C:\Programme\Microsoft Office\Office". Auf einer Arbeitsstation, die sich nicht im Arbeitsgruppenmodus befindet, können Sie den Speicherort der Standard-Arbeitsgruppendatei SYSTEM.MDW am einfachsten durch die Eingabe von

? SysCmd(acSysCmdGetWorkgroupFile)

im Direktbereich in Erfahrung bringen. Nachdem Sie dort den Arbeitsgruppenmodus wieder aufgehoben haben, wird beim Start von Access oder beim Öffnen einer Datenbank kein Benutzername/Kennwort mehr abgefragt. Um den Zugriff auf die "Spezialdatenbank" zu ermöglichen, müssen Sie dann noch auf den einzelnen Arbeitsstationen eine Verknüpfung darauf anlegen und den Aufruf um den Parameter

/wrkgrp "X:\Laufwerk\Pfad\SPEZIAL.MDW"

ergänzen.

Kalender-Steuerelement funktioniert nicht mehr
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Ich habe von einem Kollegen eine Datenbank bekommen und ins Access 2000-Format konvertiert. Beim Öffnen eines Formulars für die Terminverwaltung erhalte ich eine Fehlermeldung, Access springt in die VBA-Entwicklungsumgebung und markiert die folgende Zeile gelb:

Me.KalAusw.Wert = Now

Können Sie mir einen Tipp geben, was daran verkehrt ist bzw. was korrigiert werden muss?
B. Neber

 ANTWORT:  Die Datenbank ist vermutlich mit Access 95 erstellt worden. Dort gab es Versionen des Kalender-Steuerelementes, bei denen auch die Eigenschaften ins Deutsche übersetzt wurden. Ab Access 97 hat das Kalender-Steuerelement nur noch englische Eigenschaftennamen. Ändern Sie die Anweisung wie folgt:

Me.KalAusw.Value = Now

Prüfen Sie dann weitere Zuweisungen oder Abfragen der Eigenschaften beziehungsweise Aufrufe von Methoden von "KalAusw" und stellen Sie diese ebenfalls auf die englischen Namen ein, indem Sie den deutschen Namen inklusive Punkt löschen und dann den Punkt eintippen - Access zeigt daraufhin eine Liste der verfügbaren Eigenschaften und Methoden an, aus der Sie den entsprechenden Eintrag auswählen.

ANZEIGE 
Kalender, Kontakte und E-Mails ganz einfach im Team nutzen

Mit OLXTeamOutlook, der neuesten Generation intelligenter Team-Software für Outlook 2003, 2002/XP, 2000, 98 und 97 nutzen Sie Ihre Outlook-Daten in Zukunft noch effizienter:

  • Nutzen Sie ab sofort Ihre Termine, Aufgaben, Kontakte, E-Mails und Notizen aus Outlook gemeinsam mit anderen Anwendern im Netzwerk.
  • Richten Sie mit wenigen Mausklicks öffentliche Ordner für Gruppentermine, Raumbelegungen, gemeinsamen Firmenadressen usw. ein oder geben Sie einen oder mehrere Ihrer persönlichen Ordner mit Terminen, Kontakten, E-Mails etc. für andere Anwender frei.
  • Alle Änderungen und Neueingaben in den gemeinsamen Ordnern sind immer sofort ohne Verzögerung in den Ordnern der anderen Teilnehmer sichtbar.
  • Im nützlichen Gruppenkalender sehen Sie jederzeit die Termine aller freigegebenen Kalender im Wochenüberblick.
  • Sie benötigen keinen Exchange-Server, sondern lediglich ein freigegebenes Verzeichnis im Netzwerk, auf das alle beteiligten Anwender zugreifen können. Dieses Verzeichnis muss sich noch nicht einmal auf einem Server befinden! Jeder beliebige Rechner in Ihrem Netzwerk kann diese Aufgabe übernehmen
  • Der Datenabgleich mit PDA's und Handy's ist weiterhin ohne Probleme möglich.
OLXTeamOutlook ist komplett in Outlook integriert. Unterstützt werden alle Versionen. Also: Outlook 2003, 2002/XP, 2000, 98 und 97. Sie können innerhalb eines Netzwerkes auf Wunsch sogar unterschiedliche Outlook-Versionen nutzen!

Weitere Informationen zu dieser brandneuen Outlook-Erweiterung finden Sie unter:

Team-Software für Outlook


Ausdruck auf bestimmten Drucker verhindern
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  An meinem Rechner ist ein teurer Farbdrucker angeschlossen, über den gezielt nur einige spezielle Berichte ausgedruckt werden sollen. Mitunter arbeiten Kollegen mit Access an meinem Rechner und drucken dann einfache Berichte ebenfalls über diesen Drucker aus. Kann ich das irgendwie verhindern?
O. Schwanke

 ANTWORT:  Das geht nur, wenn Sie Windows NT, Windows 2000 oder Windows XP Pro einsetzen. Wenn Sie dort mit der rechten Maustaste auf ein Druckersymbol klicken und Eigenschaften anwählen, ist eine Registerkarte "Sicherheit" verfügbar. Löschen Sie dort zunächst die Gruppe "Jeder". Fügen Sie dann die Konten der Kollegen hinzu, die an Ihrem Rechner arbeiten und entziehen Sie jeweils alle Zugriffsrechte. Der Ausdruck auf den Farbkopierer ist dann nur noch Ihnen und der Administrator-Gruppe möglich.

 Newsletter-Tipp

Outlook-Tipps kostenlos per E-Mail

SmartTools Outlook Weekly bietet jede Woche Tipps, aktuelle Infos und Download-Links für Outlook 2003, 2002/XP, 2000 und 97/98:

  • Professionelle Tipps zum effektiveren Arbeiten
  • Undokumentierte Parameter
  • Fertige VBA-Prozeduren für neue Funktionen
  • Aktuelle Informationen über Sicherheitslücken, Bugs und Patches
  • Download-Links zu Outlook-Erweiterungen
  • Helpline für Ihre Fragen zu Outlook
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/