Autor Thema: Feldnamen auslesen  (Gelesen 2959 mal)

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Feldnamen auslesen
« am: 16.08.04 - 15:14:15 »
Habe u.g. Script im Entering des Feldes b18 stehen:
Kann man den Feldnamen (b18) automatisch ermitteln lassen um die statische Bezeichnung zu hintergehen.

Sub Entering(Source As Field)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   If uidoc.fieldgettext("b18") = "0,00" Then
      Call uidoc.fieldsettext("b18", "" )
   End If
   Call uidoc.Refresh

Glombi

  • Gast
Re:Feldnamen auslesen
« Antwort #1 am: 16.08.04 - 15:22:23 »
Es geht (Im Editmode)

fieldName$ = notesUIDocument.CurrentField

Also:
Sub Entering(Source As Field)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
dim currentFieldName as string
 
   Set uidoc = ws.CurrentDocument
currentFieldName = uidoc.CurrentField


   If uidoc.fieldgettext(currentFieldName) = "0,00" Then
      Call uidoc.fieldsettext(currentFieldName, "" )
   End If
   Call uidoc.Refresh

Andreas

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #2 am: 16.08.04 - 15:41:10 »
Danke!
Geht das auch bei Exiting? Ohne die statische Vorgabe?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Feldnamen auslesen
« Antwort #3 am: 16.08.04 - 18:21:55 »
Danke!
Geht das auch bei Exiting? Ohne die statische Vorgabe?

Hi,

ich denke mal das geht auch im Exiting-Event. Wo siehst du eine statische Vorgabe?

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

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #4 am: 16.08.04 - 21:23:38 »
Möchte den Feldnamen nicht direkt angeben wie z. B Feld1, sondern diesen über Script ermitteln lassen.

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #5 am: 17.08.04 - 15:43:20 »
Wie kann ich im Exiting das "aktive" Feld ansprechen ohne diesen Feldnamen Fest einzugeben z. B. Feld1

Sub Exiting(Source As Field)
  Dim ws As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
dim currentFieldName as string
 
  Set uidoc = ws.CurrentDocument
currentFieldName = uidoc.CurrentField

Glombi

  • Gast
Re:Feldnamen auslesen
« Antwort #6 am: 17.08.04 - 15:54:14 »
Du musst

dim currentFieldName as string

in den Globals der Maske deklarieren und im Entering folgendes programmieren

Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
currentFieldName = uidoc.CurrentField

Dann kannst Du im Exiting auf currentFieldName zugreiden.

Das ganze UI Zeugs solltest Du auch globale deklarieren und im Postopen der Maske setzen...

Andreas

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #7 am: 17.08.04 - 16:35:11 »
funktioniert leider nicht. Übernimmt den Feldnamen von dem Feld das ich als nächstes auswähle.

Glombi

  • Gast
Re:Feldnamen auslesen
« Antwort #8 am: 17.08.04 - 16:36:59 »
Du musst
dim currentFieldName as string
in den Globals der Maske deklarieren

und nicht lokal im Exiting/Entering.

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #9 am: 17.08.04 - 16:42:42 »
Sorry, aber hab ich!

Glombi

  • Gast
Re:Feldnamen auslesen
« Antwort #10 am: 17.08.04 - 16:45:06 »
Sag mal an, was Du wo programmiert hast. Du brauchst
Globals - (Declarations)
Entering
Exiting

Andreas

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #11 am: 17.08.04 - 16:52:20 »
Global Declaration:
Dim currentFieldName As String


Feld Entering:
Sub Entering(Source As Field)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   currentFieldName = uidoc.CurrentField
   
   If uidoc.fieldgettext(currentFieldName) = "0,00" Then
      Call uidoc.fieldsettext(currentFieldName, "" )
   End If
   Call uidoc.Refresh
End Sub


Feld Exiting:
Sub Exiting(Source As Field)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   currentFieldName = uidoc.CurrentField
   
   If uidoc.fieldgettext(currentFieldName) = "" Then
      Call uidoc.fieldsettext(currentFieldName, "0" )
   End If
   Call uidoc.Refresh
End Sub

Glombi

  • Gast
Re:Feldnamen auslesen
« Antwort #12 am: 17.08.04 - 16:57:34 »
Das
currentFieldName = uidoc.CurrentField
muss aus dem Exiting heraus, denn es liefert ja den Namen des Feldes, in das der Cursor springt.
Daher habe ich es ja extra im Entering drin!

Also:
Sub Exiting(Source As Field)
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument  
   If uidoc.fieldgettext(currentFieldName) = "" Then
      Call uidoc.fieldsettext(currentFieldName, "0" )
   End If
   Call uidoc.Refresh
End Sub

Andreas
« Letzte Änderung: 17.08.04 - 16:58:55 von Glombi »

Offline skywook

  • Senior Mitglied
  • ****
  • Beiträge: 445
  • Ich liebe dieses Forum!
Re:Feldnamen auslesen
« Antwort #13 am: 18.08.04 - 07:12:50 »
Danke, funktioniert!!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz