Access-News & Downloads
Access-Helpline
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:
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:
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
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:
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.
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)
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:
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.
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:
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.
|