Daten in die Zwischenablage kopieren
Der einfachste Fall liegt vor, wenn Sie es dem Benutzer ermöglichen möchten, den Inhalt eines Steuerelements in einem Formular oder einen ganzen Datensatz beziehungsweise Teile davon in die Zwischenablage zu kopieren. Das Einzige, was Sie dazu brauchen, ist ein Steuerelement, in dem sich der zu kopierende Inhalt befindet und das den Fokus bekommen kann.
Formularinhalte kopieren
Möchten Sie also Teile eines Datensatzes kombinieren und im Ganzen kopieren, fügen Sie dazu einfach ein Textfeld in das Formular ein und geben den Inhalt als Formel an. Möchten Sie beispielsweise in einem Formular zur Erfassung von Adressen die komplette Adresse zusammensetzen, könnte das wie in Bild 1 aussehen.
Sie brauchen dann noch eine Schaltfläche, im Beispiel heißt sie bttMerken, mit der Sie den Kopiervorgang starten. Für diese Schaltfläche erstellen Sie eine Ereignisprozedur für das Click- Ereignis (Listing 1). Um den Inhalt des Textfeldes txtAdresse mit der Anschrift zu kopieren, müssen Sie zunächst dafür sorgen, dass das Steuerelement den Fokus hat, indem Sie die SetFocus-Methode aufrufen. Anschließend markieren Sie den Inhalt des Textfeldes und legen dazu mit der Sel- Start-Eigenschaft den Anfang der Markierung auf 0 fest. Danach bestimmen Sie die Länge der Markierung mit der SelLength-Eigenschaft. Die Länge des Inhalts wird mit Hilfe der Len-Funktion ermittelt. Den markierten Text kopieren Sie zum Schluss mit der DoMenuItem-Methode.
Private Sub bttMerken_Click()
Me.txtAdresse.SetFocus
'Text markieren
Me.txtAdresse.SelStart = 0
Me.txtAdresse.SelLength = Len(Me.txtAdresse.Value)
'Text kopieren
DoCmd.DoMenuItem acFormBar, acEditMenu, acCopy, , acMenuVer70
End Sub