Autor Thema: Shortcut zu Bestimmten Feld  (Gelesen 3580 mal)

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Shortcut zu Bestimmten Feld
« am: 19.08.10 - 10:53:24 »
Hallo,

ich würde am liebsten einen Shortcut hinterlegen mit dem ich bei einer Eingabe-Maske zu einem bestimmten Feld gehe.

Dabei das bei jedem Verlassen eines Felds möglich sein.

Gibt es da ne Möglichkeit?
Vielleicht irgendwie in der Aktion Exiting abfragen ob eine Taste gedrückt ist?

Danke für Eure mühe.
In den letzten Wochen habe ich hier richtig viel gelernt von euch. :-)


Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #1 am: 19.08.10 - 11:08:33 »
Hallo,

Meines Wissens nach gibt es dies nicht.
Du kannst "nur" die Reihenfolge bestimmen, in welcher die Felder angewaehlt werden durch Betaetigen der Tab-Taste.

Und bei "Exiting" bringt aus meiner Sicht eigentlich nichts, da zum Ausloesen dieses Events das betreffende Feld verlassen werden muss, was bei einem Shortcut (Taskenkombination) nicht immer der Fall ist.


Andreas

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Shortcut zu Bestimmten Feld
« Antwort #2 am: 19.08.10 - 11:12:54 »
In der Formelsprache geht das mit @Command([EditGotoField] ; Feldname )

In Script sieht's so aus:

  Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = workspace.CurrentDocument
  Call uidoc.GoToField( "Description" )


Du kannst das Ganze in ein Exiting-Event einfügen. Das muss aber dann für jedes Feld geschehen. Aber du kannst nicht sicher sein, dass das Exiting - Event auch immer zuverlässig ausgeführt wird.

Was soll denn das Ganze werden. Vielleicht gibt's ja noch eine andere Lösung.

Axel

Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #3 am: 19.08.10 - 11:27:26 »
Danke für deine Antwort doch das bringt mich nicht weiter....denn es ist unterschiedlich von welchem feld der user zum sagen wir ende feld kommen will.
Feld1Shortcut 
Feld2|             
Feld3|              Shortcut
Feld4|              |
Feld5|              |
Feld6(Endfeld)

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #4 am: 19.08.10 - 11:35:38 »
denn es ist unterschiedlich von welchem feld der user zum sagen wir ende feld kommen will.

Wenn das von der Eingabe in Feldern abhängig ist, würde ich mit den Feld Hide-When-Formeln arbeiten.

Gruß
Demian

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #5 am: 19.08.10 - 11:42:03 »
Hallo Demian,

kann man das was in dem Bild Rot gekennzeichnet damit machen?
Also von einem beliebigen Feld in ein Bestimmtes Springen?
Sorry das ich vorher nicht die passenden Worte dafür gefunden habe.

Die Blauen "Paint"-Striche ist der momentane Weg.
Die Roten "Paint"-Striche der gewünschte Weg.

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Shortcut zu Bestimmten Feld
« Antwort #6 am: 19.08.10 - 12:35:31 »
Dann bleibt dir nur der Exiting - Event der entsprechenden Felder.

Dort packst du jeweils das untenstehende Script rein.

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   Call uidoc.GoToField( "Name des Leistungsfeldes" )

Wenn der User die Felder z.B. mit der Tab-Taste verlässt, dann sprint er zum Leistungsfeld. Ein andere Möglichkeit sehe ich nicht.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #7 am: 20.08.10 - 12:57:35 »
Die einzige möglichkeit die ich sehe wäre über externe Aufrufe


in der Maske in den Deklarationen

Code
Declare Function GetKeyboardState Lib "user32.dll" (Byval vKey As Variant) As Boolean
Const VK_SHIFT = 16


in Exiting Event des Feldes:
Code
	Dim ws As New notesuiworkspace
	Dim Keys(255) As Byte
	
	GetKeyboardState(Keys)
	If keys(VK_SHIFT)>127 Then
		ws.CurrentDocument.GotoField("<FELDNAME>")
	End If


Es funktioniert zwar, aber eigentlich mag ich solche Sachen nicht so besonders. Es schränkt die Verwendbarkeit auf Windowsclients ein.

Welche Codes für welche Tasten findest du hier http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx
« Letzte Änderung: 20.08.10 - 13:36:05 von Grischu »
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #8 am: 20.08.10 - 14:25:45 »
Cool,
Danke Grischu,

mit Shift Funktioniert das jetz auch.
Leider Brauche ich aber eine andere Taste. VK_F2

Code
Const VK_F2 = 16	
	Dim ws As New notesuiworkspace
	Dim Keys(255) As Byte
	
	GetKeyboardState(Keys)
	If keys(VK_F2)>113 Then
		ws.CurrentDocument.GotoField("CalcLeistungsNr")
	End If
Ich habe auch 0x71 von Binär in Dezimal umgerechnet aber das brachte auch nichts.
Wo liegt der Fehler

Offline Grischu

  • Frischling
  • *
  • Beiträge: 40
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #9 am: 20.08.10 - 14:29:37 »
so

Code
Const VK_F2 = 113
	Dim ws As New notesuiworkspace
	Dim Keys(255) As Byte
	
	GetKeyboardState(Keys)
	If keys(VK_F2)>127 Then
		ws.CurrentDocument.GotoField("CalcLeistungsNr")
	End If


wenn die Taste gedrückt ist wird Bit 8 gesetzt welches denn Wert 128 hat


/edit

"If keys(VK_F2)>128 Then"  war falsch von mir muss  "If keys(VK_F2)>127 Then" sein !
« Letzte Änderung: 20.08.10 - 14:41:54 von Grischu »
Twitter is eine typische Erscheinung der Generation ADS & SMS. Für einen Brief zu faul, für einen kompletten Satz zu dumm und für korrekte Grammatik zu cool.

Offline Mirko

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #10 am: 20.08.10 - 14:50:30 »
Hallo Klaas,
ich habe den Sinn noch nicht ganz begriffen;-( Wenn einer aus dem Feld "Fegen" schon wegspringt, dann gibt er doch bei "Rauchen" nichts mehr ein. Ist das Absicht? Dann würde es doch mit einem Feld für die Minuten und einem Listenfeld für die Tätigkeit gehen.
Aber mal nebenbei: wollen Eure Nutzer nicht mit der Maus arbeiten ? Das wäre ja der unkomplizierteste Weg.

Viele Grüße
Mirko

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #11 am: 20.08.10 - 15:00:01 »
also das ganze stammt aus eine prämienlohnabrechnung.
als backround ich arbeite in einer großwäscherrei und nicht an jedem arbeitsplatz gibt es einen pc.
eine dame bekommt also zettel da steht drauf personalnummer arbeitsbegin und so weiter.
das heist die hackert dann eine halbe stunde jeden tag nur die zettel ein.
und damit sie nicht bei jedem nichtraucher das feld raucher überspringen muss wollte ich die möglichkeit schaffen einen shortcut zu nuten um gleich in das leistung zu kommen.
denn es ist total unterschiedlich welche der oberen felder für den aktuellen tag gebraucht werden oder nicht.

Offline Mirko

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #12 am: 20.08.10 - 15:09:50 »
Dann bliebe noch die Möglichkeit einer Aktion in der Aktionsleiste der Maske. Diese kann man mit der "Alt"-Taste und einer Ziffer anspringen.

Viele Grüße
Mirko

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #13 am: 24.08.10 - 09:34:25 »
Hallo @All,

danke für eure Antworten.

Ich habe das Sqript von Grischu ausprobiert. Leider war es nicht so Altags Tauglich wie ich gedacht hätte.
Dann habe ich die Lösung mit der Aktionsleiste Probiert. Das geht erstaunlich gut. Mal sehen wie es die User finden.

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #14 am: 24.08.10 - 09:36:56 »
Moin,

also grundsätzlich versuche ich auch immer den Usern soviel Komfort zu ermöglichen, wie es in meiner Macht steht, aber wo ist der Unterschied, ob jemand ALT + Taste drückt oder 2-3 mal die Tab-Taste?
Gruß
Demian

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Shortcut zu Bestimmten Feld
« Antwort #15 am: 24.08.10 - 10:22:04 »
... und was machst du, respektive die Dame, wenn jemand gefegt und geraucht hat? Oder gibt's da nur fegende Nichtraucher oder rauchende Nichtfeger?   >:D

Ich bin der Ansicht, das es für die eingebende Dame einfacher ist entsprechend oft die TAB-Taste zu drücken (weil Windows - konformer) als irgendeine Tastenkombination wo man sich unter Umständen die Finger bricht.

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Klaas

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
Re: Shortcut zu Bestimmten Feld
« Antwort #16 am: 24.08.10 - 10:34:09 »
Fegen und Rauchen geht auch. Die Aktionen in der Aktionsleiste funktionieren ja mit
ALT +1 = nächsten Feld = Tab
ALT +2 = zur Leistung
ALT +3 = Aktuelles Doc speichern, neues Doc öfnen.
Momentan gebe ich diese Daten in die Datenbank ein...und ich finde das eigentlich ganz komfortabel.
Mit der Linken Hand ALT+ Zahl.
Mit der Rechten Hand Nummblock.
Und wer will kann ja trotzdem die Maus benutzen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz