Von: access-weekly-text-request@cgn.smarttools.de im Auftrag von SmartTools Publishing [access-weekly-text-reply@smarttools.de] Gesendet: Freitag, 4. Februar 2005 03:37 An: Access Weekly Abonnenten Betreff: SmartTools Access Weekly vom 4.2.2005 ----------------------------------------------------------- SmartTools Access Weekly vom 4.2.2005 Jede Woche neu: Tipps, News und Problemloesungen rund um Microsoft Access (c) 2005 by SmartTools Publishing ----------------------------------------------------------- +++ IN DIESER AUSGABE +++ ACCESS-NEWS & DOWNLOADS + SPOTLIGHT: Laufende Nummern fuer Rechungen, Angebote usw. komfortabel in Word und Excel einfuegen + DOWNLOAD-TIPP: Komfortable Textbausteinverwaltung fuer Ihre Formulare + TECHINFO: VBA-Referenzen und Objektmodell-Details fuer Entwickler ACCESS-TIPP DER WOCHE + So archivieren Sie Daten mit Hilfe einer Abfrage, Teil 2 ACCESS-HELPLINE + Listeneintraege ueber "A-Z"-Schaltflaechen anspringen + ODBC-Datenquelle mit Word-Seriendruck nutzen + Staedtenamen in Adressverwaltung per Kombinationsfeld NEWSLETTER-TIPP + Abonnementverwaltung und Copyright +++ ACCESS-NEWS & DOWNLOADS +++ SPOTLIGHT: Laufende Nummern fuer Rechungen, Angebote usw. komfortabel in Word und Excel einfuegen --------------------------------------------------------- Sie schreiben Rechnungen, Lieferscheine, Angebote und aehnliche Dokumente mit Word oder Excel? Bei Rechnungen kommen Sie seit dem 1.7.2004 um eine laufende Rechnungsnummer nicht mehr herum, denn sie ist ab diesem Zeitpunkt zwingend vorgeschrieben. Mit dem SmartTools Rechnungsnummern-Assistenten koennen Sie Ihre Rechnungen wie bisher einfach, schnell und komfortabel mit Word oder Excel schreiben. Die laufende Nummer rufen Sie jederzeit mit zwei Mausklicks ab und fuegen Sie ganz einfach an der aktuellen Cursorposition ein: + Es sind keinerlei Aenderungen oder spezielle Anpassungen in Ihren vorhandenen Formularen notwendig. + Der Assistent merkt sich automatisch die letzte vergebene Nummer und fuegt die naechste Nummer automatisch an jede gewuenschte Position in Ihrem Word-Dokument oder Ihrer Excel-Tabelle ein. + Das Format der Rechnungsnummern koennen Sie frei bestimmen. + Sie haben jederzeit die volle Kontrolle ueber die Nummern, denn Sie bestimmen sowohl den Startwert, als auch die Schrittweite und koennen mit einem Mausklick die letzte Nummer loeschen. + Sie koennen den Assistenten nicht nur fuer Rechnungsnummern nutzen: Mit wenig Aufwand legen Sie bis zu 50 weitere Nummernkreise fuer Lieferscheine, Angebote, Gutschriften, Zertifikate usw. an + Eine Netzwerkversion ermoeglicht die Vergabe eindeutiger Nummern bei mehreren Anwendern. Der SmartTools Rechnungsnummern-Assistent kann zur Zeit mit 25% Rabatt auf den Listenpreis bestellt werden: SmartTools Rechnungsnummern-Assistent fuer Word http://www.add-in-world.com/katalog/word-rgnummer/ SmartTools Rechnungsnummern-Assistent fuer Excel http://www.add-in-world.com/katalog/xl-rgnummer/ DOWNLOAD-TIPP: Komfortable Textbausteinverwaltung fuer Ihre Formulare ------------------------------------------------- Wenn Sie bei der Datenerfassung in Access bestimmte Textpassagen immer wieder eingeben, bleibt Ihnen standardmaessig nur die AutoKorrektur-Funktion, um ein kleines Textbaustein-System aufbauen. Die Verwaltung ist allerdings wenig komfortabel und zudem auf einige Hundert Zeichen beschraenkt. Mit der kostenlosen Access-Erweiterung SmartTools Textbausteine fuer Memofelder koennen Sie beliebig viele Abkuerzungen und dazugehoerige Textbausteine mit bis zu 32.000 Zeichen pro Textbaustein komfortabel verwalten. Die Anbindung in Ihren Formularen erfolgt mit wenig Aufwand ueber eine kleine Ereignisprozedur. Anschliessend koennen Sie in Memofeldern zum Beispiel Abkuerzungen wie "rg" und danach ein Leerzeichen, ein Satzendezeichen (Punkt, Fragezeichen etc.) oder einfach Return eingeben. Die Abkuerzung wird daraufhin automatisch durch den zugehoerigen Textbaustein, also beispielsweise eine detaillierte Produktinformation, ersetzt. Alle Formulare und Module sind ungeschuetzt, so dass Sie die Loesung bei Bedarf problemlos an Ihre eigenen Anforderungen anpassen koennen: http://www.add-in-world.com/katalog/actxtbausteine/ TECHINFO: VBA-Referenzen und Objektmodell-Details fuer Entwickler ------------------------------------------------- Speziell fuer VBA-Entwickler hat Microsoft eine Website mit umfangreichem Informationsmaterial online gestellt. Getrennt nach Office-Anwendungen koennen Sie VBA-Referenzen und detaillierte Informationen zu den Objektmodellen der einzelnen Applikationen abrufen. Waehrend die Informationen zu Office 2003-Anwendungen sowohl online als auch zum Download bereitstehen, koennen die Informationen zu Office 2000 und XP nur online abgerufen werden. Sie finden die Uebersicht mit den Links zu Informationen und Downloads unter der folgenden Adresse: http://msdn.microsoft.com/office/downloads/vba/default.aspx +++ ACCESS-TIPP DER WOCHE +++ So archivieren Sie Daten mit Hilfe einer Abfrage, Teil 2 -------------------------------------------------------- Versionen: Access 97, 2000, 2002/XP und 2003 Nachdem wir im ersten Teil dieses Tipps der Woche gezeigt haben, wie Datensaetze mit Hilfe einer Anfuegeabfrage in eine analog zur Quell-Tabelle aufgebaute Archivierungs- Tabelle uebertragen werden, bauen wir nun eine Abfrage auf, die das Loeschen der archivierten Datensaetze aus der Quell- Tabelle uebernimmt: 1. Erstellen Sie eine Abfrage, der die Tabelle mit den zu archivierenden Datensaetzen, also beispielsweise "Bestellungen", zugrunde liegt und definieren Sie diese Abfrage ueber das Menue ABFRAGE-LOESCHABFRAGE als Loeschabfrage. 2. Ueber das Menue ABFRAGE-PARAMETER richten Sie die Abfrage wieder so ein, dass beim Ausfuehren gefragt wird, fuer welches Jahr die Archivierung erfolgen soll. Geben Sie dazu als Parametername "Fuer Jahr" ein und stellen Sie den Datentyp auf "Integer" ein. 3. Nehmen Sie nun alle Felder der Tabelle fuer das Loeschen auf, indem Sie auf das Sternchen in der Feldliste doppelklicken. In der ersten Spalte der Abfrage- Definition sehen Sie nun den Eintrag "Bestellungen.*". 4. In der Spalte dahinter nehmen Sie die folgenden Eingaben vor: Feld: J: Jahr([Bestelldatum]) Loeschen: Bedingung Kriterien: [Fuer Jahr] "Bestelldatum" ersetzen Sie dabei durch das Feld mit dem Datum, das bei Ihrer Tabelle als Kriterium abgefragt werden soll. 5. Schliessen Sie die Abfrage und sichern Sie sie beispielsweise unter "Bestellungen loeschen". Starten Sie diese Abfrage nun fuer einen ersten Test. Access erfragt wieder das Jahr, fuer das die Archivierung erfolgen soll und loescht dann die betreffenden Datensaetze nach einer Sicherheitsabfrage aus der Quell-Tabelle. Mit Hilfe diesen Abfragen sind Sie nun in der Lage, Datenbestaende schnell und komfortabel zu bereinigen. Um dem Vorgang noch wenig komfortabler zu machen, erstellen Sie zum Abschluss ein kleines Makro, das die beiden Abfragen nacheinander aufruft. So koennen Sie die Archivierung mit einem Doppelklick starten, anstatt beide Abfragen separat oeffnen zu muessen: 1. Legen Sie ein neues Makro an und stellen Sie dort zweimal die Aktion "OeffnenAbfrage" ein. 2. Fuer die erste Aktion "OeffnenAbfrage" ordnen Sie die Abfrage "Bestellungen archivieren" bzw. die Abfrage zu, die die Datensaetze in die Archivierungs-Tabelle uebertraegt. 3. Fuer die zweite Aktion "OeffnenAbfrage" ordnen Sie die Abfrage "Bestellungen loeschen" bzw. die Abfrage zu, die die archivierten Datensaetze loescht. 4. Schliessen Sie den Makroentwurf und sichern Sie das Makro unter "Bestellungen archivieren". Wenn Sie nun das Makro mit einem Doppelklick starten, werden beide Abfragen hintereinander ausgefuehrt, die Archivierung und das Entfernen der ausgelagerten Datensaetze laesst sich somit in einem einzigen Arbeitsschritt erledigen. Wenn Sie die Sicherheitsabfragen von Access ausschalten moechten, fuegen Sie im Makro als erste Anweisung eine Aktion "Warnmeldungen" hinzu, deren Parameter "Warnmeldungen An" Sie auf "Nein" stellen. Beide Abfragen werden dann ohne weitere Rueckfragen direkt ausgefuehrt. +++++++++++++++ ANZEIGE +++++++++++++++++ Formatierte Memofelder fuer Ihre Datenbanken -------------------------------------------- Mit Total Access Memo koennen Sie endlich formatierten Text in Ihren Datenbanken anzeigen, bearbeiten und ausdrucken: + Sie erhalten ein neues Steuerelement, das Sie mit zwei Mausklicks in Formulare und Berichte einfuegen koennen + Ihre Memofelder werden zu einer kleinen Textverarbeitung mit allen wichtigen Format-Funktionen. Sie koennen sogar eingebettete Objekte und Grafiken verwenden. + Sie koennen das neue Steuerelement beliebig oft mit beliebig vielen Datenbanken an andere Anwender weitergeben Weitere Informationen finden Sie unter: Total Access Memo fuer Access 2000, 2002/XP und 2003: http://www.add-in-world.com/katalog/tamemo2003/ Total Access Memo fuer Access 97: http://www.add-in-world.com/katalog/tamemo2000/ +++++++++++++++++++++++++++++++++++++++++ +++ 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: mailto:access-helpline@smarttools.de Unser Redaktionsteam waehlt in jeder Ausgabe eine oder mehrere Fragen aus und beantwortet Sie an dieser Stelle im Newsletter. Listeneintraege ueber "A-Z"-Schaltflaechen anspringen ----------------------------------------------------- Versionen: Access 97, 2000, 2002/XP und 2003 FRAGE: In einer Datenbank verwalten wir Notizen. Zu jeder Notiz wird ein Stichwort erfasst. Ein Listenfeld zeigt alle Stichworte an, per Doppelklick auf einen Eintrag wird die dazugehoerige Notiz in einem Memofeld angezeigt. Wir moechten nun mit einem "A-Z"-Register auf die erste Notiz positionieren, deren Stichwort mit einem bestimmten Buchstaben beginnt. Gleichzeitig soll dieses Stichwort in der Liste markiert werden. Wie geht man dazu am besten vor? U. Rottmann ANTWORT: Legen Sie zunaechst im Formular die notwendigen Schaltflaechen fuer das "A-Z"-Register an, setzen Sie die Bezeichnung auf "A", "B", "C" usw., waehlen Sie als Schriftart "Tahoma", als Schriftgroesse "8 Punkt" und stellen Sie die Eigenschaft "Beim Klicken" auf den Ausdruck "=RegSuch()" ein. Als praktikable Groesse fuer die Schaltflaechen hat sich eine Breite und Hoehe von 0,5 cm erwiesen. Geben Sie dann im allgemeinen Teil des Formulars die folgende Funktion ein: Function RegSuch() Dim strRegLetter, frm As Form Set frm = Me strRegLetter = Me.ActiveControl.Caption & "*" frm.Stichwort.SetFocus DoCmd.FindRecord strRegLetter, _ acStart, False, _ acDown, , _ acCurrent, True If Left$(frm.Stichwort, 1) <> _ Left$(strRegLetter, 1) Then Beep MsgBox "Kein Stichwort gefunden, das mit '" + _ Left$(strRegLetter, 1) + "' beginnt!", _ vbInformation, "Register:" End If End Function Den Feldnamen "Stichwort" ersetzen Sie dabei durch den Namen des Feldes, das in Ihrem Formular das Stichwort speichert. Stellen Sie die Eigenschaft "Beim Anzeigen" des Formulars auf "[Ereignisprozedur]" ein, klicken Sie auf die Schaltflaeche mit den drei Punkten und geben Sie die folgenden Anweisungen ein: Private Sub Form_Current() Dim strX As String On Error Resume Next Stichwort.SetFocus strX = Stichwort.Text Liste.Value = strX End Sub "Stichwort" ersetzen Sie wieder durch den Namen des Feldes, das in Ihrem Formular das Stichwort speichert, "Liste" ist das Listenfeld, in dem die Eintraege mit den Stichworten angezeigt werden. Speichern Sie dann die Aenderungen und lassen Sie das Formular testweise anzeigen. Wenn Sie auf eine der "A-Z"- Schaltflaechen klicken, wird die Funktion "RegSuch()" aufgerufen. Diese Funktion ermittelt ueber "ActiveControl" die angeklickte Schaltflaeche und deren Eigenschaft "Caption" den angeklickten Buchstaben, ergaenzt diesen um das Wildcard "Sternchen", setzt den Fokus auf das Feld mit dem Stichwort und sucht darin nach einem Stichwort, das mit dem angeklickten Buchstaben beginnt. Wenn kein passendes Stichwort gefunden wurde, wird ein Hinweis angezeigt. Andernfalls erfolgt die Synchronisation mit dem Listenfeld durch Zuweisung des aktuellen Stichwortes beim Anzeigen des gefundenen Datensatzes in Form_Current. ++++++++++++++++ ANZEIGE ++++++++++++++++ Die komfortable Urlaubs-Datenbank fuer Access --------------------------------------------- Mit dieser Datenbank haben Sie die Fehlzeiten in Ihrer Firma oder Abteilung optimal im Griff: Urlaub, Krankheit, Sonderurlaub und sonstige Abwesenheiten lassen sich fuer jeden Mitarbeiter komfortabel mit wenigen Mausklicks erfassen. Wenn Sie mit dem einen oder anderen Detail nicht zufrieden sind, aendern Sie es einfach ab, denn Sie erhalten die Datenbank ungeschuetzt mit dem kompletten Sourcecode. Ab sofort steht Ihnen die brandneue Version 2.11 der Urlaubsdatenbank zur Verfuegung. Zu den wichtigsten Neuerungen zaehlen: + Voll netzwerkfaehig durch Front- und Backend-Loesung. Im Mehrplatzbetrieb fallen keine weiteren Kosten an! + Unterstuetzung von halben Abwesenheitstagen + Balken- und Mitarbeiterzahl auf 25 pro Abteilung erweitert + Erweiterte Druckfunktionen fuer uebersichtliche Berichte + Ausfuehrliches deutsches Handbuch Die Urlaubs-Datenbank fuer Access 97, 2000, 2002/XP und 2003 hat sich bereits hundertfach in der Praxis bewaehrt und ist nach der voll automatischen Installation sofort einsatzbereit: http://www.add-in-world.com/katalog/urlaubsdatenbank/ +++++++++++++++++++++++++++++++++++++++++ ODBC-Datenquelle mit Word-Seriendruck nutzen -------------------------------------------- Versionen: Access/Word 97, 2000, 2002/XP und 2003 FRAGE: Mich beschaeftigt ein recht merkwuerdiges Problem, das nicht Access direkt, sondern ODBC betrifft. Ich habe in einem Word-Seriendruck eine Datenquelle per ODBC eingebunden. Bei der Datenquelle handelt es sich um eine Tabelle in einer MySQL-Datenbank. Die Tabelle umfasst einige Hundert Datensaetze. Der Word-Seriendruck ist jedoch der Ansicht, dass diese Datenquelle nur einen einzigen Datensatz umfasst. Das gleiche Problem zeigt sich, wenn ich eine Tabelle von einem SQL Server 2000 per ODBC als Datenquelle einbinde. Muessen hier bei der ODBC-Datenquelle spezielle Einstellungen vorgenommen werden? L. Maurer ANTWORT: Nein, das Problem hat seine Ursache in Word, das bei ODBC-Datenquellen manchmal nicht die korrekte Anzahl von Datensaetzen ermitteln kann. Sie koennen das Problem umgehen, indem Sie die MySQL-Tabelle ueber DATEI-EXTERNE DATEN-TABELLEN VERKNUEPFEN in eine Access-Datenbank einbinden und diese Datenbank beziehungsweise die eingebundene Tabelle als Datenquelle im Word-Seriendruck auswaehlen. Staedtenamen in Adressverwaltung per Kombinationsfeld anzeigen ----------------------------------------------------- Versionen: Access 97, 2000, 2002/XP und 2003 FRAGE: Um die Erfassung von Adressen zu vereinfachen, moechten wir in unserer Datenbank in der Adressmaske ein Kombinationsfeld einsetzen, das alle bereits erfassten Staedtenamen zur Auswahl auflistet. Dazu haben wir eine Abfrage erstellt und diese Abfrage dem Kombinationsfeld ueber die Eigenschaft "Datensatzherkunft" zugeordnet. Das Kombinationsfeld zeigt jedoch viele leere Eintraege und doppelte Staedtenamen an. Wie koennen wir dieses Problem beseitigen? E. Potratz ANTWORT: Oeffnen Sie zunaechst die Abfrage im Entwurfsmodus und waehlen Sie das Menue ANSICHT-FUNKTIONEN an. Stellen Sie dann fuer das selektierte Feld (Ort, Stadtname oder aehnlich) als Funktion "Gruppierung" ein. Diese Einstellung sorgt dafuer, dass ein Staedtename immer nur einmal angezeigt und somit doppelte Namen unterbunden werden. Die leeren Eintraege resultieren aus Adressen, fuer die keine Staedtenamen erfasst sind. Um diese Eintraege zu eliminieren, tragen Sie in der Zeile "Kriterium" die Bedingung "Ist Nicht Null" ein. Es werden dann nur die Adressen beruecksichtigt, bei denen ein Staedtename vorhanden ist. +++ NEWSLETTER-TIPP +++ Office XP und 2003-Tipps kostenlos per E-Mail --------------------------------------------- Der SmartTools Office XP Insider ist ein kostenloser E-Mail- Newsletter, der sich ausschliesslich mit den neuen Funktionen von Office XP und 2003 beschaeftigt: + Praktische Tipps zur Installation + Tipps und Workshops zum optimalen Einsatz der neuen Funktionen + Wichtige Infos und Tipps fuer den Umstieg von anderen Office-Versionen + Download-Links zu aktuellen Erweiterungen und Service Releases fuer Office XP/2003 + Helpline fuer Ihre individuellen Fragen zu Office XP und 2003 Bestellen Sie jetzt Ihr kostenloses Abo: http://www.smarttools.de/newsletter/office-xp-insider.newsletter.php +++ ABONNEMENTVERWALTUNG +++ Um SmartTools Access Weekly abzubestellen, senden Sie das Kommando "unsubscribe" im Bodytext (nicht im Betreff!) einer E-Mail an die folgende Adresse: mailto:access-weekly-text-request@smarttools.de Bitte beachten Sie, dass die unsubscribe-Mail nicht im HTML-Format geschrieben sein darf! Stellen Sie Ihren E-Mail- Client gegebenenfalls auf das Format "Nur Text" um.Weitere Informationen zur Verwaltung der Liste erhalten Sie mit dem Kommando "help" an dieselbe Adresse. ------------------------------------------------------ (c)2005 by SmartTools Publishing Thomas Tai Luisenstrasse 52, 49565 Bramsche Telefon: 05461/9952-0, Fax: 05461/2609 E-Mail: mailto: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.854 / Virus Database: 582 - Release Date: 03.02.2005