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: http://www.add-in-world.com/katalog/tacomponents2003/ Download-Tipp: So klappt der Umstieg von DAO auf ADO ADO ist die Datenzugriffstechnologie, die automatisch mit Access 2003, 2002/XP und 2000 installiert und standardmäßig in jeder neuen Datenbank verwendet wird. Der Einsatz von DAO ist aber weiterhin möglich und wird auch immer noch von der Mehrheit der Entwickler genutzt. Daher stellen sich immer wieder die gleichen Fragen:
Techinfo: Laufwerks-Informationen abfragen Als Entwickler stehen Sie immer wieder vor dem Problem, für spezielle Lösungen Informationen über ein Laufwerk abfragen zu müssen, um beispielsweise sicherzustellen, dass ausreichend Platz auf dem Ziellaufwerk vorhanden ist. VBA selbst bietet dazu keine eigene Funktion. Sie können aber eine API-Funktion des Systems einsetzen, die die entsprechenden Informationen liefert. Unter der folgenden Adresse finden Sie eine Techinfo, die Ihnen zeigt, wie diese Funktion eingesetzt wird: Techinfo: Laufwerks-Informationen abfragen Die Techinfo ist zwar für Visual Basic gedacht, aber Sie können die Ausführungen auch für VBA und ein Access-Formular nutzen. Basis dieser Lösung sind die API-Funktionen "GetDiskFreeSpace" und "GetDiskFreeSpaceEx", die zunächst ausführlich erläutert werden. Sie erfahren hier die Unterschiede, unter welchen Systemen sie einzusetzen sind und welche Parameter benötigt bzw. welche Rückmeldungen geliefert werden. Ein kleines Beispiel können Sie direkt per Kopieren/einfügen in eigene Projekte übernehmen und entsprechend Ihren Anforderungen anpassen. Als Ergebnis stehen Ihnen Informationen zur Gesamtkapazität, zum belegten Platz und zum freien Platz eines Laufwerkes zur weiteren Verarbeitung zur Verfügung.
Tipps und Problemlösungen zu Datenbanken in Mehrbenutzerumgebungen, Teil 2 Versionen: Access 2003, 2002/XP, 2000 und 97 Neben den im ersten Teil dieses Tipps der Woche behandelten Server- und Netzwerkproblemen gibt es noch weitere möglicher Ursachen für Beschädigungen von Datenbanken in Mehrbenutzerumgebungen. Da wäre als häufigste Ursache zunächst eine fehlende, regelmäßig ausgeführte Komprimierung zu nennen. Gerade wenn mehrere Anwender mit derselben Datenbankdatei gleichzeitig arbeiten, muss Access gegebenenfalls mehrere Neuanlagen, Änderungen, Aktualisierungen oder Löschungen parallel durchführen. Das erfolgt aus Geschwindigkeitsgründen und der Einfachheit halber nicht auf Basis der ursprünglichen Daten. Wenn Sie beispielsweise einen Datensatz ändern, wird er zunächst nur als gelöscht gekennzeichnet, eine geänderte Kopie an das Dateiende geschrieben und in einem globalen "Inhaltsverzeichnis" lediglich ein Zeiger darauf neu gesetzt. Daraus ergibt sich einerseits das bekannte Phänomen des "Aufblähens" einer Datenbank, andererseits führt dieses Konzept regelmäßig zu Inkonsistenzen, weil das "Inhaltsverzeichnis" nicht mehr stimmt. Es ist deshalb gerade in einer Mehrbenutzerumgebung extrem wichtig, die Datenbank regelmäßig zu komprimieren. Ab Access 2000 können Sie dazu die Option Beim Schließen komprimieren einschalten, die Sie über Extras-Optionen auf der Registerkarte "Allgemein" finden. Access komprimiert die Datenbank dann automatisch, wenn der letzte Anwender seinen Zugriff beendet. Bei Access 97 steht diese Option nicht zur Verfügung, hier müssen Sie die Komprimierung manuell, beispielsweise zum Feierabend, durchführen, wenn alle Anwender die Datenbank verlassen haben. Access 2003, 2002/XP und 2000 bieten außerdem eine Funktion, die automatisch geänderte Objektnamen anpassen kann. Diese Funktion sollte in einer Mehrbenutzerumgebung unbedingt abgeschaltet werden, da sie einerseits unnötig Performance frisst und andererseits zu Inkonsistenzen führen kann, wenn sie parallel zu Aktualisierungen ausgeführt werden soll. Wählen Sie dazu das Menü Extras-Optionen an, wechseln Sie auf die Registerkarte "Allgemein" und deaktivieren Sie alle Optionen im Bereich "Objektnamen-Autokorrektur". Für Tabellen können Sie ab Access 2000 automatisch Unterdatenblätter mit Detaildaten anzeigen lassen. Access selektiert dann beim Zugriff auf die Tabelle basierend auf den gesetzten Beziehungen die Datensätze für das jeweilige Unterdatenblatt. Als besonders problematisch hat sich die Einstellung "Automatisch" für die Eigenschaft "Unterdatenblattname" in Mehrbenutzerumgebungen erwiesen: Teilweise können hier nicht nur Minuten vergehen, bevor ein Formular, eine Tabelle oder ein Abfrage-Ergebnis angezeigt wird - Access muss aufgrund dieser Einstellungen schlimmstenfalls Dutzende von Feldern auf deren Beziehungen hin prüfen -, mitunter gerät Access auch bei der gleichzeitigen Ausführung dieser und anderer Funktionen durcheinander, so dass Inkonsistenzen die Folge sein können. Deshalb empfiehlt es sich, alle Tabellen zu prüfen und den Automatismus für Tabellen, zu denen keine Unterdatenblätter angezeigt werden müssen, explizit abzuschalten. Gehen Sie dazu wie folgt vor.
Außerdem sollten Anwender darauf hingewiesen werden, dass sie im Falle eines Absturzes von Access die Anwendung nicht einfach über den Task-Manager schließen und Access bzw. die Datenbank nicht neu aufrufen dürfen. Unter Umständen ist durch den Absturz eine Inkonsistenz entstanden, die zunächst bereinigt werden muss. Vielmehr sollte ein Anwender Sie als Administrator in solchen Fällen unverzüglich verständigen. Sie müssen dann dafür sorgen, dass alle anderen Anwender die Datenbank ebenfalls verlassen und dann eine manuelle Reparatur/Komprimierung durchführen. Damit sind die wichtigsten Problemursachen erwähnt. Auf spezielle Bereiche wie beispielsweise den Einsatz von VBA in Mehrbenutzerumgebungen gehen wir in einem zukünftigen Tipp der Woche separat ein.
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. Kennwort als Sternchen anzeigen Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: In unseren Formularen verwenden wir Textfelder zur Kennworteingabe. Anstelle des Kennwortes im Klartext sollen die Felder jedoch aus Sicherheitsgründen Sternchen "*" anzeigen. Wie lässt sich das realisieren? H. Gessner ANTWORT: Dazu können Sie ein spezielles Eingabeformat zuordnen:
Nachtrag: Tipps und Problemlösungen zu Datenbanken in Mehrbenutzerumgebungen Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Sie hatten in dem Beitrag der letzten Woche auf eine Server-Einstellung "Opportunistic Locking" als mögliche Problemursache hingewiesen und dessen Änderung beschrieben. Wir haben hier ein ähnliches Problem mit einem zwar älteren, aber sehr zuverlässig arbeitenden Novell 3.2-Server, auf dem unsere MBU-Datenbanken gespeichert sind: Bei der Ausführung von Abfragen stürzt der Server ab und zu mit einem "Generell Protection Failure" ab oder zeigt eine Fehlermeldung "Maximum record locks exceeded (423687)" an. Wir interpretieren das als einen Versuch von Access 423.687 Datensätze zu bearbeiten - so viele Datensätze sind in der zugrunde liegenden Tabelle aber gar nicht vorhanden. Können Sie uns dazu einen Hinweis oder einen Tipp geben? A. Brockmöller ANTWORT: Der Grund für den Absturz beziehungsweise für die Fehlermeldungen liegt in einer Einstellung des Novell-Servers für die Anzahl gleichzeitig zu sperrender Datensätze: Dieser Wert ist nach der Installation auf 500 Sätze eingestellt und reicht für normale Abfragen oder in kleineren Netzwerken auch völlig aus. Bei umfangreicheren Abfragen oder in größeren Netzwerken mit vielen gleichzeitig zugreifenden Anwendern zeigen sich dann aber eventuell die oben erwähnten Schwierigkeiten. Um sicher zu gehen, sollten Sie diesen Wert auf das Maximum setzen. Dadurch wird nur unwesentlich mehr Speicher vom Server benötigt, aber Abstürze oder Fehlermeldungen haben ein Ende. Geben Sie dazu an der Console des Servers (oder über RConsole) folgende Anweisungen ein: set maximum record locks per connection = 10000 set maximum record locks = 200000 Dadurch wird die Anzahl gleichzeitig zu sperrender Datensätze für eine einzelne Verbindung auf "10.000" und für alle Verbindungen systemweit auf "200.000" gesetzt. Damit die Einstellungen auch beim nächsten Start oder einem Re-Boot des Servers aktiviert werden, sollten Sie diese auch gleich in AUTOEXEC.NCF eintragen. Gehen Sie dazu wie folgt vor:
set maximum record locks = 200000
Nachtrag: Eigene Datenbanken über Aufgabenbereich öffnen Versionen: Access 2003 und 2002/XP FRAGE: Vielen Dank für den hilfreichen Tipp, wie man eigene Datenbanken über den Aufgabenbereich öffnen kann! In einigen Aufgabenbereichen kann man über Links direkt eine Internet-Seite aufrufen - sind auch hier individuelle Erweiterungen möglich? L. Hohner ANTWORT: Sie können dem Aufgabenbereich ähnlich einfach einen Eintrag hinzufügen, über den sich beispielsweise mit einem Mausklick MSDN-Infos zu Access im Internet-Explorer anzeigen lassen Gehen Sie wie folgt vor:
Office XP und 2003-Tipps kostenlos per E-Mail Der SmartTools Office XP Insider ist ein kostenloser E-Mail-Newsletter, der sich ausschließlich mit den neuen Funktionen von Office XP und 2003 beschäftigt:
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.
|