Autor Thema: Werte aus Feld(Typ:Kontrollkästchen) übernehmen  (Gelesen 5704 mal)

Offline Toady

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Hallo Leute,

ich habe folgendes Problem:

Im geöffneten Doc übernehme ich per uidoc.FieldGetText den Inhalt eines Feldes(Typ: Kontrollkästchen) und füge ihn dann per uidoc.FieldSetText in ein anderes Doc (gleiche Form) ein. Im neuen Doc bleiben die ausgewählten Kästchen aber immer leer; es wird also kein Inhalt übernommen. Habe keinen blassen Dunst warum. Bei allen anderen Feldtypen (Datum, Text etc.) geht das ohne Probleme.
Hoffe Ihr könnt mir helfen.

Danke!

klaussal

  • Gast
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #1 am: 28.01.03 - 14:59:26 »
... und was sagt der debugger ?

... und was sagt: Dokument -> Eigenschaften ?

sind die felder im dok gefüllt ?

Offline Toady

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #2 am: 28.01.03 - 15:08:47 »
Hallo klaussal,

also der Debugger sagt gar nichts. Es werden einfach keine Werte übernommen.

Ist eine ReservierungsDB an der ich arbeite. Wenn ein neues Doc zur Reservierung eines Raumes angelegt wird, kann ich für mehrere Tage reservieren. Zusätzlich kann ich über Auswahl (Kontrollkästchen) die Einrichtung des Raumes bestimmen. Speichere ich das Doc ab, so wird für jeden Termin ein eigenes Doc angelegt. Dabei werden alle Werte übernommen nur die des Kontrollkästchens nicht. Hab keine Ahnung warum!

Danke und Gruß

klaussal

  • Gast
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #3 am: 28.01.03 - 15:13:08 »
im debugger kann man sehen, ob die werte übernommen werden.

sind die feldeigenschaften ok ?

Offline Till_21

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 708
  • Geschlecht: Männlich
  • I love Germany
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #4 am: 28.01.03 - 15:13:14 »
Im geöffneten Doc übernehme ich per uidoc.FieldGetText den Inhalt eines Feldes(Typ: Kontrollkästchen) und füge ihn dann per uidoc.FieldSetText in ein anderes Doc (gleiche Form) ein

wie kann man zwei versch. uidocs gesetzt haben ?
bist du sicher, dass du nicht ins gleiche doc zurueckschreibst ?

gruss

klaussal

  • Gast
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #5 am: 28.01.03 - 15:18:41 »
@till_21

... wenn angeblich alle anderen werte übernommen werden, dann muss er ja zwei verschiedene docs ansprechen, oder  ???
« Letzte Änderung: 28.01.03 - 15:19:00 von klaussal »

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #6 am: 28.01.03 - 15:27:19 »
Tach,
@ Till_21 & klaussal
man kann zwei verschiedene uidocs im Zugriff halten, Du musst doch nur verschiedene Variablen darauf setzen...


@Today:
Versuch doch mal, mit
Set NotesItem = doc.GetFirstItem("Feldname")
den Zugriff auf das neue Feld herzustellen, und den Wert dann mit Item.Values(0) = Variable mit dem Wert
in das neue Feld zu schreiben. Dann noch ein uidoc.reload und fertig. Vielleicht gehts so.
Gruss

Thomas
+++To be human is more important than to be important!+++

Offline Toady

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #7 am: 28.01.03 - 15:28:24 »
@klaussal

Ja, ich hab im Debugger die Werte in den Variablen überprüft - sind leider leer. Das ist ja das Problem, ich weiß halt nicht warum er die Werte daraus nicht übernimmt.


@till21

Mittels 'Set uidoc=uiws.ComposeDocument("","DB","Form")' erstelle ich ein zweites Doc in dem die Werte per 'Call uidoc.FieldSetText()' gespeichert werden.

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #8 am: 28.01.03 - 15:31:42 »
@Today
Poste doch mal den Quelltext, da ist evtl.das Prob schneller gefunden...
+++To be human is more important than to be important!+++

Offline Toady

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #9 am: 28.01.03 - 15:51:26 »
Hallo Thomator,

im folgenden der Quelltext. Vielleicht ist nur ne Variable falsch deklariert oder so. Keine Ahnung, bin auch noch nicht so lange als Notes-Entwickler dabei - Script erst seit kurzem.

Sub Click(Source As Button)
   Dim feld1 As String
   Dim feld2 As String
   Dim feld3 As String
   Dim feld4 As String
   Dim feld5 As String
   Dim feld6 As String
   Dim feld7 As String
   Dim feld8 As String
   Dim feld9 As String
   
   Dim uiws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = uiws.CurrentDocument
   
   feld1 = uidoc.FieldGetText("Raum")
   feld2 = uidoc.FieldGetText("Titel")
   feld3 = uidoc.FieldGetText("Anzahl")
   feld4 = uidoc.FieldGetText("Ressourcen")
   feld5 = uidoc.FieldGetText("Bestuhlung")
   feld6 = uidoc.FieldGetText("sonstiges")
   feld7 = uidoc.FieldGetText("Meldung")
   feld8 = uidoc.FieldGetText("date1")
   feld9 = uidoc.FieldGetText("time1")
   feld10 = uidoc.FieldGetText("date2")
   feld11 = uidoc.FieldGetText("time2")
   feld12 = uidoc.FieldGetText("date3")
   feld13 = uidoc.FieldGetText("time3")
   feld14 = uidoc.FieldGetText("date4")
   feld15 = uidoc.FieldGetText("time4")
   
   If  feld8 <> "" And feld9 <> "" Then
      
      Set uidoc = uiws.ComposeDocument("","RaumRes.nsf","Reservierung")
      
      Call uidoc.FieldSetText("Raum", feld1)
      Call uidoc.FieldSetText("Datum", feld8)
      Call uidoc.FieldSetText("TimeRange", feld9)
      Call uidoc.FieldSetText("Titel", feld2)
      Call uidoc.FieldSetText("Anzahl", feld3)
      Call uidoc.FieldSetText("Ressourcen", feld4)
      Call uidoc.FieldSetText("Bestuhlung", feld5)
      Call uidoc.FieldSetText("sonstiges", feld6)
      Call uidoc.FieldSetText("Meldung", feld7)
      
      Call uidoc.save
      Call uidoc.close
      
   Elseif feld2 = "" And feld3 <> "" Then
      Msgbox"Fehler! Kein Datum für Raumreservierung angegeben.",16
      Exit Sub
      
   Elseif feld2 <> "" And feld3 = "" Then
      Msgbox"Fehler! Keine Zeit für Raumreservierung angegeben.",16
      Exit Sub
      
   Else
      Exit Sub
      
   End If
   
   If  feld10 <> "" And feld11 <> "" Then
      
      Set uidoc = uiws.ComposeDocument("","RaumRes.nsf","Reservierung")
      
      Call uidoc.FieldSetText("Raum", feld1)
      Call uidoc.FieldSetText("Datum", feld10)
      Call uidoc.FieldSetText("TimeRange", feld11)
      Call uidoc.FieldSetText("Titel", feld2)
      Call uidoc.FieldSetText("Anzahl", feld3)
      Call uidoc.FieldSetText("Ressourcen", feld4)
      Call uidoc.FieldSetText("Bestuhlung", feld5)
      Call uidoc.FieldSetText("sonstiges", feld6)
      Call uidoc.FieldSetText("Meldung", feld7)
      
      Call uidoc.save
      Call uidoc.close
      
   Elseif feld10 = "" And feld11 <> "" Then
      Msgbox"Fehler! Kein Datum für Raumreservierung angegeben.",16
      Exit Sub
      
   Elseif feld10 <> "" And feld11 = "" Then
      Msgbox"Fehler! Keine Zeit für Raumreservierung angegeben.",16
      Exit Sub
      
   Else
      Exit Sub
      
   End If
   
   If  feld12 <> "" And feld13 <> "" Then
      
      Set uidoc = uiws.ComposeDocument("","RaumRes.nsf","Reservierung")
      
      Call uidoc.FieldSetText("Raum", feld1)
      Call uidoc.FieldSetText("Datum", feld12)
      Call uidoc.FieldSetText("TimeRange", feld13)
      Call uidoc.FieldSetText("Titel", feld2)
      Call uidoc.FieldSetText("Anzahl", feld3)
      Call uidoc.FieldSetText("Ressourcen", feld4)
      Call uidoc.FieldSetText("Bestuhlung", feld5)
      Call uidoc.FieldSetText("sonstiges", feld6)
      Call uidoc.FieldSetText("Meldung", feld7)
      
      Call uidoc.save
      Call uidoc.close
      
   Elseif feld12 = "" And feld13 <> "" Then
      Msgbox"Fehler! Kein Datum für Raumreservierung angegeben.",16
      Exit Sub
      
   Elseif feld12 <> "" And feld13 = "" Then
      Msgbox"Fehler! Keine Zeit für Raumreservierung angegeben.",16
      Exit Sub
      
   Else
      Exit Sub
      
   End If
   
   If  feld14 <> "" And feld15 <> "" Then
      
      Set uidoc = uiws.ComposeDocument("","RaumRes.nsf","Reservierung")
      
      Call uidoc.FieldSetText("Raum", feld1)
      Call uidoc.FieldSetText("Datum", feld14)
      Call uidoc.FieldSetText("TimeRange", feld15)
      Call uidoc.FieldSetText("Titel", feld2)
      Call uidoc.FieldSetText("Anzahl", feld3)
      Call uidoc.FieldSetText("Ressourcen", feld4)
      Call uidoc.FieldSetText("Bestuhlung", feld5)
      Call uidoc.FieldSetText("sonstiges", feld6)
      Call uidoc.FieldSetText("Meldung", feld7)
      
      Call uidoc.save
      Call uidoc.close
      
   Elseif feld14 = "" And feld15 <> "" Then
      Msgbox"Fehler! Kein Datum für Raumreservierung angegeben.",16
      Exit Sub
      
   Elseif feld14 <> "" And feld15 = "" Then
      Msgbox"Fehler! Keine Zeit für Raumreservierung angegeben.",16
      Exit Sub
      
   Else
      Exit Sub
      
   End If
   
End Sub


Danke @all für die schnellen Antworten!

Offline Thomator

  • Senior Mitglied
  • ****
  • Beiträge: 353
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #10 am: 28.01.03 - 16:07:21 »
@Today
also ich würd mal probieren, bei den Feldern, die er jetzt nicht in die Variablen ausliesst (feld1..15) folgendermaßen vorzugehen:

Dim feld1..15 as variant
Set doc = uidoc.document
Dim Item as NotesItem
Set Item = doc.GetFirstItem(" Dein Feldname")
feld1..15 = Item.values(0)

und dann im neuen uidoc:
call uidoc.ReplaceItemValue("Dein Feldname", feld1..15)

Ich bin mir zwar nicht so ganz sicher, aber ich denke, das könnte bei so Sachen wie Kontrollfeldern eher funktionieren, als FieldSetText..

Thomas
+++To be human is more important than to be important!+++

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #11 am: 28.01.03 - 16:21:37 »
... ich vermeide so gut es geht mit dem uidoc zu arbeiten. Mit dem Backend habe ich bessere Möglichkeiten, außerdem kann ich bei uidoc.FieldGetText("Feldname") nur mit Strings arbeiten, und alleine daß macht mich rasend...

... ich hätte die Feldnamen in ein Array gepackt und dann das Array   mit "For..Next" abgearbeitet - das ist vom Code her übersichtlicher und bei späteren Anpassungen deutlich besser im Handling

ata
Grüßle Toni :)

Offline Toady

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #12 am: 06.02.03 - 14:37:12 »
@ata, @thomator, @.....

Übers BackEnd hab ich's hinbekommen. Hat zwar lange gedauert, aber nur weil ich den Wald vor lauter Bäumen nich gesehen hab.

Danke nochmal für eure Hilfe.

Offline Doc Torte

  • Aktives Mitglied
  • ***
  • Beiträge: 178
  • Geschlecht: Männlich
  • ...promovierter Bäcker... ;-)
    • ...that's me
Re:Werte aus Feld(Typ:Kontrollkästchen) übernehmen
« Antwort #13 am: 06.02.03 - 15:02:26 »
@ATA

genau das sind die Unterschiede an denen man erkennt wer was taugt und wer taucht...


@all others, nur wer schimpft, zieht sich den Schuh auch an !

MAHLZEIT
Wer nicht ständig besser wird, hört bald auf gut zu sein !
Schritt für Schritt geht's immer vorwärts...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz