Ein Startbildschirm kann verschiedenste Aufgaben erfüllen. Z.B. den Anwender begrüßen oder über Neuigkeiten informieren. Ein weiterer Aspekt ist den Start der eigentlichen Anwendung bewusst zu verzögern um eine Art Barriere aufzubauen. Dies könnte man z.B. dafür Nutzen eine eingeschränkte Anwendung zu erstellen, um die Anwender zu drängen eine entsprechende Lizenz zu kaufen.
Dies zu realisieren ist sogar ziemlich einfach. Man erstelle ein Formular mit einer deaktivierten Befehlsschaltfläche die im Klick-Ereignis das Anwendungs-Formular öffnet. Im Formularmodul dann dieser Code:
Option Compare Database
Option Explicit
Dim Startintervall As Integer
Private Sub cmdApp_Click()
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "Anwendungsform"
End Sub
Private Sub Form_Timer()
If Startintervall <= 10 Then
Me.TimerInterval = 1000
Me!cmdApp.Caption = 10 - Startintervall
Startintervall = Startintervall + 1
Else
Me.TimerInterval = 0
Me!cmdApp.Caption = "Anwendung starten"
Me!cmdApp.Enabled = True
End If
End Sub
Read more »
Popup-Formular, d.h. Formulare mit der Eigenschaft Popup = ja, lassen sich mittig ausrichten indem man die Eigenschaft „Automatisch zentrieren“ auf ja stellt. Will man aber z.B. mehrere Popup-Formular an definierter Stelle positionieren, dann muss man dafür schon ein Stückchen VBA-Code einsetzen.
Die entsprechende Anweisung dazu lautet:
Forms("Formularname").Move Links, Oben, Breite, Höhe
Die Angaben Links, Oben, Breite und Höhe sind in Twips anzugeben. Die Angabe des Wertes Links ist erforderlich, die restlichen Angaben sind Optional.
Die Maßeinheit Twip bedeutet 1/20 eines Inch-Punktes, was 1/1440 Inch (Zoll) entspricht.
Demnach ist 1mm gerundete 56,7 Twips.
Probiert es einfach mal aus. Wenn ihr aber zu große Werte eingebt, wird euer Formular nicht mehr zu sehen sein da es außerhalb dem sichtbaren Bereich „liegt“.
Ein anderer Anwendungsfall ist, dass ein Popup-Formular relativ zu einem anderen Formular oder einem Steuerelement auf einem anderen Fomular plaziert sein soll. Dies ist z.B. bei dem DatePicker der Fall, den ich in einem anderen Beitrag beschrieben habe.
Nachfolgend eine Prozedur die ein Popup-Formular öffnet und direkt unter einer Befehlsschaltfläche plaziert:
Read more »
Bekannter Weise gibt es für Formular-Objekte keine Zeichen-Befehler wie line() oder Circle(), dies ist den Berichts-Objekten vorbehalten. Das kann man ärgerlich finden oder nicht, ändern kann man das eh nicht. „Man“ sucht also nach Alternativen – der Kunde will das schließlich.
Fündig wird man wie so oft bei Stephen Lebans, einem Access Enthusiast der sein Wissen bereitwillig teilt. Auf http://www.lebans.com/imageclass.htm findet man für Access 97 und 2000+ 2 Downloads namens PictureBoxA97.zip und PictureBoxA2K.zip.
Der Download besteht aus einer Beispieldatenbank die die Funktionsweise demonstriert. Für eigene Projekte sind die beiden Klassenmodele clsPictureBox und clsVertices relevant, die man am besten gleich in eine leere Access-Datei kopiert.
Meine Aufgabenstellung war, anhand von Konstruktionsangaben offene und geschlossene Grundrisszeichnungen darzustellen. Die Angaben waren Kundenspezifisch und bestehen aus Innenwinkel und Länge von Linien, also eine relative Polarkoordinaten. Ein Quadratischer Grundriss der Länge 1000 hat daher die folgenden Angaben:
(90/1000), (90/1000), (90/1000), (90/1000)
Gibt man noch eine Tiefe von 200mm vor, dann sieht die generierte Zeichnung so aus:

Read more »
Bei Formulareingaben gibt es Felder, die häufig benutzt werden, und solche Felder, die nur in bestimmten Fällen benötigt werden. Um nun das Formulardesign trotzdem schlank und übersichtlich zu halten kann man sich eines Tricks bedienen: Man versteckt die selten benötigten Felder und zeigt diese nur bei Bedarf an.
Na so einfach ist es dann doch nicht. Schauen wir uns zuerst mal das mögliche Ergebnis in Bildern an.

Read more »