Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: PeterW am April 10, 2022, 06:26:20

Titel: Feldname als Variable
Beitrag von: PeterW am April 10, 2022, 06:26:20
Ich habe mir eine Routine geschrieben, mit der ich im aktiven Feld durch Taste F3 den Feldinhalt in die Zwischenablage legen kann und mit der Taste F4 den Inhalt der Zwischenablage in das aktive Feld setzen kann:
Private Sub Feld1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF3 And Me!fldLi4 & "" <> "" Then Clipboard.SetData Me!Feld1 '<F3>
If KeyCode = vbKeyF4 Then Me!Feld1 = Clipboard.GetData() '<F4>
End Sub
Nun will ich diese Möglichkeit in mehreren Feldern meines Formulares nutzen, ohne dass ich die Zeilen für jedes Feld extra schreiben muß.
z.B.
Private Sub Feld1_KeyDown(KeyCode As Integer, Shift As Integer)
   Call Function fncClipboard(Me!Feld1.name)
End Sub

Function fcnClipboard(mFeld)
If KeyCode = vbKeyF3 And mFeld & "" <> "" Then Clipboard.SetData mFeld '<F3>
If KeyCode = vbKeyF4 Then mFeld = Clipboard.GetData() '<F4>
Exit Function
Aber leider funktioniert das nicht, was mache ich falsch?
Titel: Re: Feldname als Variable
Beitrag von: ebs17 am April 10, 2022, 08:52:05
Verwende so etwas.
Screen.ActiveControl
Titel: Re: Feldname als Variable
Beitrag von: PeterW am April 10, 2022, 09:19:05
Den Namen des aktiven Feldes habe ich ja in meiner Variablen mFeld
die Frage ist, wie nutze ich ihn in der Zeile
    If KeyCode = vbKeyF3 And Me!fldLi3 & "" <> "" Then Clipboard.SetData Me!fldLi3 '<F3>
wie lautet hier die richtige Syntax
Titel: Re: Feldname als Variable
Beitrag von: DF6GL am April 10, 2022, 10:00:24
Hallo


Me(mFeld)
Titel: Re: Feldname als Variable
Beitrag von: PeterW am April 10, 2022, 10:39:54
vielen Dank, das war es
Titel: Re: Feldname als Variable
Beitrag von: markusxy am April 10, 2022, 10:40:46
Zitat von: PeterW am April 10, 2022, 06:26:20Function fcnClipboard(mFeld)
  If KeyCode = vbKeyF3 And mFeld & "" <> "" Then Clipboard.SetData mFeld '<F3>
  If KeyCode = vbKeyF4 Then mFeld = Clipboard.GetData() '<F4>
Exit Function
Aber leider funktioniert das nicht, was mache ich falsch?


Die Variable KeyCode ist in der Funktion fcnClipboard unbekannt.
Du musst als die Variable KeyCode an die Funktion übergeben, damit du sie nutzen kannst.

Außerdem halte ich die Bedingung
And mFeld & "" <> ""auch für erklärenswert.