Von: access-weekly-html-request@smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Donnerstag, 2. März 2006 22:50
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 3.3.2006

Ausgabe vom 3. März 2006

 In dieser Ausgabe

Access-News & Downloads
Access-Tipp der Woche
Access-Helpline
Newsletter-Tipp
 Access-News & Downloads

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:

  • Der PDFgrabber 3.0 Standard/Professional kann jetzt auch neue PDF-Dateien erzeugen. Lesen Sie also beispielsweise eine PDF-Datei in Excel oder Word ein, nehmen Sie Änderungen vor und wandeln Sie die Datei dann mit wenigen Mausklicks wieder in ein PDF-Dokument um.
  • Optimierte Geschwindigkeit: Wandeln Sie ein 25seitiges PDF mit Bildern je nach Rechnerleistung in durchschnittlich 15 Sekunden um!
  • Verbesserte Exportqualität für noch detailgetreuere Umsetzung Ihrer PDF-Dateien
  • Automatische Texterkennung bei der Umwandlung von PDF-Dateien mit gescannten Seiten (Voraussetzung ist der Einsatz von Office 2003).
Für die Umwandlung von PDF-Dokumenten mit dem PDFgrabber 3.0 benötigen Sie nur 3 Schritte:

  1. Starten Sie den PDFgrabber über das Start-Menü oder direkt aus Word bzw. Excel über das neu installierte Menü PDF-Datei öffnen.
  2. Wählen Sie ein PDF-Dokument aus und legen Sie das gewünschte Format (Word, Excel, Text, XML) fest.
  3. Ein Mausklick startet die Umwandlung, die voll automatisch abläuft. Am Ende steht Ihnen das Word-Dokument oder die Excel-Arbeitsmappe zur direkten Bearbeitung zur Verfügung.
Weitere Informationen finden Sie unter:

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:

 SmartTools Start-Manager kostenlos herunterladen!

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!

 Access-Tipp der Woche

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!

ANZEIGE 
Über 350 MB offene Datenbanken und mehr als 3.000 Seiten Access-Tipps auf 3 CD-ROM's

Mit dem großen Access-Berater-Gesamtarchiv können Sie die drei erfolgreichsten Archiv-CD-ROM's jetzt zu einem besonders günstigen Sonderpreis mit 30% Rabatt erwerben. Sie erhalten:

  • Über 3.000 Seiten mit neuen Tipps, Praxisinformationen, fertigen Lösungen und VBA-Routinen zu Access 2003, 2002/XP, 2000 und 97
  • Mehr als 350 MB mit fertigen Access-Datenbanken, Beispielen und Access-Tools
  • Alle Themen im Volltext mit Abbildungen und Beispieldatenbanken unter einer einzigen Oberfläche
  • Schneller Zugriff auf alle drei Archive per Mausklick direkt aus Microsoft Access
  • Durchsuchen Sie alle drei Archive gemeinsam im Volltext oder nach einem Index
Nutzen Sie den günstigen Paketpreis mit über 30% Rabatt auf die Einzelverkaufspreise:

http://www.add-in-world.com/katalog/acb-komplettpaket/


 Access-Helpline

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.

ANZEIGE 
Die komfortable Urlaubs-Datenbank für Access

Mit dieser Datenbank haben Sie die Fehlzeiten in Ihrer Firma oder Abteilung optimal im Griff: Urlaub, Krankheit, Sonderurlaub und sonstige Abwesenheiten lassen sich für jeden Mitarbeiter komfortabel mit wenigen Mausklicks erfassen. Wenn Sie mit dem einen oder anderen Detail nicht zufrieden sind, ändern Sie es einfach ab, denn Sie erhalten die Datenbank ungeschützt mit dem kompletten Sourcecode.

Ab sofort steht Ihnen die brandneue Version 2.11 der Urlaubsdatenbank zur Verfügung. Zu den wichtigsten Neuerungen zählen:

  • Voll netzwerkfähig durch Front- und Backend-Lösung. Im Mehrplatzbetrieb fallen keine weiteren Kosten an!
  • Unterstützung von halben Abwesenheitstagen
  • Balken- und Mitarbeiterzahl auf 25 pro Abteilung erweitert
  • Erweiterte Druckfunktionen für übersichtliche Berichte
  • Ausführliches deutsches Handbuch
Die Urlaubs-Datenbank für Access 2003, 2002/XP, 2000 und 97 hat sich bereits hundertfach in der Praxis bewährt und ist nach der voll automatischen Installation sofort einsatzbereit:

http://www.add-in-world.com/katalog/urlaubsdatenbank/


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!

 Newsletter-Tipp

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:

  • Praktische Tipps zur Installation
  • Tipps und Workshops zum optimalen Einsatz der neuen Funktionen
  • Wichtige Infos und Tipps für den Umstieg von anderen Office-Versionen
  • Download-Links zu aktuellen Erweiterungen und Service Releases für Office XP/2003
  • Helpline für Ihre individuellen Fragen zu Office XP und 2003
Klicken Sie hier für Ihr kostenloses Abo!

 Abonnementverwaltung

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.

Copyright © 2006 SmartTools Publishing Thomas Tai
Luisenstrasse 52, 49565 Bramsche
Telefon: 05461/9952-0, Fax: 05461/2609
E-Mail: access-weekly@smarttools.de
Internet: http://www.smarttools.de/

Alle Rechte vorbehalten. Kein Teil dieses Newsletters darf in irgendeiner Form ohne schriftliche Genehmigung reproduziert, vervielfältigt oder verbreitet werden. Für die Nutzung der enthaltenen Informationen oder die fehlerfreie Funktion wird keine Haftung übernommen. Der Benutzer ist für eventuell entstehende Schäden alleine verantwortlich.