Autor Thema: Taste F9 mit code ausführen?  (Gelesen 2922 mal)

Offline Mr.Black

  • Frischling
  • *
  • Beiträge: 17
Taste F9 mit code ausführen?
« am: 12.01.05 - 21:31:24 »
Hallo Leute,

kann mir jemand sagen wie ich mir spare F9 zu drücken wenn ich einen Datensatz löschen will... kann ich F9 auch mit einer Funktion ausführen ...

THX

Mr.Black

Glombi

  • Gast
Re: Taste F9 mit code ausführen?
« Antwort #1 am: 12.01.05 - 21:35:37 »
Willkommen im Forum, Mr. Black. Joe Black ?  ;D

Meinst Du eine programmatische Lösung? Kannst Du uns bitte etwas mehr erzählen, was Du erreichen willst.

Andreas

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Taste F9 mit code ausführen?
« Antwort #2 am: 12.01.05 - 21:36:42 »
"Datensätze" gibt es so nicht im Notes, Du meinst sicherlich Dokumente.

Wie genau willst Du ein Dokument löschen? Entfernen-Taste? Über Button?

Z.B. eine Umsetzung wäre möglich über den Event QueryDocumentDelete.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


y20frank

  • Gast
Re: Taste F9 mit code ausführen?
« Antwort #3 am: 12.01.05 - 22:06:30 »
Meinst Du eine programmatische Lösung? Kannst Du uns bitte etwas mehr erzählen, was Du erreichen willst.

Hmm, er möchte doch pragmatisch "F9" mit einem Code (also Script) ausführen... dann würde doch dieser API-Kram ("GetKeyState") weiterhelfen - ansatzweise wie das da ?!...:

Declare Function GetKeyState Lib "user32" (Byval nVirtKey As Long) As Long
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes

Habe mal versucht, die ESC-Taste damit in einer Maske zu unterdrücken - das war schon heavy genug - und auch nicht ganz so sauber... und zwar so (wenn's denn weiterhelfen sollte zum eigentlichen "F9'er Problem"... HTH):

Code
'- Die folgenden Deklarationen werden zum verhindern der Esc- Taste benötigt
Const VK_ESC = 27


Type KeyboardBytes
	kbByte(0 To 255) As Long
End Type

Declare Function GetKeyState Lib "user32" (Byval nVirtKey As Long) As Long
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
'- Ende Esc- verhinderung

Jetzt der eigentliche Code:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
'- der Code hier verhindert das schliessen des Fensters durch Esc unter bestimmten umständen
	If GetKeyState(VK_ESC) Then
          'Get the keyboard state
   	   GetKeyboardState kbArray
          'Change a key
	   kbArray.kbByte(VK_ESC) = 1
          'Set the keyboard state
	   SetKeyboardState kbArray
	   SetKeyboardState kbOld
	   continue = False
	End If
End Sub

Und schliesslich in den Button, der das fenster schliesst noch folgenden Code: 

Sub Initialize
	Dim ws As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Set uidoc = ws.CurrentDocument
       'Esc-Key reset
	SetKeyboardState kbOld
       'close Document
	Call uidoc.Close
End Sub
« Letzte Änderung: 12.01.05 - 22:21:02 von y20frank »

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Taste F9 mit code ausführen?
« Antwort #4 am: 12.01.05 - 22:09:59 »
Nicht ganz, Frank, da steht:

wie ich mir spare F9 zu drücken wenn ich einen Datensatz löschen will

Und da gibt es definitiv mehrere saubere Möglichkeiten, nun muss aber der Fragesteller weiteren Input geben, wie er genau löscht etc.,  um helfen zu können.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


y20frank

  • Gast
Re: Taste F9 mit code ausführen?
« Antwort #5 am: 12.01.05 - 22:14:45 »
Zitat
Und da gibt es definitiv mehrere saubere Möglichkeiten, nun muss aber der Fragesteller weiteren Input geben, wie er genau löscht etc.,  um helfen zu können.

Das stimmt allerdings - also warten wir ab, was er tatsächlich möchte... waiting for input. ready.

Offline Mr.Black

  • Frischling
  • *
  • Beiträge: 17
Re: Taste F9 mit code ausführen?
« Antwort #6 am: 12.01.05 - 22:20:53 »
Erstmal vielen Dank für die schnellen vielen Antworten... echt cooll   ;D

Ich habe ein Button der mir einen ausgewählten Datensatz ( bzw wie es in Notes heißt Dokumente ) in einer Tabelle löscht.

Wenn ich den Button klicke wird lediglich das Dokument markiert, nun muss ich aber noch F9 drücke n, und das soll eben automatisch gehen ...

Eventuell noch ein Nachrichten-Fenster mit der Frage wirklich löschen?

...

THX schonmal


y20frank

  • Gast
Re: Taste F9 mit code ausführen?
« Antwort #7 am: 12.01.05 - 22:24:07 »
... in einer Tabelle löscht.

Wenn ich den Button klicke wird lediglich das Dokument markiert, nun muss ich aber noch F9 drücke n, und das soll eben automatisch gehen

Tabelle?! Du meinst in einer Ansicht, oder...?

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Taste F9 mit code ausführen?
« Antwort #8 am: 12.01.05 - 22:24:58 »
Würde ich ins DB-Script QueryDocumentDelete einbauen.
Denn der User könnte ja auch die Entf-Taste drücken.

So etwa (Auszug):

Code
Set collection = Source.Documents
Set doc = collection.GetFirstDocument	
While Not (doc Is Nothing)
   Set docTemp = collection.GetNextDocument(doc)
   Call doc.Remove( True )
   Set doc = docTemp
Wend
Call uiws.ViewRefresh

Vor der Ausführung kannst Du ja noch eine Msgbox einbauen.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Mr.Black

  • Frischling
  • *
  • Beiträge: 17
Re: Taste F9 mit code ausführen?
« Antwort #9 am: 12.01.05 - 22:42:54 »
sorry das ich mich so dämlich anstelle , aber ich mache notes erst seit 2 Tagen....

Was ist mit dem DB Script .... 

Gibt es keinen Code den man als formel für den button eingibt?

Glombi

  • Gast
Re: Taste F9 mit code ausführen?
« Antwort #10 am: 12.01.05 - 22:45:16 »
sorry das ich mich so dämlich anstelle , aber ich mache notes erst seit 2 Tagen....

Was ist mit dem DB Script .... 

Gibt es keinen Code den man als formel für den button eingibt?
Klar, denn musst Du dann aber in alle Datenbanken einbauen...
oder Du machst Dir ein Smarticon mit der Formel

@Command([ViewRefreshFields])

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Taste F9 mit code ausführen?
« Antwort #11 am: 12.01.05 - 22:50:00 »
sorry das ich mich so dämlich anstelle , aber ich mache notes erst seit 2 Tagen....

Dann würde ich das aber noch etwas langsamer angehen lassen. Produktive DBs sollten wir Dich erstmal noch absolut tabu sein. Du hast ja noch Verständnisprobleme (Datensätze, Tabellen), und die zeit musst Du Dir einfach geben / nehmen / einfordern.

Bernhard

PS: Zu Andreas' Vorschlag möchte ich noch ergänzen: Er meint nicht "alle Datenbanken", sondern alle Ansichten. Die Sicherheitsabfrage wäre über @Prompt zu lösen (siehe DesignerHelp wegen der Parameter und der Rückgabewerte).

PPS: Herzlich willkommen im Forum und der Notes / Domino-Welt ! Wenn wir helfen können - gerne.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Taste F9 mit code ausführen?
« Antwort #12 am: 12.01.05 - 22:51:44 »
Jo, allerdings kann man in Notes in Ansichten (Du nennst diese oben "Tabellen") auch per "Entf"-Taste ein Dokument zum löschen markieren.

Um dies zu umgehen, kann man im Notes-Designer im Database Script den Event "QueryDocumentDelete" verwenden.
Das ist jetzt aber für Dich noch nicht empfehlenswert, nach "2 Tage Notes".
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Mr.Black

  • Frischling
  • *
  • Beiträge: 17
Re: Taste F9 mit code ausführen?
« Antwort #13 am: 12.01.05 - 23:03:14 »
cool danke ....

das mit dem @Command([ViewRefreshFields])

is ok so ....


THX

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz