[Gelöst] F3 programmieren

15. April 2008 09:54

Hallo,

hat schon mal jemand versucht, "F3" auszuprogrammieren?

Ein Kunde von uns möchte unbedingt den Button "Neuen Datensatz anlegen" auf einem Formular haben.
Ich habe schon ein paar Sachen ausprobiert, aber hundertprozentig funktioniert bis jetzt noch nichts.
Zuletzt geändert von tjane am 2. November 2009 10:38, insgesamt 1-mal geändert.

15. April 2008 10:09

Ganz einfach: MenuButton auf die Form legen, ein neues MenuItem erstellen und dort den ShortcutKey auf F3 legen.

Wenn du nun F3 drückst, wird nur das ausgeführt, was hinter dem OnPush-Trigger des MenuItems hinterlegt wird. Die Standardfunktionalität von F3 (neuen DS anlegen) wird nicht mehr ausgeführt.

15. April 2008 10:14

Hallo Natalie,

soweit bin ich schon gekommen.

Allerdings möchte ich nicht bei F3 etwas anderes ausführen, sondern schon den Standard.
Die Frage wäre also, was im Trigger stehen muss, damit sozusagen ein leerer Datensatz mit etwaigen Filtern angezeigt wird, der bei Eingabe einer Information diesen dann als neuen Datensatz in der Tabelle einfügt.

15. April 2008 10:29

Uff, gute Frage... Warten wir mal ab, vielleicht hat das jemand anderes schon mal gemacht. Hast du schon im Forum danach gesucht?

Als ich das mal gebraucht habe, durfte ich die neue Zeile wirklich INSERTen; das ist mit deiner Anforderung nicht wirklich zu vergleichen.

16. April 2008 10:35

Hab mich jetzt erst mal damit abgefunden, den Datensatz zu "inserten"

16. April 2008 11:23

gibt es nicht das delayedInsert property? Oder denke ich gerade am Problem vorbei?

16. April 2008 12:13

JanGD hat geschrieben:gibt es nicht das delayedInsert property? Oder denke ich gerade am Problem vorbei?


Etwas ;-)
Stell dir vor, du bist im Quelltext und willst einen Datensatz zum INSERTen vorbereiten - hier gibts kein DelayedInsert mehr ...

16. April 2008 14:14

also das erst mit F3 ein INSERT ausgeführt wird?

16. April 2008 15:16

Nein. Stelle dich mal in eine Auftragszeile und drücke F3. Nun stehst du in einer neuen Zeile, die links einen Stern hat - das heißt, dass diese Zeile (noch) nicht in der Datenbank gespeichert worden ist. Dies geschieht erst, wenn du etwas eingibst und die Zeile verlässt - aber darum geht es hier nicht.

Die Form hat uns diesen ungespeicherten *-Datensatz bereit gestellt und tjane möchte dieses Verhalten vom Quellcode her nachbilden können - nur wie?

Re: F3 programmieren

28. April 2009 08:50

Hallo zusammen,

dieses Problem kann man mit WSH (Windows Scripting Host) ganz einfach lösen.

1. Eine neue Funktion erstellen, z.B. "CreateNewRecord"
2. Diesen Code in der neuen Funktion hinterlegen...
Code:
 if isclear(winscript) then
      create(WinScript);
    WinScript.SendKeys('{F3}');


3. Eine neue Variable vom DataType "Automation" anlegen und bei SubType "'Windows Script Host Object Model'.WshShell" auswählen
4. Die Funktion aufrufen z.B. in OnPush einer Schaltfläche usw. Damit wird ein neuer Datensatz erstellt, wie als wenn Ihr auf F3 klicken würdet.

Übrigens, mit WSH lassen sich auch viele andere Shortcuts im Quellcode nachbilden. Siehe hier:
http://www.mibuso.com/forum/viewtopic.php?f=5&t=25712

Grüße
Phil

Re: F3 programmieren

29. Oktober 2009 22:34

Nur der Vollständigkeit halber:
Ich bin zu diesem Thema auf ein MS-Statement in der Knowledge Base gestoßen:
How To Create a Command Button That Will Do Just What the Insert Button or F3 Does
Aussage: Geht nicht.