Von: access-weekly-html-request@smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Donnerstag, 8. September 2005 20:11
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 9.9.2005

Ausgabe vom 9. September 2005

 In dieser Ausgabe

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

Spotlight: Neue Steuerelemente für Ihre Formulare in für Access 2003, 2002/XP und 2000

Die Total Access Components 2003 für Access 2003, 2002/XP und 2000 bieten 29 neue Steuerelemente, für Ihre Formulare und Berichte. Angefangen bei komfortablen Eingabehilfen, über grafische Statusanzeigen, Uhren, einen Taschenrechner, neue 3D- und Animationseffekte bis hin zu elektronischen Post-It's und Multimedia-Controls finden Sie alles, was Sie für noch leistungsfähigere und komfortablere Formulare bzw. Berichte brauchen.

Neu in der aktuellen Version 2003 ist außerdem ein "BrowseForFolder"-Steuerelement zur komfortablen Ordnerauswahl und ein "DateTimePicker" für die Datumsauswahl aus einem kleinen Popup-Kalender, wie Sie ihn beispielsweise aus Outlook kennen.

Das absolute Highlight der Total Access Components ist der "Resizer". Er löst für Sie sämtliche Probleme, die Sie bisher durch Systeme mit unterschiedlichen Bildschirmauflösungen hatten. Sie entwerfen nur noch ein einziges Formular und platzieren darauf den Resizer. In Zukunft vergrößert oder verkleinert der Resizer für Sie sämtliche Steuerelemente proportional zur aktuellen Bildschirmauflösung.

Aber auch dynamische Veränderungen sind möglich: der Anwender kann die Größe des Formulars auf jedes gewünschte Maß verändern und der Resizer verändert parallel dazu die Steuerelemente auf die passende Größe. Das alles geschieht blitzschnell und funktioniert sogar mit Unterformularen! Ausführliche Informationen finden Sie unter:

Total Access Components 2003

Download-Tipp: API-Funktionen für Access

Wo Access nicht weiterhilft, können Sie in vielen Fällen die vorhandene Funktionalität durch den Einsatz von API-Funktionen erweitern. Nicht zuletzt diese Flexibilität macht den Erfolg von Access als Datenbank-Entwicklungssystem für anspruchsvolle Lösungen aus. Wir stellen Ihnen in einer kostenlosen Techinfo die nützlichsten API-Funktionen vor, mit denen Sie Ihren Datenbanken noch mehr Komfort und Funktionalität verleihen können. Dazu müssen Sie sich noch nicht einmal mit der komplexen Syntax und den Datenstrukturen der API-Funktionen auseinandersetzen, denn wir liefern Ihnen sofort einsatzbereite VBA-Funktionen in Beispieldatenbanken, die Sie sofort in Ihre Anwendungen übernehmen können:

 API-Funktionen für Access

Techinfo: Daten mit Access oder Excel verwalten

Sowohl Excel als auch Access können dank ihres Funktionsumfanges gleichermaßen zur Verwaltung von Daten eingesetzt werden. Oftmals reichen die einfachen Datenbank-Funktionen von Excel, in anderen Fällen bedarf es eines Datenbanksystems wie Access. Die Entscheidung, wann welche Anwendung zur Verwaltung von Daten eingesetzt werden sollte, vereinfacht ein deutschsprachiges White Paper des Office Hilfecenters, das Sie unter der folgenden Adresse finden:

Daten mit Access oder Excel verwalten

Zunächst einmal zeigen die Autoren auf, welche Funktionen und Möglichkeiten beide Anwendungen bieten. So lässt sich beispielsweise vorab erkennen, dass sowohl Excel als auch Access gleichermaßen als Datenquelle für den Word-Seriendruck eingesetzt werden können. Im Anschluss wird ausgehend von der Art der zu verwaltenden Daten und den Anforderungen geklärt, ob sich diese Daten am besten mit Excel oder Access verwalten lassen.

 Access-Tipp der Woche

Protokollfunktion für Ihre Datenbanken, Teil 1

Bei umfangreicheren Datenbank-Anwendungen, die beispielsweise in verschiedenen Abteilungen oder bei mehreren Kunden eingesetzt werden, treten immer wieder Probleme auf, für deren Lösung Sie detaillierte Informationen zum System und zu ausgeführten Arbeitsschritten benötigen. Praktisch ist in solchen Fällen eine Protokolldatei ("Log File"), in das während der Arbeit mit der Datenbank verschiedene, für Sie wichtige Informationen geschrieben werden. Bei Problemen lassen Sie sich die Protokolldatei zusenden oder greifen per Netzwerk darauf zu und können so die Ursache schneller finden. Wird zum Beispiel die aktuelle Access-Version festgehalten, können Sie sofort erkennen, ob das aktuellste Service Pack installiert ist. Angaben zum Hauptspeicher helfen beispielsweise, wenn die Ausführung umfangreicher Abfragen oder das Öffnen größerer Formulare und Berichte Probleme erzeugt. In diesem zweiteiligen Tipp der Woche stellen wir Ihnen eine universell einsetzbare Lösung vor, mit deren Hilfe Sie eine solche Protokolldatei flexibel in Ihren Datenbanken nutzen können.

Im ersten Teil geht es zunächst um eine globale Prozedur "WriteLOG", die Sie an entsprechenden Stellen aufrufen, um Informationen in die Protokolldatei schreiben zu lassen. Der zweite Teil stellt verschiedene Funktionen vor, mit deren Hilfe Sie nützliche Informationen wie Hauptspeicherausbau, Bildschirmauflösung, System, Netzwerkanmeldung, Computername u.s.w. in Kombination mit "WriteLOG" festhalten können.

Der Prozedur "WriteLOG" wird als Parameter "strInfo" lediglich die zu protokollierende Information übergeben. Den Namen und Speicherort der Protokolldatei ermittelt die Prozedur automatisch: Speicherort ist das Verzeichnis, in dem die Datenbankdatei gespeichert ist. Der Name setzt sich aus dem Namen der Datenbank, dem Zusatz "_LOG" und der Erweiterung TXT zusammen. Das Protokoll kann also mit jedem Texteditor geöffnet werden. Der zu protokollierenden Information stellt die Prozedur außerdem automatisch Datum und Zeit voran. Ein Aufruf wie

WriteLOG "Access " & SysCmd(acSysCmdAccessVer) & _
                 " gestartet..."

würde dann zum Beispiel zu einem Eintrag wie

12.08.2005 13:47 - Access 11.0 gestartet...

führen und Ihnen anzeigen, dass der Mitarbeiter oder Kunde Access 2003 einsetzt.

Für den grundsätzlichen Einsatz der Lösung benötigen Sie die Prozedur "WriteLOG" sowie zwei Hilfsfunktionen "GetDatabasePath()" und "GetDatabaseName()". Legen Sie zunächst ein neues Modul "modWriteLOG" an und geben Sie diese Prozedur bzw. diese Funktionen dort ein:

Function GetDatabaseName() As String
  Dim strName As String
  Dim L As Integer

  strName = CurrentDb.Name
  L = Len(strName)
  While Mid$(strName, L, 1) <> "\" And L > 0
    L = L - 1
  Wend
  If L = 1 Then Exit Function
  strName = Mid$(strName, L + 1)

  L = Len(strName)
  While Mid$(strName, L, 1) <> "." And L > 0
    L = L - 1
  Wend
  If L = 1 Then Exit Function
  strName = Left$(strName, L - 1)
  GetDatabaseName = strName

End Function

Function GetDatabasePath() As String
    Dim L As Integer
    Dim strPath As String

    strPath = CurrentDb.Name
    L = Len(strPath)
    While Mid$(strPath, L, 1) <> "\" And L > 0
        L = L - 1
    Wend
    If L > 1 Then
        strPath = Left$(strPath, L)
    Else
        strPath = ""
    End If
    GetDatabasePath = strPath

End Function

Sub WriteLOG(strInfo As String)
  Dim strPath As String, strFName As String
  Dim FNum As Integer

  On Error Resume Next
  strPath = GetDatabasePath()
  strFName = strPath & GetDatabaseName() & "_LOG.txt"
  FNum = FreeFile
  Open strFName For Append As #FNum
  Print #FNum, Format$(Now, "dd.mm.yyyy - hh:mm:ss") & _
               " - " + strInfo
  Close #FNum
  DoEvents
  Err.Clear

End Sub

Die Prozedur "WriteLOG" setzt zunächst mit Hilfe von "GetDatabasePath()" und "GetDatabaseName()" gemäß Name und Speicherort der aktuellen Datenbank den Dateinamen und Speicherort der Protokolldatei zusammen. Mit diesem Namen wird eine Textdatei im Modus "Append" (anhängen) geöffnet und die zu protokollierende Information mit Datums-/Zeit-Zusatz hineingeschrieben. Anschließend wird die Protokolldatei wieder geschlossen.

Wenn Sie nun den Direktbereich öffnen und dort

WriteLOG "Dies ist ein Test..."

eingeben, haben Sie die Protokollfunktion ein erstes Mal erfolgreich genutzt. Im Verzeichnis der Datenbank finden Sie die TXT-Datei mit diesem Protokolleintrag.

Soviel zunächst für diese Ausgabe. In der nächsten Woche stellen wir Ihnen verschiedene Funktionen für den Abruf weitergehender Access-, Netzwerk- und Systeminfos vor und zeigen, wie diese in Verbindung mit "WriteLOG" in einer Datenbank an verschiedenen Stellen (AutoExec, Form_Open, After_Update u.s.w.) eingesetzt werden können.

ANZEIGE 
Einzeladressen aus Access und Outlook komfortabel nach Word übernehmen

Vergessen Sie das lästige Nachschlagen von Adressen!

Erledigen Sie Ihre Korrespondenz in Zukunft schnell und komfortabel:

  • Direkte Übernahme von Einzeladressen aus Outlook, Exchange Server sowie beliebigen Access-Datenbanken
  • Komfortabler Abruf der Adressen per Mausklick direkt aus Word 2003, 2002/XP und 2000
  • Flexible Übernahme in beliebige Vorlagen für Briefe, Faxe, Rechnungen, Mahnungen, Lieferscheine usw.
  • Musterbrief-Verwaltung mit über 100 fertigen Briefen - beliebig erweiterbar um Ihre persönlichen Mustertexte
  • Nutzen Sie den Aktionspreis: Zurzeit erhalten Sie 25% Rabatt!
Ausführliche Informationen zum SmartTools Brief- und Fax-Manager 2003 finden Sie unter:

SmartTools Brief- und Fax-Manager 2003


 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.

Laufwerk oder Servername ermitteln
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  In einem Formular zur Verwaltung unserer Software möchte ich gerne aus dem Pfad des Installationsverzeichnisses (Feld "InstPath") das Laufwerk oder den Servernamen ermittelt und als separates Feld "Drive" speichern. Können Sie mir einen Tipp geben, wie ich das am besten umsetze?
W. Basler

 ANTWORT:  Geben Sie zunächst in einem neuen oder einem vorhandenen Modul die folgende Funktion ein:

Function DriveName(strPath As String) As String
  Dim P As Integer

  If Left$(strPath, 2) = "\\" Then 'UNC/Server
    P = InStr(3, strPath, "\")
    DriveName = Left$(strPath, P - 1)
  Else
    DriveName = UCase$(Left$(strPath, 2))
  End If

End Function

Diese Funktion erwartet als Parameter "strPath" einen Pfad wie "X:\Verzeichnis\[Dateiname]" bzw. "\\Server\Verzeichnis\[Dateiname]". Sie analysiert die ersten beiden Zeichen - handelt es sich dabei um zwei Backslashes "\\", handelt es sich um einen UNC-Servernamen. Das Funktionsergebnis ist dann der vordere Teil der Zeichenkette ausschließlich des Pfades und des Dateinamens. Sind die ersten beiden Zeichen keine zwei Backslashes, ist ein Laufwerksbuchstabe angegeben und es werden nur die ersten beiden Zeichen als Funktionsergebnis gesetzt.

Für die Ereignisprozedur "Nach Aktualisierung" des Feldes "InstPath" geben Sie nun folgende Anweisungen ein:

Me.Drive = DriveName(Me.InstPath)

Dadurch wird nach einer Eingabe oder einer Änderung des Installationsverzeichnisses die Funktion "DriveName" mit dem Pfad des Installationsverzeichnisses aufgerufen und das Ergebnis im Feld "Drive" abgelegt.

Dateneingabe in der Datenblattansicht vereinfachen
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  Ich zeige eine Tabelle über ein Formular ganz normal in der Tabellenansicht an. Die Tabelle hat jedoch viele Felder, die eventuell nach links "herauswandern", so dass es schwierig zu erkennen ist, ob man sich bei der Eingabe von Daten rechts davon noch in der richtigen Zeile befindet, da der Schlüsselbegriff nun ganz links steht.

Ist es möglich, wenn man den Cursor auf ein Feld eines Satzes zur Eingabe positioniert hat, dass man z.B. die Schriftstärke des Schlüsselbegriffs von normal auf fett ändert? Die bedingte Formatierung bietet diese Möglichkeit wohl nicht. Für einen Tipp wäre ich sehr dankbar.
B. Altmann

 ANTWORT:  Über die bedingte Formatierung lässt sich das Problem tatsächlich nicht lösen. Sie können aber wie folgt Abhilfe schaffen:

  1. Markieren Sie in der Datenblattansicht die Spalte mit dem Schlüsselbegriff.
  2. Wählen Sie das Menü Format-Spalte fixieren an.
Wenn nun bei der Eingabe oder Änderung von Daten die Felder nach links herauswandern, bleibt die Spalte mit dem Schlüsselbegriff stehen, so dass Sie immer erkennen können, welcher Datensatz gerade in Arbeit ist.

ANZEIGE 
Excel-Tabellen automatisch vergleichen und zusammenführen

Der Synkronizer 8.0 Premium liefert genau die Funktionen, die Microsoft in Excel vergessen hat: Er kann Ihre Kalkulationsmodelle, Tabellen, Listen und Datenbanken in Excel voll automatisch vergleichen, Unterschiede markieren und auf Wunsch zu einer einzigen aktuellen Version zusammenführen.

Sparen Sie künftig viele Stunden mühseliger Kleinarbeit, denn der Synkronizer 8.0 Premium wird Ihnen bei der täglichen Arbeit mit Excel immer wieder eine unentbehrliche Hilfe sein. Zum Beispiel:

  • Führen Sie mehrere Versionen der gleichen Tabelle in einer einzigen Datei zusammen, die alle Änderungen der anderen Versionen enthält.
  • Markieren Sie mit wenigen Mausklicks die Unterschiede zwischen zwei Versionen eines Kalkulationsmodells.
  • Arbeiten Sie Änderungen voll automatisch in eine Liste (Preise, Artikel, Aufträge etc.) ein.
  • Erstellen Sie aus mehreren Adresslisten eine einzige Adressliste ohne Duplikate.
  • Kombinieren Sie zwei Listen mit unterschiedlichen Informationen zu einer aussagekräftigen Gesamtliste.
Weitere Informationen zu diesem unentbehrlichen Excel-Tool finden Sie unter:

Synkronizer 8.0 Premium für Excel


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

Zu diesem Beitrag hat uns eine Zuschrift von Access Weekly-Leser K. D. Ahrens erreicht:

Ich habe zu diesem Thema einen weiteren Tipp. Dasselbe in der Frage erwähnte Problem tritt z.B. auch in folgendem Fall auf:

Ich habe auf meinem Entwicklungsrechner in einem Access-Programm Outlook-Objekte verwendet (ich exportiere Kontaktdaten nach Outlook). Das funktionierte auf meinem Entwicklungsrechner alles bestens.

Dann habe ich die MDE-Version dieses Programms unseren Mitarbeitern zur Verfügung gestellt. Bei einigen Kollegen wurde dann eine ähnliche Fehlermeldung angezeigt. Sie erscheint allerdings nicht beim Aufruf der neuen Funktion (die die Kontaktdaten in Outlook anlegt), sondern bei einem Datenbankaufruf per ODBC. Der Fehler besagte, dass IIF- oder Trim-Befehle nicht erkannt werden. Da wir IIF nur in Abfragen verwenden, glaubten wir zunächst, dass der ODBC-Treiber auf diesen Rechnern falsch installiert ist.

Die Lösung: Auf den Systemen , auf denen dieser Fehler auftrat, war noch nicht die aktuellste Office-2000-Version installiert. Nach der Installation der aktuellen Version läuft mein Access-Programm auch bei diesen Kollegen ohne Probleme.

 Newsletter-Tipp

Office-Tipps kostenlos per E-Mail

Der SmartTools Office Insider ist Ihr monatlicher News-Service für Microsoft Office. Hier finden Sie aktuelle Informationen zu Access, Excel, Word & Co, eine Fülle von Download-Links sowie detaillierte Tipps zu neuen Patches und Updates. So verpassen Sie nichts, was Sie unbedingt zu Microsoft Office wissen müssen.

  • Meldungen über neue Lösungen und Add-Ins zu Office 2003, XP, 2000 und 97
  • Berichte über Updates und Bugfixes.
  • Tipps und effektivere Arbeitstechniken zu Access, Excel, Word & Co.
  • Hinweise auf kostenlose Downloads zu Office 2003, 2002/XP, 2000 und 97
  • Antworten auf Ihre Fragen zu Microsoft Office.
Und das beste am SmartTools Office Insider: Er ist vollkommen kostenlos!

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/