Access-News & Downloads
Access-Helpline
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:
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.
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.
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:
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.
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.
Klicken Sie hier für Ihr kostenloses Abo!
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.
|