Autor Thema: InViewEdit - Werte unkontrolliert gesetzt  (Gelesen 1019 mal)

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
InViewEdit - Werte unkontrolliert gesetzt
« am: 04.05.05 - 16:28:22 »
Hallo,

dieser Code steht bei mir in einer Ansicht - InViewEdit Mode:

On Error Goto Errorhaendler
   ''code for modifying only the company column and not adding new documents from view.
   
   Const QUERY_REQUEST = 1       ' used when the user enters the editable column
   Const VALIDATE_REQUEST = 2     ' used when the user exits the editable column
   Const SAVE_REQUEST = 3      ' saves after validation for an existing view entry
   Const NEWENTRY_REQUEST = 4   ' after validation when the user makes a new entry in a view
   
  ' Editable columns
   fieldName(0) = "work_plan_device_percent"
   fieldName(1) = "work_plan_setup_time"
   fieldName(2) = "device_piece"   
   fieldName(3) = "work_plan_time_piece"
   fieldName(4) = "work_plan_follow_nr"
   
   Dim ws As New NotesUIWorkspace
   Dim note As NotesDocument
   Dim db As NotesDatabase
   Dim i As Integer
   
   Set db = ws.CurrentDatabase.Database
   If (Source.CaretNoteID = "0") Then   Exit Sub
   
   Set note = db.GetDocumentByID(Source.CaretNoteID)      ' The Notes ID of the document currently highlighted (that is, at the caret location) in a view
   If (note Is Nothing) Then   Exit Sub
   
   'Abfrage Wert: DEVICE_PIECE vor Änderungen
   Dim var_device_piece As Integer
   var_device_piece = note.device_piece(0)
   
   If (RequestType = QUERY_REQUEST) Then
      Continue = True
   Elseif (RequestType =  VALIDATE_REQUEST) Then
      For i = 0 To 4
         If(note.HasItem(fieldName(i))) And ColProgname(0) = fieldName(i) Then
            fieldValue(i) = ColumnValue(0)
            If i = 0 Or i=1 Or i=2 Or i=3 Or i=4 Then
               If Not Isnumeric(fieldValue(i)) Then
                  Msgbox "Bitte Zahl eingeben."
                  Continue = False
                  Exit Sub
               End If
            End If
         End If
         
      Next
      Continue = True                  'Accept any user input
      
   Elseif (RequestType = SAVE_REQUEST) Then
      For i = 0 To 4
         If fieldValue(i) <> "" Then
            If Isnumeric(fieldValue(i)) Then
               Call note.ReplaceItemValue(fieldName(i), Cdbl(fieldValue(i)))
            Else
               Call note.ReplaceItemValue(fieldName(i), fieldValue(i))
            End If
            fieldvalue(i) = ""                          
               End If
      Next
      
      If var_device_piece = 0 Then
         note.device_piece_compare = note.device_piece(0)
         Goto Forward
      Else
         If note.device_piece(0) <> note.device_piece_compare(0) Then
            note.device_piece_compare_value = 1
            note.device_piece_compare = note.device_piece(0)
         End If
      End If
      'note.device_piece_compare = note.device_piece(0)
      '-------------------------------------------------------------------------------------------------------------------------
Forward:
      Call note.ComputeWithForm(True,True)
      Call note.Save(True, True, True)
      
      
   End If
   
   Exit Sub
----------------------------------------------
Diese Ansicht ist bei mir in einer Maske als eingebettete Ansicht eingebunden ,4 Spalten sind editierbar.

Jetzt ist folgendes Problem:
1. Wenn ich z.B.: 5 Dokumente in der eingebetteten Ansicht habe. Im 3 Dokument eine Spalte verändere, mit Enter bestätige und dann das Hauptdokument speichere, steht der Wert den ich verändert habe wieder auf 0.

2. In einem Dokument in der Ansicht etwas ändere, das Dokument mit Enter verlasse, das nächste Dokument verändere dann schreibt er mir teilweise den alten Wert in ein anderes Dokument.

Mit anderen Worten, er speichert sich teilweise die Einträge im Cash oder sonst irgendwo und setzt die dann unkontrolliert in eine Spalte der eingebetteten Ansicht, warum?

Ich habe mal die im Code fett markierte Zeile eingefügt, das der Feldinhalt geleert wird, bringt aber auch nichts.

Hat jemand schon mal das Problem gehabt bzw. einen Ansatz wie ich das Problem lösen könnte?

Mfg Horst
« Letzte Änderung: 09.05.05 - 09:20:16 von wuwu »
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

Offline wuwu

  • Senior Mitglied
  • ****
  • Beiträge: 357
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: InViewEdit - Werte unkontrolliert gesetzt
« Antwort #1 am: 09.05.05 - 09:22:15 »
Guten morgen,

hat da keine Idee für mich wie ich das Problem umgehen bzw. beseitigen könnte?

Danke im vorhinein,

Mfg Horst
Domino 7.01 - AS 400, Domino 7.01 - Win2003, Lotus Notes 8.01 Basic->PCs, NB, Terminal Server Farm.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz