Von: access-weekly-html-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Donnerstag, 24. März 2005 04:41
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 24.3.2005

Ausgabe vom 24. März 2005

 In dieser Ausgabe

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

Spotlight: Total Access Memo 2003 für formatierte Memofelder in Ihren Formularen und Berichten

Total Access Memo ist eine leistungsfähige Access-Erweiterung, mit der Sie formatierten Text in Ihren Datenbanken anzeigen, bearbeiten und ausdrucken können. Die neue Version Total Access Memo 2003 unterstützt sowohl Access 2000 als auch 2002/XP und 2003! Nach der Installation genügen wenige Mausklicks, um das neue Steuerelement in ein Formular einzufügen und an ein Memofeld zu binden. Vorhandene Inhalte bleiben komplett erhalten und können danach in einem leistungsfähigen Editor beliebig formatiert werden.

Für den Ausdruck der Daten fügen Sie das Memo-Steuerelement einfach in Ihre Berichte ein oder exportieren den Inhalt ohne Verluste nach Word. Die aktuelle Version 2003 bietet jetzt eine neue Funktion zur komfortablen Kontrolle der Steuerelementgröße auf Berichten. Außerdem können Sie in dem integrierten Editor die deutsche Rechtschreibprüfung von Office nutzen.

Weitere Informationen zu Total Access Memo 2003 für Access 2000, 2002/XP und 2003 finden Sie unter:

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

Total Access Memo gibt es auch in einer speziellen Version für Access 97:

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

Download-Tipp: Formulare automatisch ausrichten

In Ihren Datenbanken möchten Sie Formulare immer wieder automatisch nach dem Öffnen an festen Positionen (oben rechts, unten rechts, zentriert usw.) ausrichten. Standardmäßig stellt Access keine entsprechenden Funktionen bereit, aber unsere VBA- Bibliothek hilft weiter: Wir stellen Ihnen hier eine universell einsetzbare Prozedur "FensterAusrichten" zur Verfügung, über die Sie Ihre Formulare künftig mit einem einzigen Befehl beliebig positionieren können:

 Formulare automatisch ausrichten

Techinfo: ODBC-Datenquellen effektiver nutzen

Über ODBC (Open Database Connectivity) können Sie aus Office-Anwendungen heraus auf fast beliebige Datenformate zugreifen. Voraussetzung dafür ist die Einrichtung einer entsprechenden ODBC-Datenquelle über das Kontrollfeld "ODBC-Datenquellen" in der Systemsteuerung. Allerdings ist diese Einrichtung recht komplex und setzt die Kenntnis einiger Fachbegriffe wie "Benutzer-DSN", "System-DSN" und "Datei-DSN" voraus. Unter der folgenden Adresse finden Sie ein White Paper, das etwas Klarheit bringt:

ODBC-Datenquellen effektiver nutzen

Nach einer Einführung in die Grundlagen werden zunächst die Unterschiede der DSN-Mechanismen erläutert und deren Verankerung in der Registry gezeigt. Im Anschluss erklären die Experten, wie Sie mit Hilfe eines einfachen Editors eine beliebige Datei als Datenquelle einrichten können, ohne die komplexen Registerkarten des ODBC-Kontrollfeldes füllen zu müssen. Anhand einer kleinen VBA-Routine wird dann demonstriert, wie Sie die betreffenden Daten aus der Datenquelle einlesen. Mit wenigen Modifikationen können Sie diese Routine nutzen, um Daten per ODBC und VBA in Access einzulesen.

 Access-Tipp der Woche

Benutzerdefinierte Eigenschaften von Formularen nutzen, Teil 1
Versionen: Access 97, 2000, 2002/XP und 2003

Datenbank-Anwendungen arbeiten häufig mit mehreren, gleichzeitig geöffneten Formularen. Dabei ist manchmal eine Kommunikation zwischen den Formularen notwendig, um zum Beispiel Daten wie eine Adresse aus einem Formular auszulesen und in einem anderen Formular weiter zu verarbeiten oder um den Inhalt eines Formulars auf einen bestimmten Datensatz, beispielsweise zur Anzeige einer Adresse zur aktuellen Bestellung, zu positionieren. Zum Auslesen von Daten können Sie wie gewohnt die Felder direkt per "Forms!Formularname!Feldname" ansprechen, aber wesentlich einfacher und übersichtlicher ist die Nutzung so genannter "benutzerdefinierter Eigenschaften". Was sich genau dahinter verbirgt, wird am besten an einem kleinen Beispiel deutlich:

  1. Öffnen Sie das Formular "Kunden" der Beispieldatenbank "Nordwind" im Entwurfsmodus und wechseln Sie in die VBA- Entwicklungsumgebung.
  2. Geben Sie im allgemeinen Teil die folgende Deklaration ein:
Private m_KompletteAdresse As String

  • Geben Sie anschließend folgende Prozedur ein:
Public Property Get KompletteAdresse() As String

  KompletteAdresse = m_KompletteAdresse

End Property

  • Wechseln Sie zurück zum Formular.
  • Stellen Sie die Eigenschaft "Beim Anzeigen" des Formulars auf "[Ereignisprozedur]" ein und klicken Sie auf die Schaltfläche mit den drei Punkten, um den VBA-Editor zu öffnen.
  • Geben Sie folgende Anweisungen ein:
Private Sub Form_Current()

  m_KompletteAdresse = Me.Firma & vbCrLf & _
                       Me.Kontaktperson & vbCrLf & _
                       Me.Straße & vbCrLf & vbCrLf & _
                       Me.PLZ & " " & Me.Ort

End Sub

  • Speichern Sie die Änderungen und rufen Sie das Formular auf.
  • Wechseln Sie wieder in die VBA-Entwicklungsumgebung, lassen Sie per Strg+G den Direktbereich anzeigen und geben Sie folgende Anweisung ein:
? Print Forms("Kunden").KompletteAdresse

Daraufhin wird wie gewünscht die komplette Adresse ausgegeben. Mit diesen wenigen Modifikationen haben Sie das Formular also um eine benutzerdefinierte Eigenschaft "KompletteAdresse" erweitert, die Sie aus VBA-Routinen per

strAdresse = Forms("Kunden").KompletteAdresse

auslesen oder zum Beispiel per Formel

=Formulare("Kunden").[KompletteAdresse]

in ungebundenen Textfeldern abrufen können. Dazu wurde zunächst eine private Variable "m_KompletteAdresse" deklariert, der bei einem Datensatzwechsel über "Form_Current" die Inhalte der Adressfelder getrennt durch Zeilenumbrüche zugewiesen werden. Über eine "Property Get"-Prozedur ist eine Eigenschaft "KompletteAdresse" definiert. Die Anweisungen dieser Prozedur liefern den aktuellen Inhalt der Variablen "m_KompletteAdresse" und somit die Adresse des jeweils angezeigten Datensatzes als Ergebnis.

Neben "Property Get"-Prozeduren können Sie noch "Property Let"-Prozeduren definieren, die einen Wert entgegennehmen und verarbeiten. Wie Sie diese Technik nutzen können, um zum Beispiel die kompletten Kundendaten zur aktuell angezeigten Bestellung anzuzeigen, ist Inhalt des zweiten Teils dieses Tipps in der nächsten Ausgabe.

ANZEIGE 
Einzeladressen aus Access und Outlook komfortabel nach Word übernehmen

Vergessen Sie das lästige Nachschlagen von Adressen!

Erledigen Sie Ihre Korrespondenz in Zukunft schnell und komfortabel:

  • Direkte Übernahme von Einzeladressen aus Outlook, Exchange Server sowie beliebigen Access-Datenbanken
  • Komfortabler Abruf der Adressen per Mausklick direkt aus Word 2000, 2002/XP und 2003
  • Flexible Übernahme in beliebige Vorlagen für Briefe, Faxe, Rechnungen, Mahnungen, Lieferscheine usw.
  • Musterbrief-Verwaltung mit über 100 fertigen Briefen - beliebig erweiterbar um Ihre persönlichen Mustertexte
  • Nutzen Sie den Aktionspreis: Zurzeit erhalten Sie 25% Rabatt!
Ausführliche Informationen zum SmartTools Brief- und Fax-Manager 2003 finden Sie unter:

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


 Access-Helpline

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

Excel-Funktion 'GROSS2()' in Abfragen nutzen
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  Ich möchte für meine Datenbank die Funktion "GROSS2" von Excel nutzen. Sie funktioniert aber nicht in Abfragen. Gibt es eine Möglichkeit, diese Funktion als Modul oder ähnlich doch für Access nutzbar zu machen?
K. Onischke

 ANTWORT:  Wechseln Sie zunächst in die VBA-Entwicklungsumgebung und setzen Sie über Extras-Verweise eine Referenz auf "Microsoft Excel x.x Object Library". "x.x" ersetzen Sie durch "8.0" für Excel 97, "9.0" für Excel 2000, "10.0" für Excel 2002/XP und "11.0" für Excel 2003. Geben Sie dann in einem neuen oder vorhandenen Modul die folgende Funktion ein:

Function XlGross2(varData As Variant) As Variant
  Dim objExcel As Excel.Application
  Dim varErgebnis As Variant

  Set objExcel = CreateObject("Excel.Application")
  varErgebnis = objExcel.WorksheetFunction.Proper(varData)
  objExcel.Quit
  Set objExcel = Nothing
  XlGross2 = varErgebnis

End Function

Diese Funktion können Sie nun wie gewohnt in VBA-Routinen, in Formeln oder in Ausdrücken einsetzen. Die Funktion baut eine Verbindung zu Excel auf und ruft dort die Tabellenblatt-Funktion "Proper()" auf, dem VBA-Äquivalent zu "GROSS2". Wenn Sie als Parameter "varData" zum Beispiel "name1 NAME2 name3" übergeben, ist das Ergebnis "Name1 Name2 Name3".

Anzahl der Nachkommastellen in einem Ausdruck steuern
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  Ich habe eine Rezepturverwaltung in Access geschrieben mit Kalkulation und, Produktion nach Rezepturen. Nun gibt es chemische Prozesse in denen die Zutaten mit unterschiedlichen Nachkommastellen berechnet und auch ausgedruckt werden müssen. Dazu wollte ich im Rohstoffstamm ein Feld mit "Anzahl Stellen Nachkomma" anlegen in dem dann 0, 1, 2 oder 3 hinterlegt ist. Der Bericht der nun die Rezeptur ausdruckt, soll sich an den Feld "Nachkommenstellen" orientieren und dementsprechend die Anzahl der zu druckenden Nachkommastellen berücksichtigen. Können Sie uns dazu einen Tipp geben?
W. Rücker

 ANTWORT:  Öffnen Sie den Bericht im Entwurfsmodus und stellen Sie die Eigenschaft "Beim Formatieren" des Detailbereichs auf "[Ereignisprozedur]. Wechseln Sie per Klick auf die Schaltfläche mit den drei Punkten in den VBA-Editor und geben Sie folgende Anweisung ein:

Me.Textfeld.DecimalPlaces = Me.AnzahlStellenNachkomma

Für "Textfeld" legen Sie den Namen des Feldes fest, das das Ergebnis ausgibt und für "AnzahlStellenNachkomma" den Namen des Feldes, das die Anzahl der gewünschten Nachkommastellen liefert. Für "Textfeld" muss die Eigenschaft "Format" auf eines der Zahlenformate (Allgemein, Festkomma, Standard) und die Eigenschaft "Dezimalstellen" auf einen festen Wert wie "0", "1" oder "2" eingestellt sein! Bei jedem Datensatz wird dann der Inhalt des Feldes "AnzahlStellenNachkomma" der Eigenschaft "DecimalPlaces" des Textfeldes zugewiesen und so die Anzahl auszugebender Nachkommastellen individuell gesteuert.

ANZEIGE 
Mehr als 2.000 Seiten mit Tipps, Tricks, Makros, Vorlagen und Modellen für Excel zum Sonderpreis

Auf der Excel-Berater Archiv-CD-ROM ist die ultimative Informationsquelle für alle Excel-Anwender vom Einsteiger bis zum Profi bietet:

  • Jetzt über 2.000 Seiten mit Tipps, Praxisinformationen und Problemlösungen zu Excel im praktischen PDF-Format auf CD-ROM
  • Bonus: Der Excel-Berater Manager mit über 40 Excel-Erweiterungen wird direkt in Excel integriert und steht Ihnen per Mausklick zur Verfügung
  • Viele weitere Beispiele, Praxislösungen, Vorlagen, Kalkulationsmodelle und Makros mit nützlichen neuen Funktionen
  • Alle Themen im Volltext mit Abbildungen samt Beispieldateien
  • Durchsuchen Sie das Archiv komfortabel im Volltext oder nach einem Index
Sie finden auf der CD-ROM Hunderte von Tipps und Praxislösungen, die Sie für Ihre tägliche Arbeit mit Excel nutzen können!

Das große Excel-Berater-Komplettpaket gibt es exklusiv bei SmartTools Publishing zum Aktionspreis mit über 30% Rabatt:

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


DateTimePicker-Control weitergeben
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  Ich habe nach der Installation von Visual Basic .NET auch in Access die Möglichkeit, den DateTimePicker über die Toolbox in ein Formular einzubinden. Nun habe ich die Access-Datei auf einen anderen Rechner kopiert und musste feststellen, dass der DateTimePicker nicht mehr vorhanden war (nur die Einträge unter Eigenschaften). Gibt es eine Möglichkeit den DateTimePicker fest in die Access-Datei zu integrieren, so dass sie auf jedem beliebigen Rechner läuft, ohne jeweils VB .NET zu installieren?
H.G. Schütz

 ANTWORT:  Eine feste Integration externer Steuerelemente in eine Access-Datenbank ist generell nicht möglich. Sie können aber als Besitzer von Visual Basic .NET die ActiveX-Komponente (OCX-Datei), die unter anderem den DTPicker beinhaltet, mit Ihren Lösungen weitergeben. Schlagen Sie dazu in der Dokumentation nach, welche ActiveX-Komponente zuständig ist. Kopieren Sie diese Datei auf den Zielrechner ins Verzeichnis "Windows\System32". Öffnen Sie dann ein DOS-Fenster, wechseln Sie in das Verzeichnis "Windows\System32" und geben Sie "regsvr32 datei.ocx" ein ("datei" durch den Namen des OCX ersetzen). Damit wird die ActiveX- Komponente im System registriert, der DTPicker kann mit der betreffenden Datenbank eingesetzt werden, ohne dass das komplette Visual Basic .NET installiert sein muss. Darüber hinaus können Sie mit Visual Basic .NET komplette Setups erstellen, die Ihre Datenbank und notwendige ActiveX-Komponenten automatisch installieren und registrieren. Details verraten das Handbuch und die Online-Hilfe unter dem Stichwort "Setup".

 Newsletter-Tipp

Outlook-Tipps kostenlos per E-Mail

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

  • 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/

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.859 / Virus Database: 585 - Release Date: 14.02.2005