Access-News & Downloads
Access-Helpline
Spotlight: Über 350 MB offene Datenbanken und mehr als 3.000 Seiten Access-Tipps auf 3 CD-ROM's Mit dem großen Access-Berater-Gesamtarchiv können Sie die drei erfolgreichsten Archiv-CD-ROM's jetzt zu einem besonders günstigen Sonderpreis mit 30% Rabatt erwerben. Sie erhalten:
http://www.add-in-world.com/katalog/acb-komplettpaket/ Download-Tipp: Das komfortable A-Z-Register für Ihre Access-Formulare So können finden Sie sich in Ihren Access-Formularen künftig noch schneller zurecht: Das "SmartTools A-Z Register" wird als Add-In in Access installiert und kann jederzeit mit zwei Mausklicks eingeblendet werden. Sie wählen dann ein beliebiges Feld des Formulars aus einer Dropdown-Liste aus und in Zukunft genügt der Mausklick auf einen Buchstaben, um den ersten Datensatz anzuwählen, dessen Feldinhalt mit diesem Buchstaben beginnt. Auf diese Weise bewegen Sie sich schnell und komfortabel auch durch umfangreiche Datenbestände. SmartTools Publishing stellt Ihnen diese Access-Erweiterung kostenlos zur Verfügung: Nach der automatischen Installation finden Sie unter Extras-Add-Ins einen neuen Menüpunkt, über den Sie das Register jederzeit aufrufen können:
Sonderaktion: Kalender- und Zeitplanungsvorlagen + CD 'Personalplanung und Dienstpläne' als kostenlose Zugabe! Mit dem Digitalen Zeitplaner können Sie Excel schnell und komfortabel für Zeit- und Projektplanungen aller Art einsetzen. Die Vorlagen sind komplett ungeschützt: Kopieren Sie die Vorlagen also beliebig oft, um Ihre individuellen Planungskalender für Projekte, Veranstaltungen usw. zu erstellen. In unserer Sonderaktion bis zum 31.1.2006 erhalten Sie zurzeit 2 CD-ROM's zum Preis von einer: Sie erhalten nicht nur den Zeitplaner 2006, sondern zusätzlich die CD-ROM "Personalplanung und Dienstpläne" als kostenlose Zugabe! Weitere Informationen finden Sie unter: http://www.add-in-world.com/katalog/zeitplaner/ News: Neuer E-Mail-Wurm löscht Access-Datenbanken und andere Office-Dateien Das Bundesamt für Sicherheit in der Informationstechnik (BSI) warnt vor einem neuen Wurm, der sich in den letzten Tagen massenhaft per E-Mail verbreitet: Informationen zum neuen E-Mail-Wurm Er wird zurzeit noch mit unterschiedlichen Namen wie W32.Blackmal.E@mm oder Nyxem-D bezeichnet, aber gemeint ist immer derselbe "Schädling". Der Wurm vertraut darauf, dass Anwender den Anhang einer bereits sehr zweifelhaften Mail startet und damit den Wurm aktiviert. Er infiziert daraufhin den entsprechenden Rechner, schaltet eventuell vorhandene Antivirenprogramme aus und verbreitet sich anschließend an jede E-Mail-Adresse, die er auf dem System finden kann. Am 3. jedes Monats aktiviert sich dann eine Schadensroutine, die Access-Datenbanken, Excel-Arbeitsmappen, Word-Dokumente und viele andere Daten-Dateien auf dem Rechner einfach überschreibt und damit unbrauchbar macht. Ein weiterer wichtiger Grund also, möglichst schnell ein Antiviren-Programm einzusetzen. Dazu müssen Sie noch nicht einmal umfangreiche Schutzpakete mit teuren Abogebühren erwerben: ClamWin Free Antivirus ist ein kostenloser Virenscanner für Windows, der sich voll automatisch installiert und mehrmals pro Woche die neuesten Virendefinitionen abruft: http://www.clamwin.net ClamWin Free Antivirus gibt es derzeit nur in Englisch, aber das Programm lässt sich ohne Probleme auch auf einem deutschsprachigen System einsetzen. Außerdem haben wir unter der folgenden Adresse eine deutsche Techinfo zum Download zur Verfügung gestellt, in der Installation und Konfiguration des nützlichen Programms Schritt für Schritt beschrieben werden:
Sollten Sie den Verdacht haben, dass der beschriebene Wurm bereits Ihren Rechner infiziert hat, weil Sie beispielsweise einen Mailanhang geöffnet haben, bietet Symantec ein kostenloses Tool an, um Ihr System wieder zu säubern: Entfernungstool von Symantec News: Wahl zum Tipp & Tool des Jahres 2005 - Die Ergebnisse In den letzten Wochen hatten wir Sie gebeten, an der Wahl zum Tipp und Tool des Jahres 2005 teilzunehmen. Viele tausend Leser haben diese Möglichkeit genutzt und wir möchten uns bei den Teilnehmern der Umfrage für Ihre Mitarbeit bedanken. Beliebtester Tipp des letzten Jahres war das Thema "Tipps und Problemlösungen zu Datenbanken in Mehrbenutzerumgebungen". Aufgrund der großen Beliebtheit dieses zweiteiligen Tipps, haben wir ihn für Sie als ausführliche Techinfo mit Bildern aufbereitet und stellen sie unter der folgenden Adresse zum kostenlosen Download bereit:
Das beliebteste Tool des Jahres 2005 war der nützliche Doppelseiten-Druck für Ihre Berichte: SmartTools Doppelseiten-DruckWenn Sie umfangreiche Berichte ausgeben, bietet es sich an, beide Seiten eines Blattes zu benutzen. Unser Assistent ermöglicht das auch ohne Duplexdrucker indem Sie nacheinander zunächst die geraden und anschließend die ungeraden Seiten des gewünschten Berichts ausdrucken. SmartTools Doppelseiten-Druck Waren die News & Downloads hilfreich für Sie?
Verzeichnisse und Dateien per VBA auslesen und verarbeiten, Teil 1 Versionen: Access 2003, 2002/XP, 2000 und 97 In Ihren Datenbanken müssen Sie immer wieder eine Auswahl der Dateien eines Verzeichnisses anzeigen oder Datei-Informationen in Tabellen zu speichern. Unser zweiteiliger Tipp der Woche liefert Ihnen die dazu notwendigen Grundlagen und Funktionen. Basis einer Funktion für das Auslesen von Verzeichnissen ist die Funktion "Dir()": Sie wird zunächst mit dem Pfad des auszulesenden Verzeichnisses und einer Dateimaske, die die in Frage kommenden Dateien spezifiziert, aufgerufen: strFName = Dir("Z:\Test\*.mdb") Das Ergebnis ist entweder eine leere Zeichenkette (""), wenn keine passende Datei gefunden wurde oder der Dateiname der ersten, zur Dateimaske passenden Datei: ? Dir("Z:\Test\*.mdb") Adressen.mdb Nach diesem ersten, initialisierenden Aufruf wird "Dir()" in einer Schleife solange aufgerufen, bis die Rückmeldung eine leere Zeichenkette ("") ist. Das Ergebnis der einzelnen Aufrufe in der Schleife ist die jeweils nächste passende Datei. Mehr dazu gleich. In der Dateimaske können Sie zwei so genannte "Wildcards" verwenden und damit das Ergebnis auf bestimmte Dateigruppen einschränken. Das Zeichen "*" (Sternchen) steht dabei als Platzhalter für eine beliebige Zeichenfolge bzw. eine beliebige Anzahl von Zeichen. Das Zeichen "?" (Fragezeichen) steht als Platzhalter für ein einzelnes Zeichen. Die Dateimaske "*.mdb" bedeutet also "Egal, welcher Dateiname, die Erweiterung muss jedoch 'mdb' lauten" und liefert somit alle Access-Datenbanken. Analog dazu liefert eine Dateimaske "*.xls" alle Excel-Arbeitsmappen oder "*.doc" alle Word-Dokumente. Eine Dateimaske wie "Adr*.mdb" definiert alle Dateien, die mit den Zeichen "Adr" beginnen, was dann folgt, ist wieder egal, die Dateierweiterung muss jedoch 'mdb' lauten. Das Ergebnis ist dann beispielsweise "Adressen.mdb", "Adressverwaltung.mdb" oder "Adressen Kunden.mdb". Mit dem Wildcard "?" können Sie eine Dateigruppe spezifizieren, die vom Dateinamen oder der Erweiterung her gleich aufgebaut ist, innerhalb des Dateinamens oder der Erweiterung aber spezielle Merkmale aufweist, die von Interesse sind. So liefert beispielsweise die Dateimaske "Budget ??-2005.xls" alle Excel-Arbeitsmappen monatlich erstellter Budgetplanungen wie "Budget 01-2005.xls", "Budget 02-2005.xls", "Budget 03-2005.xls" usw., ignoriert aber Dateien wie "Budget Einkauf 2005.xls" oder "Budget Quartal II 2005.xls". Analog dazu definieren Sie zum Beispiel mit "Produktinfos*.do?" eine Dateigruppe, bei der alle Dateinamen mit "Produktinfos" beginnen und die ersten beiden Zeichen der Erweiterung "do" aufweisen. Das Ergebnis sind alle Word-Dokumente (.doc) und Word-Vorlagen (.dot) wie "Produktinfos DigiCam D850XL.doc" oder "Produktinfos Blanco.dot". Wie bereits erwähnt, erfolgt der Einsatz der "Dir()"-Funktion innerhalb einer Schleife wie in folgendem Beispiel: Sub DirTest() Dim strPath As String Dim strFName As String strPath = "Z:\Test\" strFName = Dir(strPath & "*.mdb") While strFName <> "" Debug.Print strFName, _ FileLen(strPath & strFName), _ FileDateTime(strPath & strFName) strFName = Dir() Wend Beep End Sub Über die Variable "strPath" legen wir hier zunächst das Verzeichnis fest, aus dem Dateiinfos ausgelesen werden sollen. Der erste Aufruf 'strFName = Dir(strPath & "*.mdb")' initialisiert "Dir()" und liefert als Ergebnis entweder eine leere Zeichenkette ("") oder den Namen der ersten gefundenen Datei. Die folgende While/Wend-Schleife wird also nur ausgeführt, wenn mindestens eine passende Datei gefunden wurde. Deren Namen sowie Infos zur Dateigröße und zu Datum/Zeit der letzten Änderung geben wir dann im Direktbereich aus. Der folgende Aufruf 'strFName = Dir()' liefert dann die nächste passende Datei - oder eine leere Zeichenkette, wenn keine weiteren passenden Dateien mehr vorhanden sind und terminiert somit die While-/Wend-Schleife. Ein abschließendes 'Beep' informiert akustisch darüber, dass die Routine ihre Aufgabe erledigt hat. Mit diesen Grundlagen gerüstet können Sie nun beispielsweise Dateiinfos aus einem bestimmten Verzeichnis in eine Access-Tabelle einlesen: Sub DirTest_2() Dim strPath As String Dim strFName As String Dim db As DAO.Database, rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("Dateiinfos", dbOpenDynaset) strPath = "Z:\Test\" strFName = Dir(strPath & "*.mdb") While strFName <> "" rs.AddNew rs("Dateiname") = strPath & strFName rs("Dateigröße") = FileLen(strPath & strFName) rs("DateiDatumZeit") = FileDateTime( _ strPath & strFName) rs.Update strFName = Dir() Wend rs.Close Set rs = Nothing Set db = Nothing Beep End Sub Dieses Beispiel initialisiert zunächst einen Recordset "rs" für den Zugriff auf die Tabelle "Dateiinfos". Diese Tabelle umfasst die folgenden Felder: Dateiname: Text, Länge = 250 Dateigröße: Zahl/Long Integer DateiDatumZeit: Datum/Zeit Anschließend werden in einer Schleife alle Dateien mit der Erweiterung 'mdb' ausgelesen. Mit "rs.AddNew" fügen wir der Tabelle einen neuen Datensatz hinzu, dessen Felder dann mit den Dateiinfos 'strPath & strFName' (Pfad und Dateiname), 'FileLen(strPath & strFName)' (Dateigröße) und 'FileDateTime(strPath & strFName)' (Datum/Zeit letzte Änderung) gefüllt werden. 'rs.Update' schreibt den Datensatz danach in die Tabelle. Sind alle Dateien ausgelesen, wird der Recordset wieder geschlossen - fertig! Die Dateiinfos befinden sich nun in der Tabelle. Wie Sie nun die Dateiinfos aus dieser Tabelle beispielsweise zur Auswahl in einer Liste anzeigen oder eine Auswahl ohne Zwischenspeicherung in einer Tabelle realisieren, ist Thema des zweiten Teils in der nächsten Ausgabe von Access Weekly. War dieser Tipp für Sie hilfreich? Klicken Sie bitte hier!
Haben Sie Fragen zu Access 2003, 2002/XP, 2000 und 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 eine oder mehrere Fragen aus und beantwortet Sie an dieser Stelle im Newsletter. Auswahlkriterium in Bericht ausgeben Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Wir nutzen in einen Formular ein Kombinationsfeld, dessen Auswahl die Inhalte in einem Unterformular steuert. Im Formular gibt es auch eine Schaltfläche, mit der ein Bericht mit den Datensätzen, die im Unterformular zu sehen sind, ausgedruckt wird. Wie kann ich in einen Textfeld des Berichts die Auswahl aus dem Kombinationsfeld ausgeben? A. Bartsch ANTWORT: Dazu verwenden Sie ein Textfeld, das Sie beispielsweise im Seitenfuß des Formulars anlegen. Das Bezeichnungsfeld dieses Textfeldes setzen Sie beispielsweise auf "Auswahlkriterium:" und der Eigenschaft "Steuerelementeinhalt" weisen Sie die folgende Formel zu: =[Formulare]![Formularname]![Kombinationsfeld] "Formularname" ersetzen Sie durch den Namen des betreffenden Formulars und "Kombinationsfeld" durch den Namen des Kombinationsfeldes, in dem Sie die Auswahl vornehmen. Diese Formel liest über die Auflistung "Formulare" aus dem per "![Formularname]" adressierten Formular den Inhalt des Feldes "![Kombinationsfeld]" aus und gibt das Ergebnis im Bericht im Textfeld aus. Wenn es sich bei dem Kombinationsfeld um ein mehrspaltiges Kombinationsfeld handelt, verwenden Sie eine Formel wie die folgende: =[Formulare]![Formularname]![Kombinationsfeld].[Column](x) Über "[Column](x)" adressieren Sie die Spalte des Kombinationsfeldes, wobei die Zählung für "x" bei "0" beginnt, das heißt, Spalte 1 entspricht "x = 0", Spalte 2 entspricht "x = 1", Spalte 3 entspricht "x = 2" usw. DWord-Werte verarbeiten Versionen: Access 2003, 2002/XP, 2000 und 97 FRAGE: Ich soll aus einer typisierten Datei, die von unserem Großrechner exportiert wird, Werte auslesen, die dem Datentyp "DWord" entsprechen, jedoch als zwei Felder "LoWord" und "HiWord" gespeichert sind. Wie kann ich diese beiden Werte zu einer Zahl vom Datentyp "Long" konvertieren? D. Sawinsky ANTWORT: Der Datentyp "Word" speichert eine vorzeichenlose Zahl im Bereich von "0" bis "65535", ein "DWord" eine vorzeichenlose Zahl im Bereich von "0" bis "2.147.483.647". Beide Datentypen kennt Access nicht, so dass hier ein Umweg über Integer-Zahlen erforderlich ist. Das Ergebnis ist ggf. eine negative Zahl, wenn der Wert "32767" überschreitet, so dass der negative Wert zunächst in eine vorzeichenlose Ganzzahl umgerechnet werden muss. Die folgende Funktion, der HiWord und LoWord als Parameter übergeben wird, trägt diesem Umstand Rechnung und liefert als Ergebnis den entsprechenden Wert vom Datentyp "Long": Function MakeDWord(wHi As Long, wLo As Long) As Long If wHi And &H8000 Then MakeDWord = (((wHi And &H7FFF) * 65536) Or _ (wLo And &HFFFF)) Or &H80000000 Else MakeDWord = (wHi * 65536) + wLo End If End Function
Antworten auf Ihre Fragen zu Access Weekly Seit der letzten Ausgabe bieten wir Ihnen die Möglichkeit, jede Ausgabe unseres Newsletters zu bewerten. Viele Leser nutzen diese Möglichkeit und dafür möchten wir uns bei allen engagierten Teilnehmern unserer Umfrageaktionen bedanken. Bitte nutzen Sie diese Möglichkeit auch weiterhin und sagen Sie uns Ihre Meinung, wenn Ihnen beispielsweise etwas besonders gut, aber vielleicht auch gar nicht gefällt. Am Ende von jedem Fragebogen geben wir Ihnen die Möglichkeit, einen beliebigen Kommentar zu der jeweiligen Ausgabe abzugeben oder weitere Fragen zu stellen. In unregelmäßigen Abständen möchten wir gerne an dieser Stelle auf diese Fragen eingehen: FRAGE: Ich habe gesehen, dass der Link auf Ihren Fragebogen einen Code enthält. Übertragen Sie dabei meine E-Mail-Adresse? Wenn ja, sollten Sie das den Lesern mitteilen. ANTWORT: Natürlich würden wir Ihnen mitteilen, wenn das der Fall wäre. Die Umfrage ist aber komplett anonym. Wir wissen also nicht, welcher Leser welche Antworten gibt. FRAGE: Bei Ihrer Helpline stoße ich immer wieder auf Fragestellungen, bei denen sich die Antwort über eine einfache Suche in der Hilfe finden ließe. Dafür muss man den Platz im Newsletter doch nicht verschwenden, oder? ANTWORT: Aus den zahlreichen Zuschriften unserer Leser an die Helpline wissen wir, dass SmartTools Access Weekly nicht nur von Profis gelesen wird, die täglich mit Access Arbeiten. Von absoluten Einsteigern bis hin zum professionellen Entwickler ist eigentlich alles dabei und wir versuchen immer in jeder Ausgabe, für jeden Leser etwas zu bieten. Sicherlich kann man bei dem einen oder anderen Thema der Meinung sein, dass es vielleicht mit ein wenig Aufwand in der Online-Hilfe von Access zu finden wäre, aber andererseits könnte man auch sagen, dass die absoluten Profithemen ebenfalls nur für eine sehr kleine Gruppe von Entwicklern interessant sind. Wir versuchen, möglichst genau die Themen zu behandeln, die von unseren Lesern als Problem geschildert werden und hier ist wirklich jede Schwierigkeitsstufe vorhanden. War die Helpline für Sie hilfreich? Klicken Sie bitte hier!
Office XP und 2003-Tipps kostenlos per E-Mail Der SmartTools Office XP Insider ist ein kostenloser E-Mail-Newsletter, der sich ausschließlich mit den neuen Funktionen von Office XP und 2003 beschäftigt:
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.
|