Von: access-weekly-html-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [access-weekly-html-reply@smarttools.de]
Gesendet: Freitag, 25. Februar 2005 00:24
An: Access Weekly Abonnenten
Betreff: SmartTools Access Weekly vom 25.2.2005

Ausgabe vom 25. Februar 2005

 In dieser Ausgabe

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

Spotlight: Neue Steuerelemente für Ihre Formulare in für Access 2000, 2002/XP und 2003

Die Total Access Components 2003 für Access 2000, 2002/XP und 2003 bieten 29 neue Steuerelemente, für Ihre Formulare und Berichte. Angefangen bei komfortablen Eingabehilfen, über grafische Statusanzeigen, Uhren, einen Taschenrechner, neue 3D- und Animationseffekte bis hin zu elektronischen Post-It's und Multimedia-Controls finden Sie alles, was Sie für noch leistungsfähigere und komfortablere Formulare bzw. Berichte brauchen.

Neu in der aktuellen Version 2003 ist außerdem ein "BrowseForFolder"-Steuerelement zur komfortablen Ordnerauswahl und ein "DateTimePicker" für die Datumsauswahl aus einem kleinen Popup-Kalender, wie Sie ihn beispielsweise aus Outlook kennen.

Das absolute Highlight der Total Access Components ist der so genannte "Resizer". Er löst für Sie sämtliche Probleme, die Sie bisher durch Systeme mit unterschiedlichen Bildschirmauflösungen hatten. Sie entwerfen nur noch ein einziges Formular und platzieren darauf den Resizer. In Zukunft vergrößert oder verkleinert der Resizer für Sie sämtliche Steuerelemente proportional zur aktuellen Bildschirmauflösung.

Aber auch dynamische Veränderungen sind möglich: der Anwender kann die Größe des Formulars auf jedes gewünschte Maß verändern und der Resizer verändert parallel dazu die Steuerelemente auf die passende Größe. Das alles geschieht blitzschnell und funktioniert sogar mit Unterformularen! Ausführliche Informationen finden Sie unter:

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

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 für Access

Techinfo: Online-Hilfe für Datenbanken effektiv planen und umsetzen

Leider gibt es, vor allem in komplexen Datenbank- Anwendungen, immer wieder Beispiele für Online- Hilfen, die ihrem eigentlichen Zweck nicht gerecht werden und den Anwender mit mehr Fragen zurücklassen, als er eigentlich beantwortet haben wollte. Michelle Corbin, technische Redakteurin und bei IBM unter anderem zuständig für Online-Hilfen, hat für das Magazin "WinWriters" einen kleinen Leitfaden erstellt, der jedem Datenbank-Entwickler bei der Planung und Umsetzung seiner Online-Hilfe eine großartige Unterstützung ist:

http://www.winwriters.com/articles/checklist/index.h tml

Die Autorin vermittelt zunächst einen Überblick, welchen Ansprüchen eine Online-Hilfe gerecht werden sollte. Anschließend führt sie in verschiedenen Bereichen detailliert auf, was beispielsweise zum Thema "Inhalt", "Navigation" oder "Formatierung" zu beachten ist und gibt wertvolle Tipps und Hinweise aus ihrer Praxis zur Umsetzung an den Leser weiter.

 Access-Tipp der Woche

Memofelder in separatem Fenster bearbeiten, Teil 3
Versionen: Access 97, 2000, 2002/XP und 2003

Im dritten und letzten Teil dieses Tipps der Woche möchten wir demonstrieren, wie der Inhalt eines Memofeldes in einem gebundenen Formular zur separaten Bearbeitung angezeigt wird.

Wie im ersten Teil kurz angerissen, basiert ein Formular für die separate Bearbeitung von Memofeldinhalten zunächst auf der gleichen Datenbasis, wie das Formular, das den jeweiligen Datensatz anzeigt. Durch das Öffnen des Formulars für die separate Bearbeitung mit einem entsprechenden Filterkriterium lässt sich dann recht einfach der Inhalt des Memofeldes präsentieren, ohne dass dafür eine Übertragung per VBA notwendig ist:

  1. Erstellen Sie ein neues, leeres Formular und weisen Sie diesem Formular zunächst über die Eigenschaft "Datenherkunft" die Tabelle oder Abfrage zu, die auch dem Basisformular zugrunde liegt.
  2. Stellen Sie die Eigenschaften "Datensatzmarkierer" und "Navigationsschaltflächen" auf "Nein".
  3. Legen Sie die Größe des Detailbereichs auf 12 cm Breite und 8 cm Höhe ein.
  4. Wählen Sie das Menü Ansicht-Formularkopf/- fuß an, um diese Bereiche einzublenden. Im Formularkopf platzieren Sie ein Bezeichnungsfeld mit einer passenden Überschrift wie "Produktbeschreibung" oder "Besuchsberichte".
  5. Ziehen Sie das Memofeld aus der Feldliste in den Detailbereich des Formulars, löschen Sie das Bezeichnungsfeld des Textfeldes und passen Sie die Größe dem Detailbereich an.
  6. Stellen Sie die Eigenschaften "Eingabetastenverhalten" auf "Neue Zeile im Feld" und "Bildlaufleisten" auf "Vertikal" ein.
  7. Legen Sie im Formularfuß eine Schaltfläche Schließen (Name= btnDone) an.
  8. Geben Sie für die Ereignisprozedur "Beim Klicken" die folgende Anweisung ein:
Private Sub btnDone_Click()

  DoCmd.Close acForm, Me.Name, acSavePrompt

End Sub

  • Speichern Sie das Formular zum Beispiel unter dem Namen "Memo bearbeiten/Gebunden" und verlassen Sie den Formularentwurf.
  • Öffnen Sie das Formular mit dem Memofeld, dessen Inhalte im separaten Fenster bearbeitet werden sollen, im Entwurfsmodus.
  • Für die Ereignisprozedur "Beim Doppelklicken" des Memofeldes geben Sie folgende Anweisungen ein:
Private Sub Produktbeschreibung_DblClick(Cancel _
                                         As Intege  Dim strFilter As String

  strFilter = "[Artikel-Nr]= " & Me.[Artikel-Nr]

  DoCmd.OpenForm "Memo bearbeiten/Gebunden", , , _
                 strFilter, , acDialog
  Me.Produktbeschreibung.Requery

End Sub

"Artikel-Nr" ersetzen Sie dabei durch den Namen des Feldes mit dem Primärschlüssel und "Produktbeschreibung" durch den Namen des gewünschten Memofeldes. Wenn das Primärschlüsselfeld vom Datentyp "Text" ist, muss das Kriterium in einfachen Hochkommas angegeben werden:

strFilter = "[KundenCode]= '" & Me.[KundenCode] & "'"

Alternativ dazu können Sie diese Anweisungen auch für die Ereignisprozedur "Beim Klicken" einer neben dem Memofeld platzierten Schaltfläche eingeben und die Bearbeitung im separaten Formular per Schaltfläche aufrufen.

  • Speichern Sie die Änderungen und testen Sie die Lösung.
Wenn Sie nun einen Doppelklick in das Memofeld ausführen, wird dessen Ereignisprozedur "DblClick" ausgeführt. Diese Ereignisprozedur setzt zunächst das Filterkriterium in der Variablen "strFilter" zusammen, öffnet dann das separate Formular per "DoCmd.OpenForm" und übergibt dabei das Kriterium für die Filterung. Beim Öffnen des separaten Formulars, das die gleiche Datenbasis verwendet, wird direkt auf den aktuell angezeigten Datensatz positioniert und so der Inhalt des Memofeldes dieses Datensatzes angezeigt. Wichtig ist hier beim Öffnen des separaten Formulars wieder der Parameter "acDialog", der dafür sorgt, dass die weitere Ausführung der Anweisungen erst dann erfolgt, wenn das Formular "Memo bearbeiten" geschlossen wird. Danach sorgt der Aufruf der Methode "Requery" dafür, dass der geänderte Inhalt auch im Basisformular angezeigt wird.

ANZEIGE 
Komfortable Adressübernahme aus Access und Outlook nach Word 2000, 2002/XP und 2003

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 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.

Maus in Formularen sperren
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  Ich habe ein Eingabeformular entworfen, in dem ich die Maus sperren möchte. Man soll also nicht in ein Feld klicken, sondern sich nur mit den Pfeiltasten, Return oder Tab von einem Feld zum anderen bewegen können, um Daten einzugeben. Für eine Lösung wäre ich dankbar.
H. Achatz

 ANTWORT:  Das Problem lässt sich nur lösen, indem Sie für jedes Feld, in das nicht mit der Maus gewechselt werden darf, zwei Ereignisprozeduren zuordnen. Stellen Sie dazu jeweils die Eigenschaften "Beim Klicken" und "Beim Doppelklicken" auf den Eintrag "[Ereignisprozedur]" ein und geben Sie die folgenden Anweisungen ein:

On Error Resume Next
Screen.PreviousControl.SetFocus

Diese Anweisungen sorgen dann dafür, dass bei einem Klick oder Doppelklick in das jeweilige Feld das zuvor aktivierte Feld wieder den Fokus erhält und somit ein Wechsel des Feldes per Maus unterbunden wird.

Listeninhalt auf- und absteigen sortieren
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  In der Rubrik Helpline haben Sie beschrieben, wie man Listenfelder nach unterschiedlichen Spalten sortieren kann. Nun wäre es noch interessant zu wissen, wie man die Sortierung steuern und wahlweise auf- und absteigend sortieren kann. Es ist zum Beispiel aufsteigend nach Firma sortiert. Bei nochmaligem Klick auf den Sortier-Button soll die Liste wieder nach der Firma, jedoch absteigend sortiert werden. Das gleiche bei Ort und so weiter. Das Problem, das bei mir aufgetauchte, war dass sich Access irgendwie merken muss, nach welcher Spalte im Moment sortiert ist und ob diese auf- oder absteigend sortiert ist.
K. Mikovic

 ANTWORT:  Die Selektion erfolgt bei dieser Lösung per SQL- Anweisung - diese kann man um einen Parameter "asc" oder "desc" erweitern und so die auf- beziehungsweise absteigende Sortierung steuern. Außerdem lässt sich dann prüfen, ob zum Beispiel "desc" in "RowSource" vorhanden ist oder nicht und nun per "asc" beziehungsweise "desc" die jeweils umgekehrte Sortierreihenfolge setzen:

Sub btnName_Click ()
  Dim strX As String

  strX= lstKunden.RowSource
  If Instr(strX, "desc") <> 0 Then
    lstKunden.RowSource = "select [Firma], [PLZ], " & _
      "[Ort] from Kunden order by Firma asc"
  Else
    lstKunden.RowSource = "select [Firma], [PLZ], " & _
      "[Ort] from Kunden order by Firma desc"
  End If

End Sub

ANZEIGE 
Reminder-Manager: Erinnerungen und Nachverfolgungen aus jedem beliebigen(!) Ordner anzeigen

Wenn Sie sich von Outlook an wichtige Termine und Aufgaben oder die Nachverfolgung von E-Mails und Kontakten erinnern lassen, funktioniert das leider nur dann, wenn sich die Elemente in einem der vorgegebenen Standardordner befinden.

Hier ist endlich die Lösung für dieses Problem: Der Reminder Manager...

...erinnert Sie an JEDEN Termin und JEDE Nachverfolgung, die sich in IRGENDEINEM ORDNER befindet, auf den Sie zugreifen können

...ermöglicht die Organisation Ihrer Mails, Aufgaben, Termine und Kontakte samt Erinnerungen in beliebige Unterordner

...kann auch an Termine aus anderen PST-Dateien erinnern, die Sie in Outlook geöffnet haben

...kann sogar Termine aus öffentlichen Ordnern vom Exchange Server berücksichtigen

...bietet ein übersichtliches und komfortables Dialogfeld zur Verwaltung aller fälligen Termine und Erinnerungen

...kann Erinnerungen voll automatisch per E-Mail an jede beliebige Adresse versenden. So können Sie sich beispielsweise auch per SMS erinnern lassen

Der Reminder Manager ist ab sofort zu einem Einführungspreis mit 25% Rabatt verfügbar. Weitere Informationen finden Sie unter:

http://www.add-in-world.com/katalog/ol-reminder/


Anzahl der Datensätze des Berichtes ausgeben
Versionen: Access 97, 2000, 2002/XP und 2003

 FRAGE:  Ich suche nach einer Möglichkeit, die Gesamtanzahl der aufgelisteten Datensätze in einem Bericht auf jeder Seite des Berichtes in der Fußzeile anzeigen zu lassen. Können Sie mir da weiterhelfen?
J. Rühs

 ANTWORT:  Geben Sie im allgemeinen Teil des Berichtes zunächst folgende Funktion ein:

Function NumRecs()
  Dim db As DAO.Database, rs As DAO.Recordset
  Dim strRS As String

  strRS = Me.RecordSource
  Set db = CurrentDb()
  Set rs = db.OpenRecordset(strRS, dbOpenSnapshot)
  NumRecs = rs.RecordCount
  rs.Close
  Set rs = Nothing

End Function

Legen Sie dann im Seitenfuß ein ungebundenes Textfeld an und setzen Sie dessen Eigenschaft "Steuerelementeinhalt" auf die Formel "=NumRecs()". Die Funktion initialisiert mit der Datenbasis des Berichtes einen Recordset und kann so über dessen Eigenschaft "RecordCount" die Anzahl der Datensätze als Ergebnis liefern. Ab Access 2000 ist gegebenenfalls über Extras-Verweise eine Referenz auf "Microsoft DAO 3.x Object Library" zu setzen.

 Newsletter-Tipp

Excel-Tipps kostenlos per E-Mail

SmartTools Excel Weekly ist ein kostenloser E-Mail-Newsletter, der Ihnen jede Woche interessante Tipps rund um Excel 97, 2000, 2002/XP und 2003 liefert:

  • Neue Rechenfunktionen für Ihre Tabellen
  • Nützliche VBA-Prozeduren
  • Undokumentierte Parameter und Funktionen
  • Infos zu Bugs und Patches
  • Wichtige Download-Links
  • Helpline für Ihre Fragen zu Excel
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