Access-News & Downloads
Access-Helpline
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:
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:
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.
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:
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:
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
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:
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.
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:
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.
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:
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.
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.
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.
|