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 2003, 2002/XP, 2000 und 97 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: Der komfortable Popup-Taschenrechner für Ihre Formulare In Ihren Formularen müssen Sie immer wieder kleine individuelle Berechnungen durchführen, für die keine festen Formeln eingesetzt werden können. Es bleibt also nur der Umweg über einen Taschenrechner, in den Sie die Berechnung eingeben, das Ergebnis ablesen und dann in das Formular übertragen. Unsere fertige Lösung hilft weiter: Nutzen Sie den fertigen Popup-Taschenrechner, um Ihre Formulare in Zukunft noch komfortabler zu machen. Ein Mausklick genügt und der Taschenrechner steht Ihnen sofort zur Verfügung. Der aktuelle Feldinhalt wird automatisch übertragen, Sie nehmen die gewünschte Berechnung vor und übertragen das Ergebnis dann mit einem weiteren Mausklick wieder in das Formular. Die kostenlose Lösung samt Anleitung finden Sie unter:
Techinfo: Access-Datenbanken mit FrontPage einsetzen Versionen: FrontPage/Access 2000, 2002/XP und 2003 Beim Thema "Webseiten mit Datenbank-Anbindung" denken viele Webmaster sofort an SQL Server, ASP und komplexes Scripting. Dass eine solche Realisierung weitaus einfacher als zunächst angenommen ist, zeigt das folgende White Paper: Access-Datenbanken mit FrontPage einsetzen Die Spezialisten von "FrontPage HowTo" demonstrieren an einem einfachen Beispiel, dass für eine solche Lösung nicht einmal Datenbank- geschweige denn ASP- oder Scripting-Kenntnisse notwendig sind: Sie erstellen einfach ein Formular mit den FrontPage-Werkzeugen, platzieren die gewünschten Felder und stellen diese so ein, dass deren Inhalte in einer Access-Datenbank gespeichert werden. Das Anlegen der Datenbank und den Einbau der ASP-Anweisungen für den Zugriff übernimmt FrontPage automatisch.
Schriftartenauswahl leicht gemacht, Teil 3 Versionen: Access 2003, 2002/XP, 2000 und 97 Im zweiten Teil dieses Tipps der Woche hatten wir an einem einfachen Beispiel gezeigt, wie eine Schriftartenauswahl über ein Listen- oder Kombinationsfeld mit Hilfe der CallBack-Funktion "FontListCallback()"realisiert wird, die die per "CreateFontList()" ausgelesenen Schriftnamen zeilenweise als Einträge für die Auswahl liefert. Darauf aufbauend können Sie eine Lösung erstellen, die mit wenigen Mausklicks die Schriftart für ein komplettes Formular automatisch umstellt:
(((Left$([Name],1))<>"~") AND ((MSysObjects.Type)=-32768));
Dim strForm As String Dim F As Form Dim varSelected As Variant Dim ctl As Control On Error Resume Next If Me.lstFormulare.ItemsSelected.Count = 0 Then Beep Exit Sub End If For Each varSelected In Me.lstFormulare.ItemsSelected strForm = Me.lstFormulare.ItemData(varSelected) DoCmd.OpenForm strForm, acViewDesign, _ , , , acHidden Set F = Forms(strForm) For Each ctl In F.Controls ctl.FontName = Me.clFontName Next ctl DoCmd.Close acForm, strForm, acSaveYes Next varSelected Beep MsgBox "Markierte Formulare wurden geändert...", _ vbOKOnly + vbInformation, "Schriftart anpassen:" End Sub Nach Auswahl eines oder mehrerer Formulare und einer Schriftart sowie einem Klick auf Ändern öffnet die Ereignisprozedur das jeweilige Formular versteckt im Entwurfsmodus, geht in einer Schleife alle darin enthaltenen Steuerelemente durch und setzt dessen Eigenschaft "FontName" auf die ausgewählte Schriftart. Anschließend wird das Formular geschlossen und automatisch gespeichert. Ähnlich hilfreich können Sie die von "CreateFontList()" erzeugte Schriftartenliste auch mit Berichten einsetzen: Bei der Entwicklung Ihrer Datenbanken müssen Sie beispielsweise regelmäßig die Gestaltung von Berichten mit dem Fachbereich oder Ihren Kunden abstimmen. Dabei ist auch immer die Frage nach der zu verwendenden Schriftart zu klären. Dazu wäre ein kleiner Katalog mit Mustern der verfügbaren Schriftarten recht praktisch. Basierend auf den im ersten Teil dieses Tipps der Woche vorgestellten Basisroutinen können Sie eine Lösung realisieren, die einen Bericht beim Öffnen so manipuliert, dass automatisch die verfügbaren Schriftarten ausgegeben werden. Basis der Lösung ist eine im ersten Schritt anzulegende Tabelle "tblFontList" mit den Feldern "Mustertext" und "Schriftart", deren Eigenschaft "Feldgröße" Sie jeweils auf "250" einstellen. Diese Tabelle liegt einem Bericht "Schriftartenmuster" zugrunde, in dessen Detailbereich Sie die Felder "Schriftart" und "Mustertext" platzieren. Beim Öffnen des Berichtes wird eine Funktion "CreateFontTable()" aufgerufen, die über "CreateFontList()" die Namen verfügbarer Schriftarten ermittelt und pro verfügbarer Schriftart den Namen nebst einem Mustertext in die Tabelle "tblFontList" schreibt. Diese Funktion fügen Sie zu dem im ersten und zweiten Teil aufgebauten Modul "modFontList" hinzu: Function CreateFontTable() As Integer Dim db As DAO.Database Dim rs As DAO.Recordset Dim R As Variant, I As Integer CreateFontTable = 0 DoCmd.SetWarnings False DoCmd.RunSQL "delete * from tblFontList", False DoCmd.SetWarnings True R = CreateFontList() If R = 0 Then Beep MsgBox "Schriftarten konnten nicht " & _ "ausgelesen werden..." Exit Function Else CreateFontTable = R End If Set db = CurrentDb() Set rs = db.OpenRecordset("tblFontList", dbOpenDynaset) For I = 1 To R rs.AddNew rs("Mustertext") = _ "Franz jagt im komplett verwahrlosten Taxi " & _ "quer durch Bayern - äöü ÄÖÜ ß € - 1234567890" rs("Schriftart") = Trim$(arrFontNames(I)) rs.Update Next I rs.Close DoEvents End Function Setzen Sie anschließend über Extras-Verweise eine Referenz auf "Microsoft DAO 3.6 Object Library" (ab Access 2000) beziehungsweise auf "Microsoft DAO 3.6 Object Library" (Access 97). Die Funktion löscht zunächst den Inhalt der Tabelle "tblFontList". Anschließend ruft sie "CreateFontList()" auf, um die Namen verfügbarer Schriftarten in das globale Array "arrFontNames()" zu übertragen. Von dort aus werden die Namen dann in die Tabelle geschrieben. Die Datenbasis für den Bericht bilden genau so viele Datensätze, wie Schriftarten auf dem System vorhanden sind. Der Aufruf erfolgt, wie bereits erwähnt, beim Öffnen des Berichtes: Private Sub Report_Open(Cancel As Integer) Dim R As Variant R = CreateFontTable() End Sub Bei der Ausgabe muss jetzt nur noch dafür gesorgt werden, dass das Feld "Mustertext" in der dazugehörigen Schriftart formatiert wird. Das lässt sich über die Ereignisprozedur "Beim Formatieren" des Detailbereiches erledigen: Private Sub Detailbereich_Format(Cancel As Integer, _ FormatCount As Integer) On Error Resume Next Me.Mustertext.FontName = Me.Schriftart End Sub Der Eigenschaft "FontName" des Feldes mit dem Mustertext wird hiermit bei jedem Datensatz der Name der jeweiligen Schriftart zugewiesen und der Mustertext somit in dieser Schriftart ausgegeben. Der Mustertext enthält nicht nur Buchstaben und Zahlen, sondern auch Sonderzeichen wie Umlaute und das Eurozeichen. So können Sie erkennen, ob eine bestimmte Schriftart benötigte Sonderzeichen unterstützt und Probleme bereits im Vorfeld vermeiden. Darüber hinaus hilft Ihnen diese Übersicht dabei, Symbolschriftarten gleich auszuklammern oder spezielle Symbolschriften beispielsweise für die Ausgabe mathematischer oder technischer Formeln zu finden.
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 eine oder mehrere Fragen aus und beantwortet Sie an dieser Stelle im Newsletter. Standardeinstellungen für neue Steuerelemente Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Beim Entwurf von Formularen muss ich zum Beispiel bei Bezeichnungsfeldern jedes Mal die Ausrichtung auf "Rechtsbündig" oder die Schrift für verschiedene Steuerelemente (Felder, Listen etc.) auf unsere Hausschrift "Gill Sans" einstellen. Dadurch geht viel Zeit verloren. Kann man in Access Standards für Steuerelemente definieren? T. Berg ANTWORT: Um die Standardwerte für einen Steuerelemente-Typ, beispielsweise für ein Bezeichnungsfeld, zu setzen, gehen Sie wie folgt vor:
Startmodus von Access abfragen Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Ich muss in meiner Datenbank erkennen können, ob die Datenbank von einem Anwender "normal" zur Bearbeitung geöffnet wurde oder ob eine andere Anwendung per Office Automatisch auf die Datenbank zugreift. Kann man das irgendwie abfragen? V. Petzel ANTWORT: Das Application-Objekt stellt dazu die Eigenschaft "UserControl" zur Verfügung. Ist diese Eigenschaft "True", so wurde die Datenbank "manuell", also beispielsweise per Doppelklick über den Windows-Explorer oder über das Menü Datei-Öffnen geöffnet. Ist die Eigenschaft "False", erfolgt der Zugriff auf die Datenbank entweder über Office Automation oder per DDE.
Access-Fenster immer maximiert anzeigen Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Access "merkt" sich ja beim Beenden Größe und Position seines Anwendungsfensters und stellt Größe und Position beim nächsten Start automatisch wieder her. Das führt bei unseren Datenbanken recht häufig dazu, dass die per "AutoExec" geöffneten und positionierten Formulare teilweise nicht komplett angezeigt werden, weil der Anwender das Access-Fenster vor dem letzten Beenden recht klein eingestellt hatte. Gibt es eine Möglichkeit, das Access-Fenster generell maximiert anzeigen zu lassen? A. Grauert ANTWORT: Geben Sie zunächst im allgemeinen Teil eines neuen oder vorhandenen Moduls die folgenden Deklarationen ein: Public Const SW_MAXIMIZE = 3 Function ShowWindow _ Lib "user32" (ByVal hWnd As Long, _ ByVal nCmdShow As Long) As Long Geben Sie dann die folgende Funktion ein: Function MaximizeAccWindow() ShowWindow Application.hWndAccessApp, SW_MAXIMIZE End Function Legen Sie schließlich ein Makro "AutoExec" mit der folgenden Aktion an oder fügen Sie in einem vorhandenen Makro diese Aktion als erste ein: Aktion: AusführenCode Funktion: MaximizeAccWindow() Damit ist nun sichergestellt, dass beim Start von Access zunächst das Anwendungsfenster auf volle Bildschirmgröße gesetzt wird.
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.
|