Autor Thema: Container inhalt abfragen?  (Gelesen 10217 mal)

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Container inhalt abfragen?
« am: 10.07.08 - 09:48:12 »
Hallo,

wie kann ich den Container inhalt abfragen?
So funktioniert das nicht:

If doc.Frage1(0)= "A" or doc.Frage1(0)= "D" then
 a=a+1
end if


Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #1 am: 10.07.08 - 09:49:12 »
WTF ist ein "Container"?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: Container inhalt abfragen?
« Antwort #2 am: 10.07.08 - 09:54:19 »
Mit container meine ich ein Feld der mehrere werte beinhaltet.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #3 am: 10.07.08 - 09:55:13 »
Geht aber prinzipiell so. Etwas mehr Kontext wäre daher nicht schlecht. Von welchem Typ sind die Felder, was sagt der Debugger dazu, ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: Container inhalt abfragen?
« Antwort #4 am: 10.07.08 - 10:02:50 »
Feld Typ ist Kontrollkästchen( inhalt : A bis D ), der Debugger sagt dass die Abfrage False liefert und so geht der nicht in die schleife rein. Ich habe mir das Feld angeschaut, wenn ich zwei Werte sprich A und D ankreuze und speichere werden diese Werte unterander :

"A"
"D"

abgespeichert.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #5 am: 10.07.08 - 10:24:54 »
Schon mit einem CStr um den Feldwert probiert?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Container inhalt abfragen?
« Antwort #6 am: 10.07.08 - 10:32:20 »
Das ist doch kein String, sondern ein Array of strings, Martin.

Hilfreich sind ArrayGetIndex oder die Kombination von Join und Instr.

Bernhard

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #7 am: 10.07.08 - 10:46:35 »
Bernhard, ich meinte ja auch Cstr( doc.Frage1(0) ).
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: Container inhalt abfragen?
« Antwort #8 am: 10.07.08 - 12:43:45 »
Mit "cstr" ändert sich irgendwie nichts, die schleife ist nicht true und somit gehr der da auch nicht rein. Ich habe nachgeschaut, in der Kontrollkästchen ist folgendes enthalten:

A|A
B|B
C|C
D|D

Wenn hier Mehrfachwerte angeklickt werden z.B "A" und "D", wird das in der Dokument von diese Feld so abgescpeichert:

"A"
"D"

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #9 am: 10.07.08 - 12:46:08 »
Schleife, welche Schleife?
Poste mal ein bißchen den Code rundherum.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

klaussal

  • Gast
Re: Container inhalt abfragen?
« Antwort #10 am: 10.07.08 - 12:50:16 »
Zitat
Schleife, welche Schleife?

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: Container inhalt abfragen?
« Antwort #11 am: 10.07.08 - 12:53:18 »
Das ist die schleife:

Sub Querysave(Source As Notesuidocument, Continue As Variant)
   
Dim doc As notesdocument
Set doc = Source.document
Dim a As Integer

If doc.Frage1(0)= "A" and doc.Frage1(0)= "D" then
 a=a+2  'hier möchte ich 2 mal zählen, weil beide Antworten richtig sind
end if

.....
bis Frage10


End Sub

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Container inhalt abfragen?
« Antwort #12 am: 10.07.08 - 12:55:16 »
Ich sehe da keine Schleife.

Liest Du überhaupt, was andere hier antworten??

Bernhard

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #13 am: 10.07.08 - 12:59:47 »
Na bei dem Code würd ich mal eine Fehlerabfrage einbauen, ob doc überhaupt gesetzt ist.

HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ozan

  • Senior Mitglied
  • ****
  • Beiträge: 277
Re: Container inhalt abfragen?
« Antwort #14 am: 10.07.08 - 13:03:28 »
Falscher Ausdruck, mit schleife meine ich :

If doc.Frage1(0)= "A" and doc.Frage1(0)= "D" then
 a=a+2  'hier möchte ich 2 mal zählen, weil beide Antworten richtig sind
end if

Die "IF" Anweisung ist nicht true. Weil die Abfrage nicht Richtig ist.

@m3
Habe ich bereits, bei den Fragen 2- 10 wo nur eine Wert abgefragt wird, funktioniert das, nur bei mehrere
nicht.

If doc.Frage1(0)= "A" then
 a=a+1
end if

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Container inhalt abfragen?
« Antwort #15 am: 10.07.08 - 13:10:58 »
Mit "AND" kann es auch nicht funktionieren, da müsstest Du die Werte Frage1(0) und Frage1(1) checken.

Irgendwie fühl ich mich jetzt langsam gefrotzelt. Dauernd taucht neuer Code auf:

If doc.Frage1(0)= "A" or doc.Frage1(0)= "D" then
 a=a+1
end if

If doc.Frage1(0)= "A" and doc.Frage1(0)= "D" then
 a=a+2  'hier möchte ich 2 mal zählen, weil beide Antworten richtig sind
end if

Also was jetzt "AND" oder "OR"? Mit "OR" sollte es funktionieren, mit "AND" wird es SO nicht funktionieren.

Und wenn jetzt nicht der "korrekte" Code und eine brauchbare Antwort kommt, bin ich draußen.  >:(

« Letzte Änderung: 10.07.08 - 13:35:27 von m3 »
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Driri

  • Gast
Re: Container inhalt abfragen?
« Antwort #16 am: 10.07.08 - 13:14:41 »
Diese Abfrage ist so generell nicht zielführend bei Mehrfachwerten.

Zitat
If doc.Frage1(0)= "A" and doc.Frage1(0)= "D" then
 a=a+2  'hier möchte ich 2 mal zählen, weil beide Antworten richtig sind
end if

Wer sagt Dir denn, daß der Wert immer im Element (0) des Arrays enthalten ist ?

Bernhard hat die entscheidenen Tipps schon geliefert.

klaussal

  • Gast
Re: Container inhalt abfragen?
« Antwort #17 am: 10.07.08 - 13:16:43 »
Ich kann's nicht mehr mit ansehen:   :'(

Code
Set doc = Source.document
	Dim a As Integer
	
		
	Forall x In doc.Frage1
				
		If x = "A" Then
			a = a+ 1
		End If
		If x = "B" Then
			a = a+ 1
		End If
		If x = "C" Then
			a = a+ 1
		End If
		If x = "D" Then
			a = a+ 1
		End If
	End Forall

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Container inhalt abfragen?
« Antwort #18 am: 10.07.08 - 13:19:24 »
Unelegant, Klaus. Wie es als Einzeiler geht, habe ich ja bereits geschrieben. Aber Ozan kümmert das ja nicht ...

Bernhard

klaussal

  • Gast
Re: Container inhalt abfragen?
« Antwort #19 am: 10.07.08 - 13:28:14 »
Das weiß ich auch, aber vielleicht versteht er das so besser .....  ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz