Mai 19, 2022, 17:17:39

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Feldname als Variable

Begonnen von PeterW, April 10, 2022, 06:26:20

⏪ vorheriges - nächstes ⏩

PeterW

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?
Viele Grüße aus Berlin
Peter

ebs17

Verwende so etwas.
Screen.ActiveControl
Mit freundlichem Glück Auf!

Eberhard

PeterW

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
Viele Grüße aus Berlin
Peter


PeterW

Viele Grüße aus Berlin
Peter

markus888

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.
10 Jahre Access