Von: access-weekly-html-request@smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Freitag, 19. August 2005 00:32
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 19.8.2005

Ausgabe vom 19. August 2005

 In dieser Ausgabe

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

Spotlight: Das perfekte Verwaltungstool für Multiuser-Datenbanken

Hier ist das Tool, auf das alle Datenbank-Administratoren gewartet haben: Total Access Admin macht die Verwaltung von Multiuser-Datenbanken zum Kinderspiel. Unabhängig davon, ob Access 97, 2000, 2002/XP oder 2003 im Einsatz ist oder alle Versionen parallel genutzt werden - Sie haben die Kontrolle darüber, was mit der Datenbank geschieht:

  • Aktive Anwender anzeigen
  • Verhindern Sie neue Verbindungen zu der Datenbank
  • Inaktive User automatisch abmelden
  • Verdächtige oder abgebrochene Verbindungen finden
  • Mitteilungen an alle angemeldeten Anwender
  • Komfortabler und kostengünstiger Einsatz
Total Access Admin ist das unentbehrliche Tool, wenn Sie Datenbanken im Netzwerk verwalten. Mit wenigen Mausklicks kommen Sie Problemen auf die Spur, bereiten Datenbanken für die Wartung vor und kommunizieren mit allen angemeldeten Anwendern in Echtzeit:

Total Access Admin

Download-Tipp: Starten Sie Ihre Datenbanken immer mit der richtigen Access-Version

In vielen Bereichen werden mehrere Versionen von Access parallel auf einem Rechner eingesetzt. Beim Doppelklick auf eine MDB-Datei im Explorer entscheidet dann der Zufall, ob die Datenbank mit der richtigen Version geöffnet wird oder ob Sie sich mit einem ungewollten Konvertieren-Dialog oder einer Fehlermeldung "Unbekanntes Datenbank-Format..." konfrontiert sehen.

Der kostenlose SmartTools Start-Manager schafft Abhilfe: Über eine komfortable, zentrale Datenbank können Sie in Zukunft alle lokalen und gegebenenfalls im Netzwerk verteilten Access-Datenbanken per Mausklick automatisch mit der passenden Access-Version öffnen:

 SmartTools Start-Manager für Access

Techinfo: SQL Server 2005 optimal schützen

SQL Server sind immer wieder Ziel von Hackerangriffen oder Denial Of Service-Attacken, in deren Folge Daten manipuliert oder der Server gar komplett außer Betrieb gesetzt werden kann. So konnte zum Beispiel ein kleiner Wurm namens "Slammer" im Jahre 2003 weltweit große Teile des Internets lahm legen. Da die Kombination SQL Server und Internet Information Server weit verbreitet ist, waren Hunderttausende darauf basierender Websites durch die Auswirkungen von Slammer nicht erreichbar. Möglich war das durch eine seit Oktober 2002 bekannte Sicherheitslücke im SQL Server und dessen "Light"-Versionen MSDE beziehungsweise SSDE. Kurz nach Bekannt werden der Sicherheitslücke hatte Microsoft zwar einen Patch zur Schließung dieser Sicherheitslücke veröffentlicht und in spätere Service Packs integriert, aber der "Erfolg" von Slammer zeigte einmal mehr, wie sorglos ein Großteil der Server-Administratoren vorgeht.

Um derartigen Problemen in Zukunft vorzubeugen, hat Microsoft im SQL Server 2005 unter anderem entsprechende Sicherheitsfunktionen zum Abblocken von Angriffen und Attacken eingebaut. Über Konzepte, Einrichtung und Einsatz in der Praxis informiert ein umfangreiches White Paper der MSDN-Spezialisten, das Sie unter der folgenden Adresse finden:

Techinfo: SQL Server 2005 optimal schützen

 Access-Tipp der Woche

Formulare mit Memofeldern schneller durchblättern
Versionen: Access 2003, 2002/XP, 2000 und 97

Wenn Sie in einer Tabelle Memofelder einsetzen, in denen viel Text erfasst ist, muss Access in den dazugehörigen Formularen bei jedem Datensatzwechsel den Inhalt dieser Felder aus der Tabelle auslesen und im Formular darstellen. Dadurch wird das Blättern in Formularen manchmal recht träge. Meisten wird jedoch der Inhalt von Memofeldern eher selten eingesehen. Es empfiehlt sich also, das Memofeld im Formular nur dann anzuzeigen bzw. mit Inhalt zu füllen, wenn es tatsächlich erforderlich ist.

Am einfachsten geht das über das Registerkarten-Steuerelement. Nehmen wir als Beispiel eine "Kundenverwaltung": Hier gibt es einmal die Stammdaten wie Anschrift, Telefon, Ansprechpartner oder E-Mail-Adresse, die immer angezeigt werden müssen und beispielsweise ein Memofeld "Besuchsberichte" für entsprechende Hinweise und Bemerkungen des Außendienstes, das selten benötigt wird:

  1. Öffnen Sie das betreffende Formular im Entwurfsmodus.
  2. Löschen Sie zunächst das Memofeld im Formular.
  3. Markieren Sie dann im Detailbereich alle Felder und wählen Sie das Menü Bearbeiten-Ausschneiden an.
  4. Legen Sie ein Register namens "regMain" mit zwei Registerkarten "Basisdaten" und "Besuchsberichte" an.
  5. Aktivieren Sie die Registerkarte "Basisdaten" und wählen Sie das Menü Bearbeiten-Einfügen an - auf der Registerkarte befinden sich dann die Felder mit den Stammdaten, die immer angezeigt werden sollen.
  6. Aktivieren Sie die Registerkarte "Besuchsberichte".
  7. Legen Sie hier ein ungebundenes Textfeld "memoBesuche" oder ähnlich an und stellen Sie dessen Eigenschaften "Eingabetastenverhalten" auf "Neue Zeile im Feld" und "Bildlaufleisten" auf "Vertikal" ein.
  8. Markieren Sie das Registerkarten-Steuerelement komplett, indem Sie auf die graue freie Fläche hinter den "Karteireitern" mit den Bezeichnungen klicken.
  9. Lassen Sie das Eigenschaftenfenster anzeigen, stellen Sie die Eigenschaft "Nach Änderung" auf "Ereignisprozedur" ein und klicken Sie auf die Schaltfläche mit den drei Punkten, um den VBA-Editor zu öffnen.
  10. Geben Sie hier die folgenden Anweisungen ein:
Private Sub regMain_Change()

  If regMain.Value <> 1 Then
    Me.memoBesuche.ControlSource = "" 'Ungebunden...
  Else
    Me.memoBesuche.ControlSource = "Besuchsberichte"
  End If

End Sub

"Besuchsberichte" ersetzen Sie dabei durch den Namen des betreffenden Memofeldes.

  • Schließen Sie den VBA-Editor und lassen Sie das Formular anzeigen.
Solange die Registerkarte "Basisdaten" angezeigt wird, können Sie nun zügig durch die Datensätze blättern. Wenn Sie auf die Registerkarte "Besuchsberichte" umschalten, wird die oben gezeigte VBA-Routine ausgeführt. Sie setzt jetzt den Steuerelementeinhalt für das Textfeld "memoBesuche" auf das betreffende Memofeld der zugrunde liegenden Tabelle - in unserem Beispiel ist das das Feld "Besuchsberichte". Access liest den Inhalt dann aus der Tabelle und zeigt ihn auf der Registerkarte an. Schalten Sie wieder zurück auf die Registerkarte "Basisdaten", sorgt die Routine dafür, dass der Steuerelementeinhalt des Textfeldes wieder auf "Nichts" gesetzt wird, Access lädt beim Blättern also keine Inhalte aus der Tabelle in das Formular und Sie können wesentlich schneller durch die Datensätze blättern.

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:

Outlook-Ordner im Team nutzen


 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.

Textdateien schneller einlesen
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Ich nutze eine eigene VBA-Routine, um Daten aus externen Text-Dateien zeilenweise in ein Memofeld einzulesen. Das ist vor allem bei größeren Textdateien recht langsam. Gibt es eventuell eine Möglichkeit, analog zu RANDOM-Dateien, Text-Dateien schneller einzulesen?
H. Kreutzer

 ANTWORT:  Die gibt es in der Tat: Mit der Datei-Funktion "Input()" können Sie eine bestimmte Anzahl Zeichen in einem Durchgang aus einer als binär geöffneten Datei einlesen. Geben Sie als "Anzahl Zeichen" die Gesamtgröße der Text-Datei an, wird sie inklusive aller Zeilenumbrüche in einem Durchgang in eine Variable eingelesen, aus der sie dann weiterverarbeitet oder direkt in ein Memofeld übertragen werden kann. Das benötigt selbst bei Megabyte-großen Text-Dateien nur Bruchteile von Sekunden. Geben Sie zunächst in einem neuen oder in einem vorhandenen Modul die folgende Funktion ein:

Function LoadTextFile(strFName As String, _
                      Optional tb As Variant) As String

  Dim FNum As Integer, FSize As Long
  Dim strText As String

  On Error Resume Next
  FNum = FreeFile
  Open strFName For Binary As #FNum
  FSize = LOF(FNum)
  strText = Input(FSize, FNum)
  Close #FNum
  If Not IsMissing(tb) Then
    tb.Text = strText
  Else
    LoadTextFile = strText
  End If
  Err.Clear

End Function

Beim Aufruf geben Sie als Parameter "strFName" den kompletten Pfad der Text-Datei an:

strText = LoadTextFile
("Z:\Test\Besuchsbericht.txt")

Das Ergebnis, also der Inhalt der Text-Datei, wird dann als Zeichenkette geliefert und kann aus "strText" entsprechend weiterverarbeitet werden. Alternativ dazu können Sie über den Parameter "tb" einen Feldnamen angeben und das Ergebnis so direkt in ein Memofeld übertragen lassen:

strText = LoadTextFile("Z:\Test\Besuchsbericht.txt", _
                       Me.Besuchsberichte)

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:

Urlaubs-Datenbank für Access


Markierung von Feldinhalten in Einzelfällen vermeiden
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Über Extras-Optionen haben wir auf der Registerkarte "Tastatur" eingestellt, dass grundsätzlich der gesamte Inhalt von Feldern beim Feldwechsel markiert werden soll. Bei der Bearbeitung von Datensätzen können Änderungen so schnell und einfach eingegeben werden. Leider mussten wir feststellen, dass Feldinhalte schnell versehentlich gelöscht werden. Wir möchten dieses Feature daher für wichtige Felder abschalten, finden aber in den Feldeigenschaften keine Möglichkeit dazu. Ist das möglich?
L. Berg

 ANTWORT:  Grundsätzlich können Sie dieses Feature nur global über Extras-Optionen, aber nicht individuell für einzelne Felder ein- oder ausschalten. Hier hilft aber der folgende Trick:

  1. Öffnen Sie das Formular im Entwurfsmodus.
  2. Markieren Sie das gewünschte Feld und wählen Sie das Menü Ansicht-Eigenschaften an.
  3. Stellen Sie die Eigenschaft "Bei Fokuserhalt" auf "[Ereignisprozedur]".
  4. Klicken Sie auf die Schaltfläche mit den drei Punkten, um den VBA-Editor zu öffnen und geben Sie folgende Anweisungen ein:
Private Sub Feldname_GotFocus()
  Me.Feldname.SelStart = 0
  Me.Feldname.SelLength = 0
End Sub

"Feldname" ersetzen Sie dabei durch den Namen des betreffenden Feldes. Diese Anweisungen sorgen dafür, dass die Markierung aufgehoben wird, sobald das Feld den Fokus erhält. Das erreichen wir durch das Setzen der Eigenschaften "SelStart" und "SelLength" auf "0", es wird also nichts markiert und der Cursor an den Feldanfang gesetzt.

VBA-Standardfunktionen werden nicht erkannt
Versionen: Access 2003, 2002/XP und 2000

 FRAGE:  Access-Datenbanken sollen als Front-End mit einem SQL-Server eingesetzt werden. Auf unserem Entwicklungs-System funktioniert alles einwandfrei, beim Einsatz auf den Clients in den Fachabteilungen hagelt es jedoch Fehlermeldungen in verschiedenen VBA-Routinen, immer bei den unterschiedlichsten Anweisungen (String$, Left$, Val() und so weiter). Wir hatten zunächst einen nicht auflösbaren Verweis auf ein Objektmodell oder eine Bibliothek vermutet, finden unter Extras-Verweise aber keinen "NICHT VORHANDEN:"-Eintrag. Wo könnte das Problem liegen?
Diverse Anfragen

 ANTWORT:  Prüfen Sie einmal, ob Sie in Ihren Routinen irgendwo die Funktion "CurrentDb()" verwenden. Dabei handelt es sich um eine DAO-Funktion, die nicht ohne expliziten Verweis auf die "Microsoft DAO 3.6 Object Library" eingesetzt werden kann. Bei Bedarf setzt Access eine versteckte Referenz, die unter Extras-Verweise nicht auftaucht. Wenn nun auf den Ziel-Systemen aus irgendwelchen Gründen DAO 3.6 nicht installiert oder die Installation defekt ist, kann es zu den von Ihnen beobachteten Problemen kommen. Setzen Sie beispielsweise anstelle von "CurrentDb.Name" einfach "CurrentProject.FullName" ein.

 Newsletter-Tipp

Excel-Tipps kostenlos per E-Mail

SmartTools Excel Weekly ist ein kostenloser E-Mail-Newsletter, der Ihnen jede Woche interessante Tipps rund um Excel 2003, 2002/XP, 2000 und 97 liefert:

  • Neue Rechenfunktionen für Ihre Tabellen
  • Nützliche VBA-Prozeduren
  • Undokumentierte Parameter und Funktionen
  • Infos zu Bugs und Patches
  • Wichtige Download-Links
  • Helpline für Ihre Fragen zu Excel
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/