Von: access-weekly-html-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Freitag, 29. April 2005 00:09
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 29.4.2005

Ausgabe vom 29. April 2005

 In dieser Ausgabe

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

News: PDFgrabber 2.0 - PDF-Dateien in Word und Excel öffnen Sonderpreis gilt nur noch diese Woche!

Der PDFgrabber 2.0 wandelt PDF-Dateien in Word- oder Excel-Dateien um, so dass Sie sie bearbeiten oder in Ihren eigenen Texten und Kalkulationsmodellen verwenden können. Mit der neuen Version 2.0 des bewährten PDFgrabber wurde die Ausgabequalität noch einmal optimiert und ein Menüpunkt zum Öffnen von PDF-Dateien direkt in Word und Excel integriert.

Für die Umwandlung von PDF-Dokumenten mit dem PDFgrabber 2.0 brauchen 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.
In einer bis zum 30.4.2005 begrenzten Sonderaktion, können Sie den PDFgrabber 2.0 zurzeit zu einem besonders günstigen Aktionspreis erwerben:

PDFgrabber 2.0 - Standard für Privatanwender
http://www.add-in-world.com/katalog/pdfgrabber-std/

PDFgrabber 2.0 - Professional für professionelle Anwender
http://www.add-in-world.com/katalog/pdfgrabber-pro/

Download-Tipp: Der Wasserzeichen-Assistent für Access-Berichte

Access bietet standardmäßig keine Möglichkeit, um Berichte mit einem Wasserzeichen zu versehen. Unser kostenloser Assistent hilft weiter: Nach der automatischen Installation steht Ihnen ein neues Menü Extras-Add-Ins-SmartTools Wasserzeichen-Assistent zur Verfügung, über das Sie die neue Funktion aufrufen können.

In einem Dialogfeld werden Ihnen hier alle Berichte der aktuellen Datenbank angeboten. Markieren Sie einen Eintrag und wählen Sie anschließend das gewünschte Wasserzeichen aus. "Entwurf", "Kopie" und "Vertraulich" sind bereits vorgegeben, aber Sie können auch beliebige weitere Wasserzeichen wie Ihr Firmenlogo ergänzen. Weitere Informationen und den Download-Link finden Sie unter:

 SmartTools Wasserzeichen-Assistent für Access

Techinfo: Neuerungen im SQL Server 2005 für Entwickler

Mit dem SQL Server 2005 ändern sich grundlegende Dinge bei der Entwicklung SQL-basierender Lösungen. Durch die enge Verknüpfung mit dem .NET Framework und die Integration von Standards wie XML bieten sich dem Entwickler neue Möglichkeiten, aber er muss sich auch mit neuen Technologien und Konzepten auseinandersetzen. Welche neuen Funktionen und Erweiterungen der SQL Server 2005 speziell für Entwickler bietet, ist Inhalt eines umfangreichen, deutschsprachigen White Papers der MSDN-Spezialisten:

Neuerungen im SQL Server 2005 für Entwickler

Die Autoren vermitteln zunächst Grundlagen basierend auf dem Vergleich mit bisherigen Technologien und Konzepten, erläutern die Einbindung ins .NET Framework und verraten Details zur XML-Anbindung. Weitere Abschnitte befassen sich mit neuen Services des SQL Servers 2005 und Erweiterungen beispielsweise im Bereich der Abfrage per SQL.

 Access-Tipp der Woche

Dokumente mit OLE-Feldern ganz einfach verwalten, Teil 2
Versionen: Access 2003, 2002/XP, 2000 und 97

Wenn Sie regelmäßig mit OLE-Feldern arbeiten, wird es mit der Zeit lästig, bei jeder Einbindung einer Datei oder eines Dokumentes das Menü Einfügen-Objekt anzuwählen. Vereinfachen Sie diesen Vorgang über eine Schaltfläche wie folgt:

  1. Legen Sie unter oder neben dem OLE-Feld eine Schaltfläche Per Dialog laden (Name= btnLoadDialog) an.
  2. Geben Sie für die Ereignisprozedur "Beim Klicken" die folgenden Anweisungen ein:
Private Sub btnLoadDialog_Click()

  On Error Resume Next 'Fehler aus OLE-Dialog ignorieren
  With Me.OLEDatei
    .Action = acOLEInsertObjDlg
  End With

End Sub

Diese Anweisungen zeigen den Dialog zum Einfügen einer Datei an. Hier muss dann nur noch per Durchsuchen die gewünschte Datei lokalisiert und mit Öffnen und Ok übernommen werden. Noch mehr Komfort erreichen Sie, wenn Sie einen Dateiauswahl-Dialog verwenden und diesen nur die gewünschten Dateitypen, also beispielsweise "*.doc" und "*.xls" für Word-Dokumente und Excel-Arbeitsmappen zur Auswahl anzeigen lassen. Eine entsprechende Bibliothek für Datei- und Ordner-Auswahl können Sie kostenlos unter der folgenden Adresse herunterladen:

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

Nach Installation und Einbindung der Bibliothek (siehe Doku der Bibliothek) können Sie unter anderem eine Funktion "STP_OpenFile()" zur Anzeige eines Dateiauswahl-Dialoges nutzen. Den Aufruf bauen Sie wie folgt in Ihre Datenbank ein:

  • Geben Sie im allgemeinen Teil des Formulars folgende Funktion ein:
Function PathOnly(strPath As String) As String
    Dim L As Integer

    PathOnly = ""
    If InStr(strPath, "\") = 0 Then Exit Function
    L = Len(strPath)
    While Mid$(strPath, L, 1) <> "\" And L > 0
        L = L - 1
    Wend
    If L > 1 Then PathOnly = Left$(strPath, L)

End Function

  • Platzieren Sie unter oder neben dem OLE-Feld eine Schaltfläche Aus Datei laden (Name= btnLoadFromFile).
  • Geben Sie für die Ereignisprozedur "Beim Klicken" folgende Anweisungen ein:
Private Sub btnLoadFromFile_Click()
  Dim strPath As String
  Dim strFName As String
  Dim strFilter As String

  strPath = GetSetting("ACW", "OLEFelder", "Path", "")
  strFilter = "Office-Dokumente (*.doc/*.xls)|*.doc;*.xls"
  strFName = STP_OpenFile("OLE-Datei auswählen:", _
             strPath, "", "", strFilter)
  If strFName = "" Then Exit Sub

  SaveSetting "ACW", "OLEFelder", _
              "Path", PathOnly(strFName)

  With Me.OLEDatei
    .SourceDoc = strFName
    .Action = acOLECreateLink
  End With

End Sub

Diese Anweisungen zeigen den Dateiauswahl-Dialog beschränkt auf Word-Dokumente (*.doc) und Excel-Arbeitsmappen (*.xls) an. Als Standardverzeichnis wird ein gegebenenfalls beim letzten Öffnen in der Registry festgehaltener Pfad vorgegeben. Die Funktion liefert als Ergebnis den kompletten Pfad der gewählten Datei oder eine leere Zeichenkette (""), wenn auf Abbrechen geklickt wurde - in diesem Fall wird die Routine verlassen. Andernfalls halten wir den Pfad aus dem Dateinamen für die nächste Auswahl in der Registry fest. Anschließend wird der Eigenschaft "SourceDoc" des OLE-Feldes der Dateiname zugewiesen und die Datei über den Aufruf der Methode "Action" mit dem Parameter "acOLECreateLink" als Verknüpfung eingebunden.

Für die Bearbeitung von OLE-Inhalten stehen Ihnen verschiedene Möglichkeiten zur Verfügung. Eingeleitet wird eine Bearbeitung zunächst über einen Doppelklick auf das OLE-Feld. Normalerweise öffnet sich dann die für die Datei oder das Dokument zuständige Anwendung in einem separaten Fenster und Sie können die Inhalte wie gewohnt bearbeiten. Wenn Sie die Anwendung beenden, aktualisiert Access automatisch den Inhalt des OLE-Feldes. Alternativ können Sie die Inhalte auch direkt im Formular bearbeiten:

  1. Stellen Sie die Eigenschaft "Objektaktivierung" des OLE-Feldes auf "Manuell" ein.
  2. Geben Sie für die Ereignisprozedur "Bei Doppelklick" des OLE-Feldes folgende Anweisungen ein:
Private Sub OLEDatei_DblClick(Cancel As Integer)

  On Error Resume Next
  With Me.OLEDatei
    .Verb = acOLEVerbInPlaceUIActivate
    .Action = acOLEActivate
  End With
  If Err <> 0 Then
    Beep
    MsgBox "Dieses OLE-Objekt kann nicht " & _
           "direkt im Formular bearbeitet werden!", _
           vbOKOnly + vbExclamation
  End If

End Sub

Über die Eigenschaft "Verb" des OLE-Feldes wird zunächst der gewünschte Bearbeitungsmodus festgelegt. "acOLEVerbInPlaceUIActivate" steht in diesem Fall für eine direkte Bearbeitung im Formular mit angezeigten Menüs und Symbolleisten. Sollen nur Inhalte bearbeitet, aber beispielsweise der Aufruf von Funktionen der Anwendung nicht möglich sein, verwenden Sie als Verb "acOLEVerbInPlaceActivate". Der Aufruf der Methode "Action" mit dem Parameter "acOLEActivate" zeigt den Inhalt dann zur Bearbeitung an. Achtung! Bitte beachten Sie, dass nicht jede OLE-Anwendung eine gesteuerte Bearbeitung unterstützt! Steht ein gewünschter Bearbeitungsmodus nicht zur Verfügung, wird automatisch der Standardmodus, Bearbeitung in einem eigenen Fenster, verwendet.

Im nächsten Teil dieses Tipps der Woche geht es um Spezialfunktionen von OLE-Feldern. Wir zeigen Ihnen beispielsweise, wie Sie Objekte einbetten oder neue Word-Dokumente basierend auf bestimmten Vorlagen einbinden können.

ANZEIGE 
Neue Version: Personal-, Belegungs- und Zeitpläne in Access grafisch darstellen

Hier ist die perfekte Erweiterung für alle Datenbanken, in denen Sie freie und gebuchte/belegte/vergebene Zeiten verwalten: Sie müssen in einer Tabelle lediglich Start- und Enddatumsangaben der einzelnen Vorgänge verwalten und diese Lösung setzt Ihre Daten voll automatisch in ein übersichtliches Balkendiagramm um.

Mit wenig Aufwand integrieren Sie den Plan in Ihre eigenen Datenbanken, wobei eine Fülle von Anwendungen denkbar ist:

  • Urlaubs- und Personalplanung
  • Belegung von Wohnungen oder Häusern
  • Vermietung von Geräten
  • Fahrzeuge eine Fuhrparks
  • Raumbelegung
  • Projekt- und Ressourcenplanung
  • u.v.m.
Die neue Version 2.11 bietet unter anderem jetzt eine Druckfunktion, eine komfortable Feiertagsverwaltung sowie die Integration von Kürzeln für noch aussagekräftigere Darstellungen.

SmartTools Publishing bietet Ihnen diese Lösung in einer komplett ungeschützten Entwicklerversion ohne jegliche Einschränkungen an:

http://www.add-in-world.com/katalog/ac-belegungsplan/


 Access-Helpline

Haben Sie Fragen zu Access 2003, 2002/XP, 2000 oder 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.

E-Mail-Adresse des Absenders einer Nachricht auslesen
Versionen: Access 2003, 2002/XP und 2000

 FRAGE:  Ich habe mir eine Access-Datenbank erstellt, die Nachrichten aus Outlook in eine Access-Tabelle überträgt. Unter anderem soll dabei die Absenderadresse festgehalten werden. Über die Eigenschaft "SenderName" des MailItems erhalte ich immer nur den angezeigten Namen ("Vorname Nachname" beziehungsweise "Firmenname") und nur ganz selten eine E-Mail-Adresse (user@domain.tld). Wie kann die E-Mail-Adresse des Absenders zuverlässig aus einer Nachricht ausgelesen werden?
F. Martens

 ANTWORT:  In den Fällen, in denen Sie eine E-Mail-Adresse auslesen können, liegt das daran, dass die Nachricht nur unter Angabe einer E-Mail-Adresse ohne Namenszusatz versendet wurde. Outlook setzt dann das Feld "SenderName" auf die E-Mail-Adresse, damit im Posteingang etwas angezeigt werden kann. Das direkte Auslesen der E-Mail-Adresse ist leider nicht möglich, da Outlook diese Informationen über das "MailItem"-Objekt nicht zugänglich macht. Sie können sich aber mit einem kleinen Trick behelfen, indem Sie eine Funktion einsetzen, die unsichtbar auf die jeweilige Nachricht antwortet. In der Antwort sind dann beide Informationen, Name und E-Mail-Adresse, verfügbar und können für das Funktionsergebnis ausgelesen werden. Anschließend wird die unsichtbare Antwort wieder gelöscht. Geben Sie dazu in einem neuen oder einem vorhandenen Modul die folgende Funktion ein:

Function GetEMailAddrFromSender( _
         objMail as Outlook.MailItem)
  Dim objTmp As MailItem
  Dim objRec As Recipient

  On Error Resume Next
  Set objTmp = objMail.Reply
  Set objRec = objTmp.Recipients.Item(1)
  objTmp.Delete
  GetEMailAddrFromSender = objRec.AddressEntry.Name _
         & "|" & objRec.AddressEntry.Address

  Set objRec = Nothing
  Set objTmp = Nothing

End Function

Mit Hilfe der Methode "Reply" des MailItems wird für die als Parameter übergebene Nachricht "objMail" eine temporäre Antwortnachricht "objTmp" erstellt. Dabei kopiert Outlook die vollständigen Absenderangaben (Name, E-Mail-Adresse, sofern verfügbar)in die Empfängerliste "Recipients" der Antwort. Aus deren Eigenschaft "AdressEntry" können dann Name und E-Mail-Adresse ausgelesen und als Funktionsergebnis gesetzt werden. Name und E-Mail-Adresse trennen wir dabei mit einem Pipe-Zeichen, so dass diese Informationen zum Beispiel über "Instr()" oder per "Split()" separiert werden können:

  strInfos = GetEMailAddrFromSender()
  strName = Left$(strInfos, InStr(strInfos, "|") - 1)
  strEMail = Mid$(strInfos, InStr(strInfos, "|") + 1)
  MsgBox strName & "/" & strEMail

  X = Split(strInfos, "|")
  strName = X(0)
  strEMail = X(1)
  MsgBox strName & "/" & strEMail

Bitte beachten: Ab Outlook 2003 können Sie die E-Mail-Adresse aus der Eigenschaft "SenderEMailAddress" des MailItems direkt auslesen, dort ist der Einsatz dieser Funktion nicht notwendig. Außerdem löst die Funktion durch den Zugriff auf E-Mail-Adressen die Sicherheitsabfrage von Outlook aus, die entsprechend zu beantworten ist.

Dateneingabe in ein Feld sicherstellen
Versionen: Access 2003, 2002/XP, 2000 und 97

 FRAGE:  In meinem Formular befindet sich ein Feld, für das bei neuen oder geänderten Datensätzen unbedingt ein Inhalt vorhanden sein muss. Ich habe im Tabellenentwurf die Eigenschaft "Eingabe erforderlich" auf "Ja" eingestellt, was das Problem auch grundsätzlich löst. Ich möchte jedoch einen eigenen Hinweis anzeigen. Wie lässt sich das realisieren?
O. Gerth

 ANTWORT:  Stellen Sie zunächst im Tabellenentwurf die Eigenschaft "Eingabe erforderlich" wieder auf "Nein", damit eine eigene Prüfung vorgenommen werden kann. Gehen Sie dann wie folgt vor:

  1. Öffnen Sie das Formular im Entwurfsmodus.
  2. Stellen Sie dessen Eigenschaft "Vor Aktualisierung" auf "[Ereignisprozedur]" ein, klicken Sie auf die Schaltfläche mit den drei Punkten und geben Sie im VBA-Editor die folgenden Anweisungen ein:
Private Sub Form_BeforeUpdate(Cancel As Integer)

  If IsNull(Me.Kontaktperson) Or _
     IsEmpty(Me.Kontaktperson) Then
    Beep
    MsgBox "Bitte Daten in das Feld " & _
           "'Kontaktperson' eingeben!"
    Cancel = True
    Me.Kontaktperson.SetFocus
  End If

End Sub

Statt "Kontaktperson" geben Sie den Namen des zu prüfenden Feldes an.

  • Speichern Sie den Formularentwurf.
Soll nun ein neuer Datensatz angelegt und gespeichert oder ein geänderter Datensatz gespeichert werden, wird zunächst die oben gezeigte Ereignisprozedur ausgeführt. Diese prüft, ob das betreffende Feld NULL oder LEER ist. Trifft eines von beiden zu, wird eine entsprechende Meldung angezeigt, die Speicherung des Datensatzes über "Cancel = True" verweigert und der Fokus auf das betreffende Textfeld gesetzt.

ANZEIGE 
Barcodes komfortabel mit Access ausgeben

Barcode für Windows ist ein Komplettpaket zum Erstellen von Barcodes in Access, Excel und Word. Sie erhalten TrueType-Schriften sowie ein leistungsfähiges Programm zur Berechnung der Prüfziffern, das Sie komfortabel bedienen oder aus den Office-Applikationen heraus steuern können. Alle gängigen Barcodes sind enthalten. Unter anderem:

  • Code EAN 13, EAN 8, Addon -2 und -5, EAN Velocity
  • Code 128, EAN128, UPS128
  • Code 39, -extended, PZN
  • 2/5 Interleaved, 2/5 Industrie
  • Leit- und Identcode der Post
Weitere Informationen finden Sie unter:

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


Per ADP auf SQL Server 2005 Express zugreifen
Versionen: Access 2003, 2002/XP und 2000

 FRAGE:  Ich habe die Preview-Version des SQL Server 2005 Express installiert und versucht, mit einem Access-Projekt auf den SQLX zuzugreifen. Im Dialog "Verbindung" wird jedoch kein SQL Server gefunden. Liegt das am Betastatus des SQLX oder habe ich etwas falsch gemacht?
R. Weiss

 ANTWORT:  Das liegt daran, dass ein spezieller Browser für SQL Server zwar vom Setup des SQLX installiert, aber nicht weiter eingerichtet geschweige denn gestartet wird. Um diesen Dienst zu aktivieren, gehen Sie wie folgt vor:

  1. Öffnen Sie die Systemsteuerung und dort das Kontrollfeld "Verwaltung".
  2. Im dann angezeigten Fenster öffnen Sie die Management-Konsole "Dienste" per Doppelklick.
  3. Lokalisieren Sie den Eintrag "SQL Browser".
  4. Klicken Sie mit der rechten Maustaste auf den Eintrag und wählen Sie Eigenschaften im Kontextmenü an.
  5. Im folgenden Dialog stellen Sie für Starttyp den Eintrag "Automatisch" ein, klicken auf die Schaltfläche Starten und dann auf Ok.
Wenn Sie nun ein neues Projekt anlegen oder ein vorhandenes Projekt öffnen, können Sie zumindest im Verbindungsdialog den SQLX auswählen. Bei Änderungen oder Erweiterungen wird jedoch darauf hingewiesen, dass das 1. mit der aktuellen Version des SQL Servers nicht möglich ist, dass es 2. generell Probleme geben kann und nicht alle Features nutzbar sind und dass man sich 3. zwecks Update an Microsoft wenden möge. Ob dieses Update jemals verfügbar sein wird, ist fraglich, da Microsoft die Unterstützung für ADPs mit dem SQLX wahrscheinlich einstellen wird.

Allerdings ist nach wie vor ein Zugriff auf den SQLX per ODBC möglich. Dazu richten Sie zunächst über das Kontrollfeld "Datenquellen (ODBC)" einen System-DNS für "SQL Server 2005 Express" ein. Anschließend können Sie dann in Access über Datei-Externe Daten-Tabellen Verknüpfen und Auswahl des Dateityps "ODBC-Datenquellen" auf den SQLX zugreifen und Tabellen einbinden.

 Newsletter-Tipp

Outlook-Tipps kostenlos per E-Mail

SmartTools Outlook Weekly bietet jede Woche Tipps, aktuelle Infos und Download-Links für Outlook 2003, 2002/XP, 2000, 98 und 97.

  • Professionelle Tipps zum effektiveren Arbeiten
  • Undokumentierte Parameter
  • Fertige VBA-Prozeduren für neue Funktionen
  • Aktuelle Informationen über Sicherheitslücken, Bugs und Patches
  • Download-Links zu Outlook-Erweiterungen
  • Helpline für Ihre Fragen zu Outlook
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 © 2005 SmartTools Publishing Thomas Tai
Luisenstrasse 52, 49565 Bramsche
Telefon: 05461/91052, Fax: 05461/2609
E-Mail: access-weekly@smarttools.de
Internet: http://www.smarttools.de/