Von: access-weekly-html-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Freitag, 13. Mai 2005 01:06
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 13.5.2005

Ausgabe vom 13. Mai 2005

 In dieser Ausgabe

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

Spotlight: Adressen aus Access und Outlook ganz einfach nach Word übernehmen

Der SmartTools Brief- und Fax-Manager 2003 reduziert das Erstellen eines neuen Briefes oder Fax-Anschreibens auf wenige Mausklicks. In Zukunft geben Sie keine Adresse mehr doppelt ein, denn Sie können auf Ihre vorhandenen Datenbestände in jeder beliebigen Access-Datenbank, in Outlook oder auf dem Exchange Server zugreifen. Den ganzen Vorgang steuern Sie aus Word 2003, 2002/XP oder 97.

  • Per Mausklick in die Symbolleiste des Brief- und Fax-Managers rufen Sie direkt aus Word die Liste der verfügbaren Adressen in Ihrer Access-Datenbank oder in Outlook auf.
  • Sie markieren den gewünschten Empfänger.
  • Der Assistent öffnet ein neues Dokument auf Grundlage einer Ihrer vorbereiteten Brief- oder Fax-Vorlage und fügt die Adresse samt fertiger Anrede genau an den richtigen Stellen ein.
  • Auf Wunsch wird das Dokument automatisch nach dem Brief-Empfänger sowie dem aktuellen Datum benannt und in einem der vordefinierten Verzeichnisse gespeichert.
Der tausendfach bewährte SmartTools Brief- und Fax-Manager 2003 ist ab sofort verfügbar und kann jetzt zum Aktionspreis mit 25% Rabatt bestellt werden:

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

Download-Tipp: Doppelseitendruck für Access-Berichte

Wenn Sie umfangreiche Berichte ausgeben, bietet es sich an, beide Seiten eines Blattes zu benutzen. Standardmäßig haben Sie diese Möglichkeit nur, wenn Ihr Drucker die so genannte Duplex-Ausgabe unterstützt, aber das ist nur selten der Fall. Unser Assistent hilft weiter: Nach der automatischen Installation können Sie ihn jederzeit über das Menü Extras-Add-Ins aufrufen. Wählen Sie dann den gewünschten Bericht aus und drucken Sie zunächst nur die Seiten mit ungerader Seitennummer. Das ausgegebene Papier drehen Sie dann um, legen es erneut in den Drucker und starten dann den Ausdruck der Seiten mit gerader Seitennummer. Das Ergebnis: Ihr Bericht im Doppelseitendruck. Den kostenlosen Download finden Sie unter:

 Doppelseitendruck für Access-Berichte

Techinfo: API-Funktionen in VBA-Lösungen einsetzen

Einer der Vorteile von VBA ist die Erweiterbarkeit durch die Einbindung externer System-Funktionen des Windows-API (API= Application Programing Interface). Viele VBA-Entwickler scheuen allerdings vor dem Einsatz von API-Funktionen zurück, weil einerseits Grundwissen notwendig ist und andererseits eine falsche Parameterübergabe oder der nicht ordnungsgemäße Umgang mit API-Datenstrukturen schnell zu einem Absturz führen kann. Unter Beachtung von ein paar einfachen Grundregeln und mit dem Verständnis für die Einbindung von API-Funktionen sind diese Ängste jedoch unbegründet. David Shank, VBA-/API-Spezialist von Microsoft, hat sich des Themas angenommen und ein leicht verständliches, aber dennoch tiefgehendes White Paper dazu erstellt:

API-Funktionen in VBA-Lösungen einsetzen

Nach einer Einführung in das API-Konzept weist der Autor zunächst auf die verfügbare Dokumentation der API-Funktionen hin und stellt einen Link auf die online verfügbaren Teile der SDKs (SDK= Software Development Kit) zur Verfügung. Im Anschluss werden dann zunächst die Anweisungen und Schlüsselwörter erläutert, die VBA für die Einbindung und Deklaration von API-Funktionen zur Verfügung stellt. Dabei geht der Autor detailliert auf die Unterschiede zwischen Funktionen und Prozeduren ein und beschreibt Details für die Parameterübergabe und Auswertung von Rückmeldungen. Weiter geht es dann mit der Erläuterung von vordefinierten Konstanten und Datentypen, benutzerdefinierten Datentypen und Handles, die für die Aufrufsteuerung der Funktionen verwendet werden. Die einzelnen Beschreibungen begleiten verschiedene Beispiele, die den Einsatz von API-Funktionen anschaulich verdeutlichen.

 Access-Tipp der Woche

Tipps und Problemlösungen zu Datenbanken in Mehrbenutzerumgebungen, Teil 1
Versionen: Access 2003, 2002/XP, 2000 und 97

In vielen Unternehmen werden Access-Datenbanken auf einem zentral erreichbaren Netzwerklaufwerk gespeichert, damit mehrere Anwender gleichzeitig darauf zugreifen können. Dabei kommt es immer wieder zu Problemen: Access meldet regelmäßig, dass die Datenbank beschädigt sei und repariert werden muss, Datensätze können angeblich nicht bearbeitet werden, weil sie von einem anderen Anwender gesperrt sind, das Laden und Anzeigen von Formularen, Berichten oder Abfragen benötigt unverhältnismäßig viel Zeit. In diesem zweiteiligen Tipp der Woche gehen wir auf die häufigsten Probleme ein und zeigen Lösungsansätze auf.

Eine der Ursachen für Beschädigungen von Datenbanken in Mehrbenutzerumgebungen sind Server- oder Netzwerkprobleme. In der Regel kommen Windows NT, 2000, XP/Pro oder 2003 als Serversystem zum Einsatz. Diese Systeme lassen sich so einstellen, dass sie nach einem Problem selbständig neu starten. Meistens bemerken nicht einmal die Administratoren, wenn ein Server nach einem Problem neu aufsetzt. Wenn in diesem Moment ein oder mehrere Anwender auf eine Datenbank zugreifen, können gegebenenfalls neue oder geänderte Daten entweder nicht zurückgeschrieben werden. Das gleiche Problem tritt auf, wenn die Netzwerkverbindung zum Beispiel wegen eines defekten Hubs/Switches oder eines ebenfalls defekten oder auch aus Versehen gezogenen Netzwerkkabels gestört wird. Die Datenbank befindet sich anschließend in einem inkonsistenten Zustand, der sich entweder beim nächsten Zugriff oder - schlimmer - erst nach einiger Zeit bemerkbar macht. Access meldet dann typischerweise ein falsches Datenbankformat.

Im Falle einer Beschädigung ist die Datenbankstruktur noch weitgehend erhalten. Sie können dann direkt die Funktion zur Reparatur starten, die häufig auch erfolgreich verläuft. In den übrigen Fällen meldet Access im Laufe der Reparatur gegebenenfalls Fehler an einzelnen Objekten. Diese sind dann dermaßen schwer beschädigt, dass eine automatische Reparatur nicht mehr möglich ist. Notieren Sie sich zunächst die Typen/Namen der Objekte. Legen Sie dann eine neue Datenbank an und versuchen Sie, alle Objekte - auch die, bei denen Probleme gemeldet wurden - über das Menü Datei-Externe Daten-Importieren aus der beschädigten Datenbank in die neue Datenbank zu übertragen. Oftmals kann Access Objekte, die bei der Reparatur "durchgefallen" sind, im Zuge des Imports trotzdem noch korrekt übernehmen. Andernfalls bleibt nichts anderes übrig, als die defekten Objekte entweder aus einer Datensicherung separat zu importieren und die seit der letzten Sicherung vorgenommenen Änderungen nachzuholen oder sie komplett neu anzulegen.

Bei einem nicht erkannten Datenbankformat sind die Beschädigungen schwerwiegender. Access bietet in diesem Fall auch gar nicht erst die Option, eine Reparatur zu starten. Sie sollten es aber in jedem Fall versuchen:

  1. Starten Sie Access "leer", also ohne eine Datenbank zu öffnen oder schließen Sie die aktuell geöffnete Datenbank.
  2. Wählen Sie das Menü Extras-Datenbank-Dienstprogramme-Komprimieren und Reparieren (Access 2003, 2002/XP, 2000) bzw. Extras-Datenbank-Dienstprogramme-Datenbank reparieren (Access 97) an.
  3. Lokalisieren Sie die nicht erkannte Datenbank und klicken Sie auf Komprimieren (Access 2003, 2002/XP, 2000) bzw. Reparieren (Access 97).
  4. Ab Access 2000 erfolgt die Reparatur in eine neue, zweite Datenbank, die Sie im folgenden Dialog spezifizieren. Dadurch bleibt die Ursprungsdatenbank für eventuell weitere "Rettungsversuche" unverändert erhalten. Klicken Sie nach Angabe eines Verzeichnisses/Dateinamens auf Speichern.
Wenn Sie anschließend keine Fehlermeldungen, sondern nur eine Erfolgsmeldung angezeigt bekommen, konnte die Datenbank repariert werden. Andernfalls ist die Beschädigung so groß, dass Access mit seinen Mitteln nichts mehr ausrichten kann. Greifen Sie dann auf die Datensicherung zurück oder versuchen Sie, die Datenbank über einen Datenrettungs-/Wiederherstellungs-Service reparieren zu lassen.

Sollten Sie Fehlermeldungen bezüglich beschädigter oder nicht erkannter Datenbanken erhalten, ohne dass erkennbare Server- oder Netzwerkprobleme der oben geschilderten Art vorliegen, ist eventuell eine Server-Einstellung nicht korrekt. Das Problem resultiert aus einer speziellen Funktion der Windows-Server, dem so genannten "Opportunistic Locking" (OpLocks). Dabei versucht der Server, Bestandteile von Dateien vorausschauend zu sperren und so den Zugriff zu beschleunigen bzw. sicherer zu machen. In Verbindung mit dem eigenen Sicherungsmechanismus von Access kann das aber dazu führen, dass falsche Sperrungen erfolgen und bei Zugriffsversuchen Daten zum Teil irreparabel beschädigt werden.

Da sich der Sicherheitsmechanismus von Access nicht steuern lässt, muss auf dem jeweiligen Server eingegriffen werden. Ein kleiner Registry-Eintrag schaltet das "Opportunistic Locking" ab und sorgt so für eine erhöhte Datensicherheit. Den Registry-Eintrag legen Sie wie folgt an:

  1. Wählen Sie auf dem Server das Menü Start-Ausführen an, geben Sie "regedit" ein und drücken Sie die Return-Taste oder klicken Sie auf Ok.
  2. Lokalisieren Sie den folgenden Abschnitt in der Registry:
HKEY_LOCAL_MACHINE/ System/ CurrentControlSet/ Services/ LanmanServer/ Parameters

  • Einen eventuell vorhandenen Eintrag "EnableOpLocks" öffnen Sie per Doppelklick, geben "0" ein und drücken dann die Return-Taste oder klicken auf Ok.
  • Ist der Eintrag nicht vorhanden, klicken Sie mit der rechten Maustaste auf den Ordner "Parameters", wählen Neu-DWORD-Wert im Kontextmenü an und benennen den neu angelegten Eintrag in "EnableOpLocks" um. Der Standardwert von "0" wird unverändert übernommen.
Bitte beachten Sie, dass der Server nach dem Anlegen dieses Registry-Eintrags einmal neu gestartet werden muss, damit die Änderungen wirksam werden!

Gegen Server- oder Netzwerkprobleme und die damit verbundenen Beschädigungen von Datenbanken sind Sie mehr oder weniger machtlos. Es empfiehlt sich, den Server so einzustellen, dass er NICHT automatisch neu startet. Tut er das, können Anwender anschließend direkt wieder auf die Datenbank zugreifen und verschlimmern eventuell eine nicht sofort erkannte Inkonsistenz. Muss der Server manuell neu gestartet werden, haben Sie die Möglichkeit, die Datenbank sofort zu prüfen, sie gegebenenfalls zu reparieren und können so die Verfügbarkeit einer konsistenten Datenbank sicherstellen.

Neben Server- und Netzwerkproblemen gibt es noch einige weitere mögliche Ursachen für Beschädigungen von Datenbanken in Mehrbenutzerumgebungen. Hier können Sie jedoch als Administrator vorbeugen und entsprechende Maßnahmen ergreifen. Mehr dazu im zweiten Teil dieses Tipps in der nächsten Ausgabe von Access Weekly.

ANZEIGE 
Access-Datenbanken optimieren, analysieren und dokumentieren

Der Total Access Analyzer ist eine mehrfach ausgezeichnete Access-Erweiterung, die tausende von Anwendern und Entwickler mit ihren Datenbanken einsetzen.

Wenn Sie Datenbanken für andere Anwender erstellen oder sich in komplexen Access-Anwendungen zurechtfinden müssen, leistet der Total Access Analyzer unschätzbare Hilfe. Voll automatisch kann diese in Access integrierte Erweiterung...

...ungenutzte Objekte finden

...grafische Übersichten der Zusammenhänge zwischen allen Datenbank-Objekten erstellen

...versteckte Fehler finden

...nützliche Optimierungstipps geben

...eine zuverlässige Cross-Referenz erstellen (welches Objekt wird an welchen Stellen in der Datenbank verwendet)

...alle oder gezielt einige Objekte Ihrer Datenbanken ausführlich dokumentieren

Weitere Informationen zum Total Access Analyzer finden Sie unter:

Total Access Analyzer für Access 2003
http://www.add-in-world.com/katalog/ta_analyzer2003/

Total Access Analyzer für Access 2002/XP
http://www.add-in-world.com/katalog/ta_analyzer2002/

Total Access Analyzer für Access 2000
http://www.add-in-world.com/katalog/ta_analyzer2000/

Total Access Analyzer für Access 97
http://www.add-in-world.com/katalog/ta_analyzer_8/


 Access-Helpline

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

Datenbanken über den Aufgabenbereich öffnen
Versionen: Access 2003 und 2002/XP

 FRAGE:  Ich möchte meine Adressverwaltung und meine Terminverwaltung bei Bedarf gerne über den Aufgabenbereich öffnen können. Kann man ihn individuell erweitern?
R. Kiefer

 ANTWORT:  Eine Erweiterung des Aufgabenbereichs erfolgt über die Registry. Basis der anzulegenden Einträge ist der Abschnitt "HKEY_CURRENT_USER\ Software\ Microsoft\ Office\ x\ Access\ New File\CustomX". "x" ist "10.0" bei Access 2002/XP und "11.0" bei Access 2003. "CustomX" definiert den eigentlichen Eintrag im Aufgabenbereich, wobei "X" eine fortlaufende Nummer "1", "2", "3" usw. ist. Um den Aufruf Ihrer "Standard-Datenbanken" im Aufgabenbereich unter "Datei öffnen" anzulegen, gehen Sie wie folgt vor:

  1. Wählen Sie das Menü Start-Ausführen an, geben Sie "regedit" ein und klicken Sie auf Ok oder drücken Sie die Return-Taste.
  2. Lokalisieren Sie den Eintrag "HKEY_CURRENT_USER\ Software\ Microsoft\ Office\ 10.0|11.0\ Access\".
  3. Klicken Sie mit der rechten Maustaste auf den Ordner "Access", wählen Sie das Kontextmenü Neu-Schlüssel an und benennen Sie den Schlüssel "New File" (mit Leerzeichen zwischen "New" und "File").
  4. Klicken Sie mit der rechten Maustaste auf den eben angelegten Ordner "New File", wählen Sie Neu-Schlüssel im an und benennen Sie den Schlüssel "Custom1". "1" müssen Sie eventuell durch "2", "3" und so weiter ersetzen, falls bereits "CustomX"-Enträge vorhanden sind.
  5. Klicken Sie mit der rechten Maustaste auf den eben angelegten Ordner "Custom1", wählen Sie Neu-Zeichenfolge an und benennen Sie den Eintrag "DisplayName". Öffnen Sie den Eintrag per Doppelklick, geben Sie die Beschreibung für die Anzeige im Aufgabenbereich, also z.B. "Adressverwaltung", ein und drücken Sie Return.
  6. Klicken Sie mit der rechten Maustaste noch einmal auf "Custom1", wählen Sie wieder Neu-Zeichenfolge an und benennen Sie den Eintrag "Filename". Öffnen Sie den Eintrag per Doppelklick, geben Sie Laufwerk, Pfad und Dateiname der zu öffnenden Datenbank ein und bestätigen Sie mit Return.
  7. Klicken Sie mit der rechten Maustaste wieder auf "Custom1", wählen Sie aber diesmal Neu-DWORD-Wert im an. Benennen Sie den Eintrag "Section", öffnen Sie ihn per Doppelklick, geben Sie "0" für Abschnitt "Datei öffnen" ein und drücken Sie Return.
  8. Klicken Sie ein letztes Mal mit der rechten Maustaste auf "Custom1" und wählen Sie Neu-DWORD-Wert an. Benennen Sie den Eintrag "Action", öffnen Sie ihn per Doppelklick, geben Sie "0" für Aktion "Öffnen/Bearbeiten" ein und drücken Sie Return.
Nach dem nächsten Neustart von Access können Sie schnell und einfach Ihre Standard-Datenbanken über den Aufgabenbereich öffnen.

Zeilenwechsel im Memofeld
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Wenn ich in einem Memofeld Text erfasse und Return drücke, um eine neue Zeile zu beginnen, springt der Cursor ins nächste Feld. Kann man in einem Memofeld keine Zeilenumbrüche verwenden oder gibt es da einen speziellen Trick?
U. Reinhardt

 ANTWORT:  Einen Zeilenumbruch erreichen Sie in einem Memofeld mit der Tastenkombination Strg+Return. Sie können das Memofeld aber auch so einstellen, dass Return einen Zeilenumbruch einfügt, statt zum nächsten Feld zu springen:

  1. Öffnen Sie das Formular im Entwurfsmodus.
  2. Markieren Sie das Memofeld und wählen Sie Ansicht-Eigenschaften an.
  3. Stellen Sie die Eigenschaft "Eingabetastenverhalten" auf den Eintrag "Neue Zeile im Feld" ein.
  4. Speichern Sie Änderungen und lassen Sie das Formular anzeigen.
Das Drücken von Return fügt nun einen Zeilenumbruch ein. Ein Feldwechsel ist nur noch per Tab-Taste oder Maus möglich.

ANZEIGE 
Die komfortable Urlaubs-Datenbank für Access

Mit dieser Datenbank haben Sie die Fehlzeiten in Ihrer Firma oder Abteilung optimal im Griff: Urlaub, Krankheit, Sonderurlaub und sonstige Abwesenheiten lassen sich für jeden Mitarbeiter komfortabel mit wenigen Mausklicks erfassen. Wenn Sie mit dem einen oder anderen Detail nicht zufrieden sind, ändern Sie es einfach ab, denn Sie erhalten die Datenbank ungeschützt mit dem kompletten Sourcecode.

Ab sofort steht Ihnen die brandneue Version 2.11 der Urlaubsdatenbank zur Verfügung. Zu den wichtigsten Neuerungen zählen:

  • Voll netzwerkfähig durch Front- und Backend-Lösung. Im Mehrplatzbetrieb fallen keine weiteren Kosten an!
  • Unterstützung von halben Abwesenheitstagen
  • Balken- und Mitarbeiterzahl auf 25 pro Abteilung erweitert
  • Erweiterte Druckfunktionen für übersichtliche Berichte
  • Ausführliches deutsches Handbuch
Die Urlaubs-Datenbank für Access 2003, 2002/XP, 2000 und 97 hat sich bereits hundertfach in der Praxis bewährt und ist nach der voll automatischen Installation sofort einsatzbereit:

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


Formular-Sortierung beibehalten
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Ich habe ein Problem mit einem Access-Formular: Das Formular basiert auf einer Tabelle, die per Auto-Wert eine laufende Nummer hat und enthält u.a. auch Strassen und Hausnummern. In den Formulareigenschaften habe ich festgelegt, dass Access die Datensätze nach der laufenden Nummer sortieren soll. Trotzdem kommt es immer wieder vor, dass beim Öffnen der Datenbank Access die Daten auf einmal nach der Hausnummer sortiert. Access verliert anscheinend diese Einstellung. Kennen Sie die Ursache?
J. Jaenke

 ANTWORT:  Ein möglicher Grund besteht darin, dass Sie die Sortierung manuell im Formular geändert haben (Rechtsklick in Feld, Aufsteigen/Absteigend) - diese Sortierung speichert Access automatisch beim Schließen des Formulars und stellt sie beim nächsten Öffnen wieder her. Das sollte allerdings nur geschehen, wenn ursprünglich keine Sortierung eingestellt war. Manchmal gerät Access hier aber durcheinander. Am sichersten lässt sich das Problem lösen, indem Sie einfach beim Öffnen des Formulars die Sortierung explizit beispielsweise wie folgt setzen:

Private Sub Form_Load()

  Me.OrderBy = "[Tabelle|Abfrage].Feldname"
  Me.OrderByOn = True

End Sub


 Newsletter-Tipp

Word-Tipps kostenlos per E-Mail

SmartTools Word Weekly ist unser beliebter E-Mail-Newsletter mit kostenlosen Tipps rund um Word 2003, 2002/XP, 2000 und 97:

  • Undokumentierte Parameter und Funktionen
  • Berichte über Bugs, Patches und Sicherheitslücken
  • Fertige Makros zur Automatisierung häufiger Arbeitsvorgänge
  • Perfekte Datensicherung Ihrer Dokumente
  • So nutzen Sie Word im Netzwerk
  • Helpline für Ihre Fragen zu Word
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/