Access-News & Downloads
Access-Helpline
News: PDFgrabber 3.0 Standard und Professional kann jetzt auch neue PDF-Dateien erstellen Der PDFgrabber ist das tausendfach bewährte Tool, um PDF-Dateien direkt in Excel oder Word zu öffnen und zu bearbeiten. In der brandneuen Version 3.0 wurden die Standard- und Professional-Editionen komplett überarbeitet und wesentlich erweitert. Die wichtigsten neuen Funktionen:
PDFgrabber 3.0 - Standard für Privatanwender PDFgrabber 3.0 - Professional für professionelle Anwender 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:
News: Jet 4.0 Update - Verbesserungen für regions- und sprachspezifische Anwendungen Mit einem Update der Jet Engine 4.0 verbessert Microsoft die Berücksichtigung regions- und sprachspezifischer Einstellungen. Davon profitieren international eingesetzte Datenbankanwendungen, bei denen bislang für nicht unterstützte Länder und Sprachen Standardeinstellungen verwendet wurden. Das führte unter anderem in falschen Sortierreihenfolgen und Ergebnissen in Abfragen und bei Vergleichen. Das Update ist nur für Anwender notwendig, die Windows XP einsetzen. Es reicht nicht, das Update auf Entwickler-Maschinen zu installieren, es ist auch auf den Systemen, beispielsweise in Auslandsfilialen, einzuspielen, auf denen die Datenbankanwendungen eingesetzt werden. Weitere Informationen und den Download des Updates finden Sie unter der folgenden Adresse: Update der Jet Engine 4.0 Im folgenden Knowledge Base-Artikel listet Microsoft die Verbesserungen detailliert auf: Knowledge Base-Artikel zur Jet Engine 4.0 Waren die News & Downloads hilfreich für Sie? Klicken Sie bitte hier!
So erstellen Sie automatisch eine Übersicht Ihrer Access-Objekte, Teil 1 Versionen: Access 2003, 2002/XP, 2000 und 97 Sicherlich kennen Sie die Situation: Sie suchen eine bestimmte Abfrage für de Auswertung von Umsatzzahlen für den Vorgesetzten oder müssen für ein Meeting schnell einen Bericht ausdrucken. Aber in welcher der vielen Datenbanken befindet sich nun die Abfrage oder der Bericht? Während Sie nun Dutzende von Datenbanken vergeblich öffnen und durchsuchen, trommelt der Vorgesetzte ungeduldig mit den Fingern auf Ihrem Schreibtisch oder das Meeting läuft bereits eine Viertelstunde... Hilfreich wäre hier eine Datenbank, in der Sie die Objekte Ihrer Datenbanken speichern und dann schnell beispielsweise nach einer Abfrage oder einem Bericht suchen könnten. Eine solche Lösung stellen wir Ihnen mit diesem zweiteiligen Tipp der Woche vor: Eine Prozedur liest die Objektinformationen (Name, Typ, Pfad/Dateiname der Datenbank) entweder von einer einzelnen Datenbank oder von allen in einem Verzeichnis gespeicherten Datenbanken in eine Tabelle "Objektübersicht" ein. Diese können Sie dann komfortabel durchsuchen. Im ersten Teil des Tipps der Woche legen wir zunächst die benötigte Tabelle und die Prozedur zum Auslesen der Objektinfos an. Der zweite Teil erläutert dann die Funktionsweise und stellt Abfragen und Funktionen zum komfortablen Durchsuchen Ihrer Objektübersicht vor. Für den Aufbau der Lösung legen Sie am besten zunächst eine neue, leere Datenbank "Objektübersicht und Suche" und darin eine neue Tabelle "Objektübersicht" mit den folgenden Feldern an: Objektname: Datentyp "Text", Feldlänge = 100 Zeichen Objekttyp: Datentyp "Text", Feldlänge = 50 Zeichen Datenbank: Datentyp "Text", Feldlänge = 250 Zeichen Erstellen Sie dann ein neues Modul "modObjects", setzen Sie über Extras-Verweise eine Referenz auf "Microsoft DAO X.x Object Library" (X.x = 3.6 für Access 2003, 2002/XP und 2000 und 3.5 für Access 97) und geben Sie anschließend die folgende Prozedur "GetObjects" ein bzw. kopieren Sie sie aus dem Newsletter in den VBA-Editor: Sub GetObjects(strPath As String, _ strMDB As String, _ blnAppend As Boolean) Dim dbLocal As DAO.Database Dim dbExternal As DAO.Database Dim rs As DAO.Recordset Dim td As TableDef, qd As QueryDef Dim cont As Container, doc As Document Dim arrContData As Variant Dim I As Long, cntObjs As Long, cntDBs As Long Dim strFName As String, strDBName As String Dim strObjName As String, strObjType As String On Error Resume Next 'Variablen initialisieren arrContData = Array("Forms", "Formular", _ "Reports", "Bericht", _ "Scripts", "Makro", _ "Modules", "Modul") If Not blnAppend Then 'Tabelleninhalt löschen DoCmd.SetWarnings False DoCmd.RunSQL "delete * from [Objektübersicht];" DoCmd.SetWarnings True DBEngine.Idle End If 'Recordset initialisieren Set dbLocal = CurrentDb() Set rs = dbLocal.OpenRecordset("Objektübersicht") 'Datenbank(en) scannen If strMDB <> "" Then 'Einzelne MDB strDBName = strMDB GoSub OneMDB Else 'MDBs in Verzeichnis If Right$(strPath, 1) <> "\" Then strPath = strPath & "\" End If strFName = Dir$(strPath & "*.mdb") While strFName <> "" strDBName = strPath & strFName GoSub OneMDB DoEvents strFName = Dir$() 'Nächste MDB... Wend End If 'Einzelne MDB/Verzeichnis? 'Und fertig... rs.Close Set rs = Nothing Set dbLocal = Nothing Set dbExternal = Nothing DoEvents Beep MsgBox Format$(cntObjs, "###,###,###") & _ " Objekt(e) aus " & _ Format$(cntDBs, "###,###,###") & _ " Datenbank(en) ausgelesen...", _ vbOKOnly + vbInformation, "GetObjects:" Exit Sub '!!! OneMDB: Err = 0 Set dbExternal = OpenDatabase(strDBName) If Err <> 0 Then GoSub SaveErrorInfos Else 'Tabellen und Abfragen über "Defs"-Auflistungen strObjType = "Tabelle" GoSub SaveTableInfos strObjType = "Abfrage" GoSub SaveQueryInfos 'Rest über Container For I = 0 To UBound(arrContData) Step 2 Set cont = dbExternal.Containers(arrContData(I)) strObjType = arrContData(I + 1) GoSub SaveContInfos Next I dbExternal.Close cntDBs = cntDBs + 1 End If 'Fehler? Return 'OneMDB SaveErrorInfos: strObjName = Err.Description strObjType = CStr(Err.Number) GoSub SaveRecord Return 'SaveErrorInfos SaveTableInfos: For Each td In dbExternal.TableDefs strObjName = td.Name If Left$(strObjName, 4) <> "MSys" Then GoSub SaveRecord End If Next td Return 'SaveTableInfos SaveQueryInfos: For Each qd In dbExternal.QueryDefs strObjName = qd.Name If Left$(strObjName, 1) <> "~" Then GoSub SaveRecord End If Next qd Return 'SaveQueryInfos SaveContInfos: For Each doc In cont.Documents strObjName = doc.Name GoSub SaveRecord Next doc Return 'SaveObjInfos SaveRecord: rs.AddNew rs("Objektname") = strObjName rs("Objekttyp") = strObjType rs("Datenbank") = strDBName rs.Update cntObjs = cntObjs + 1 Return 'SaveRecord End Sub Die Prozedur erwartet als ersten Parameter "strPath" die Angabe eines Verzeichnisses, in dem die Datenbanken gespeichert sind, deren Objektinfos Sie auslesen möchten: GetObjects "D:\Daten\Access-Datenbanken", "", True Wenn Sie diesen Parameter leer ("") angeben, können Sie über den zweiten Parameter "strMDB" auch eine einzelne Datenbank (Pfad/Dateiname) angeben, um nur daraus die Objektinfos auszulesen: GetObjects "", "Z:\Test\Adressen.mdb", True Der dritte Parameter "btnAppend" steuert, ob die Objektinfos zur Tabelle hinzugefügt werden sollen (= True) oder ob die Tabelle vorher gelöscht werden soll (= False). Letzteres wäre zum Beispiel notwendig, wenn Sie die Objektinfos aller Datenbanken aus einem Verzeichnis neu einlesen möchten: GetObjects "F:\Verwaltung\Access-Datenbanken", "", False Soviel zunächst für diesen Teil des Tipps der Woche. Im zweiten Teil in der nächsten Ausgabe erläutern wir die Funktion der Prozedur "GetObjects" und stellen Ihnen Abfragen und Funktionen zum komfortablen Durchsuchen der Objektübersicht vor. War dieser Tipp für Sie hilfreich? Klicken Sie bitte hier!
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. Formatierung in Berichten exportieren Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Im Rahmen einer Berichterstellung, habe ich über VBA eine kleine Anweisung zur Feldformatierung geschrieben: If Feld 1 > 10 then Feld2.FontBold=true End if Das auch sehr gut, aber wenn der Bericht nach Word geschickt wird, ist die Formatierung weg, d.h. in Word wird die Zeichenfolge nicht mehr fett sondern in der ursprünglichen Feldformatierung (Normal) angezeigt. Gleiches gilt übrigens auch bei kursiver Darstellung. Gibt es hier einen Trick? A. Hentschel ANTWORT: Wenn Sie die Funktion "Weiterarbeiten/Veröffentlichen mit Microsoft Word" nutzen oder den Bericht im RTF-Format exportieren, werden keine Ereignisprozeduren ausgelöst, somit erfolgt auch keine Formatierung der Textfelder in Fett oder kursiv. Die einzige uns bekannte Möglichkeit, eine per VBA durchgeführte Formatierung im Export beizubehalten, ist die Ausgabe als Snapshot. Symbolleisten nach Neuinstallation wiederherstellen Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Gelegentlich ist in unserer Firma nach einem Festplatten-Crash die Neuinstallation des Office-Paketes erforderlich. Dabei werden dann u.a. die Symbolleisten in Access auf Standard zurückgesetzt. Es ist dann immer sehr mühsam, die Symbolleisten wieder den eigenen Bedürfnissen anzupassen. Wo werden in Access die Einstellungen zu den Symbolleisten gespeichert? U. Kaiser ANTWORT: Die Einstellungen für Symbolleistenanpassungen speichert Access in der Registry im folgenden Abschnitt: HKEY_CURRENT_USER\ Software\ Microsoft\ Office\ X.x\ Access\ Settings\ CommandBars "X.x" steht für die Access-Version: "11.0"= Access 2003, "10.0"= Access 2002/XP, "9.0"= Access 2000 und "8.0"= Access 97. Nach einer Neuinstallation ist dieser Abschnitt leer. Erst nach Anpassungen wird hier für jede geänderte Symbolleiste ein Eintrag angelegt, der Access Auskunft über den individuellen Aufbau gibt. Per Rechtsklick auf "CommandBars" und Anwahl von Exportieren können Sie den kompletten Abschnitt in eine REG-Datei speichern. Nach einer Neuinstallation von Access öffnen Sie diese REG-Datei einfach per Doppelklick und beantworten die folgende Sicherheitsabfrage mit einem Klick auf Ja. Die Einstellungen werden dann wieder in die Registry übertragen, die Symbolleistenanpassungen stehen ab dem nächsten Start von Access wieder zur Verfügung.
Individuelle Kopien drucken Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Ich habe eine Zusatzfrage zum Thema "Berichtkopien komfortabel drucken". Wie kann man auf Original wie auf den Kopien automatisch eindrucken: Original Kopie Buchhaltung Kopie Kunde Kopie Abteilungsleiter Kopie ... Ich habe das bisher so gelöst, dass ich die Berichtselemente des kompletten Berichtes kopiert und sie nach einem Seitenumbruch wieder eingefügt habe. Im Seitenkopf steht dann der jeweilige Begriff. Das ist aber ein ziemlich umständliches Verfahren. H. Brehm ANTWORT: Zur Lösung dieses Problems können Sie beispielsweise eine Schaltfläche mit der folgenden Ereignisprozedur "Beim Klicken" einsetzen: Private Sub btnPrint_Click() Dim strReport As String Dim arrKopien As Variant Dim I As Long, R As Report strReport = "Testbericht" arrKopien = Array("Original", _ "Kopie Buchhaltung", _ "Kopie Kunde", _ "Kopie Abteilungsleiter") For I = 0 To UBound(arrKopien) DoCmd.OpenReport strReport, acViewPreview Set R = Reports(strReport) R.lblKopie.Caption = arrKopien(I) DoCmd.PrintOut acPrintAll DoCmd.Close acReport, strReport Next I Set R = Nothing End Sub Über "strReport" definieren Sie den Bericht, der mit unterschiedlichen "Kopie..."-Hinweisen versehen werden soll. "arrKopien" wird mit den Texten initialisiert, die als "Kopie..."-Hinweis im Bericht ausgegeben werden sollen. In einer Schleife wird dann der Bericht in der Seitenansicht geöffnet, der jeweilige Text in das Bezeichnungsfeld "lblKopie", das Sie zum Beispiel im Seitenfuß des Berichtes angelegt haben, geschrieben und dann der Bericht ausgedruckt. War die Helpline für Sie hilfreich? Klicken Sie bitte hier!
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.
|