Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.
Unsere Webseiten benötigen Session-Cookies. Diese scheint Ihr Browser jedoch zu blockieren.
News & Tipps zu Microsoft Access
Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.
In einigen Datenbanken kommen Nummerierungen der Form "1.1.1", "1.1.2", "1.1.3" usw. als Ordnungskriterium zum Einsatz. Probleme gibt es allerdings bei der Sortierung, weil Access beispielsweise "1.1.10" direkt nach "1.1.1" und somit vor "1.1.2" einordnet. Unser Tipp zeigt, wie Sie dieses Problem mit Hilfe einer VBA-Funktion lösen. Basis der Lösung zur Sortierung nach Nummerierungen ist eine Funktion, die die Nummerierung umformatiert, indem sie zunächst jede Zahl dreistellig mit führenden Nullen aufbaut und das Ergebnis aller Zahlen der Nummerierung zu einer Zeichenkette zusammensetzt.
FRAGE Ich nutze ein Formular mit einem Unterformular und möchte nun per VBA die Datensätze aus beiden Formularen kopieren. Das funktioniert auch, aber es kann natürlich vorkommen, dass das Unterformular mehr als einen Datensatz hat. Ich suche nun nach einer Möglichkeit, das Unterformular programmatisch anzusprechen und es den nächsten Datensatz positionieren. Am sinnvollsten würde ich in einer Schleife immer aller Datensätze nacheinander durchlaufen. Wie muss ich dazu vorgehen?
In vielen Formularen müssen Sie regelmäßig eine kleine Berechnung durchführen. Dazu greifen Sie zum Taschenrechner, tippen die Berechnung ein und übertragen das Ergebnis in das betreffende Feld im Formular. Diesen Aufwand können Sie sich durch Nutzung einfacher Tricks sparen und Access die Berechnungen und das Eintragen des Ergebnisses selbst vornehmen lassen. Basis der Lösung ist die wenig bekannte Funktion "Eval()", der als Parameter ein beliebiger Ausdruck übergeben werden kann.
FRAGE Aus einem Listenfeld (Listbox) mit den Feldern "Kundennummer" (Autowert, bei der Eingabe gesetzt) und "Kundenname", ca. 100 Einträge, möchte ich durch Anklicken des Kundennamens diesen Namen in den Report "Daten des Kunden" übertragen. Hinter diesem Report steht eine Abfrage gleichen Namens, die in dem Feld "Kundenname" als Kriterium "[Kundenname].[Name]" hat. Bei normalem Aufruf des Reports erscheint ein Fenster, in dem nach dem Kundenamen gefragt wird. Diese zusätzliche Eingabe möchte ich vermeiden, und durch das Anklicken aus dem Listenfeld ersetzen.
Abfrageergebnisse benötigen Sie häufig nicht in der Datenblattansicht, sondern als Zeichenkette oder Array zur Weiterverarbeitung. In der Regel initialisieren Sie dazu ein Recordset, durchlaufen es und fassen die benötigten Feldinhalte in einer Zeichenkette zusammen. Wenig bekannt ist die Tatsache, dass ein ADO-Recordset eine Methode bereitstellt, die Ihnen diese Arbeit abnimmt und das Ergebnis blitzschnell zur Verfügung stellt.
FRAGE Die Anwender unserer Access-Datenbank erfassen unter anderem Produktinfos in Memofeldern. Hier müssen wir allerdings aus technischen Gründen die Textmenge begrenzen. Diese Texte sollen in keinem Fall mehr als fünf Sätze umfassen. Wie können wir zum Beispiel in der Ereignisprozedur "Vor Aktualisierung" ermitteln, wie viele Sätze in einem Memofeld vorhanden sind und den Anwender ggf. zum Kürzen auffordern?
SmartTools E-Rechnung für Access bietet in einem einzigen Paket alles was Sie brauchen, um in Ihren Datenbanken E-Rechnungen zu erstellen, einzulesen, anzuzeigen und zu validieren. Unterstützt werden sowohl ZUGFeRD als auch XRechnung (CII und UBL) und alle Profile von Minimum bis Extended. Nach der automatischen Installation setzen Sie in der Entwicklungsumgebung einen Verweis auf unsere Komponente und können danach mit wenigen einfachen Anweisungen, E-Rechnungen in Ihre vorhandenen Datenbanken integrieren. Änderungen an Ihrem Rechnungsformular sind nicht notwendig. Sie können für ZUGFeRD-Rechnungen sogar den kompletten bisherigen Vorgang zum Anlegen einer PDF-Rechnung beibehalten! Sie erhalten SmartTools E-Rechnung für Access aktuell mit 30% Rabatt als Dauerlizenz (kein Abo!). Die brandneue Version 2.2 ist ab sofort verfügbar! Sie bietet bereits die volle Unterstützung der vor kurzem veröffentlichten ZUGFeRD-Version 2.4! Sie können E-Rechnungen im neuen ZUGFeRDFormat erstellen, anzeigen und nach den aktuellsten Regeln validieren.
In Formularen werden oft umfangreiche Texte in Memofeldern gespeichert. Hier ist die Gefahr sehr groß, dass beim Lesen durch unachtsame Eingaben oder einen Tastendruck die Inhalte verändert oder gelöscht werden. Aber auch normale Textfelder können Daten enthalten, die nicht ohne weiteres geändert werden dürfen. Access macht nicht auf Änderungen aufmerksam, sondern speichert die Datensätze einfach ohne weitere Rückfrage. Unser Tipp stellt eine Lösung vor, mit der Sie dieses Manko umgehen und Text- und Memofelder gegen irrtümliche Änderungen schützen können.
FRAGE Ich verwende in meiner Access-Datenbank zahlreiche umfangreiche Berichte. Dabei benötige ich immer wieder mehr Flexibilität bei der Seitennummerierung als standardmäßig zur Verfügung steht. In einem Bericht wird zum Beispiel auf der ersten Seite ein Titelblatt ausgegeben, das keine Seitennummer erhalten darf. Die Seitennummerierung soll also ab der zweiten Seite mit "1" beginnen. Wie lässt sich das umsetzen?
Wenn in einer VBA-Routine ein Fehler auftritt und Sie dazu eine Meldung der Form MsgBox "Problem: " & Err.Description anzeigen lassen, wird häufig der wenig hilfreiche Text "Anwendungs- oder objektdefinierter Fehler" ausgegeben. Wir zeigen in unserem Tipp, wie Sie dem Problem durch aussagekräftigere Fehlermeldungen schneller auf den Grund gehen können. Wenig bekannt ist eine Erweiterung in Access, die für anwendungs- oder objektspezifische Fehler einspringt und speziell den für Access gültigen Fehlertext liefert.
Dieses Blog präsentiert Inhalte aus den E-Mail-Newslettern von SmartTools Publishing. Premium-Beiträge, die mit [S+] gekennzeichnet sind, sind Newsletter-Abonnenten vorbehalten.
Jetzt Abonnent werden
Falls Sie SmartTools Access Weekly noch nicht abonniert haben, können Sie sich jetzt anmelden – kostenlos und innerhalb weniger Minuten! Sie erhalten dann umgehend ein Passwort, das alle Premium-Beiträge für Sie freischaltet.
[S+] Inhalte freischalten
Wenn Sie SmartTools Access Weekly bereits beziehen, geben Sie hier Ihr Abonnenten-Passwort ein, um alle Premium-Beiträge freizuschalten:
Tipp: Sie finden das gültige Passwort immer am Ende der neuesten Ausgabe Ihres Newsletters.