21. März 2007 15:18
		
			
			Hallo,
in dem Screenshot sie man eine Main Subform.
Ich möchte erreichen das wenn ich  auf die Schaltfläche "Buchen" klicke im Kopf, in den Zeilen in der Spalte STatus der Optionswert "WARENEINGANG" reingeschrieben wird.
Wie muss ich das machen? Also die obere und untere TAbelle sind über No und Kundennummer verknüpft, wíe mach ich das im on push trigger?
			
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
				Zuletzt geändert von tesarolle am 22. März 2007 17:19, insgesamt 1-mal geändert.
					
				
			
		 
	
        
        21. März 2007 15:23
		
			
			Recordvariable für zeile erstellen, entsprechend filtern, und dann modifyall verwenden. Syntax in der Onlinehilfe.
			
		
	 
	
        
        21. März 2007 16:08
		
			
			Mhn,  also ich glaube das Filtern klappt, aber das überschreiben in den Zeilen nicht:
- Code:
- WITH rec_WARENEINGANG DO BEGIN  
 RESET;
 SETFILTER(rec_WARENEINGANG.STATUS, '%1',STATUS::WARENEINGANG);
 SETFILTER("No.", rec_WARENEINGANG."No.");
 MODIFYALL(STATUS, STATUS:=STATUS::WARENAUSGANG, TRUE);
 END;
Ich will halt anhand der "No." im Kopf die Zeilen anhand der Kopf  "No." filtern und alle sätze die Status "wareneingang" haben mit Status "Warenausgang" überschreiben...
			
		
 
	
        
        21. März 2007 16:12
		
			
			Wieso setzt du Filter auf die Felder Status und No.? Du hast doch in deinem ersten Topic geschrieben, dass die beiden Tabellen über die Felder Nr. und Kundennr. miteinander verknüpft sind.
Gruß, Marc
			
		
	 
	
        
        21. März 2007 16:14
		
			
			Diese Zeile scheint mir falsch zu sein:
- Code:
- MODIFYALL(STATUS, STATUS:=STATUS::WARENAUSGANG, TRUE);
Meiner Meinung nach müsste das heissen:
- Code:
- MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
 
	
        
        21. März 2007 16:32
		
			
			Hallo Marc,
Ja ich wollte eigentlich den Filter über das Feld Kundennummer  und  NUmmer machen, mhn ich blick  dasnicht (:-
Also im Kopf habe ich  den Primärschlussel "No,KUNUMMER"  und in den Zeilen auch
Und ich will das er mir entsprechend der "NO,Kunummer" aus dem Kopf inden Zeilen Filtert und dann das modifyall macht.
			
		
	 
	
        
        21. März 2007 17:09
		
			
			tesarolle hat geschrieben:Also im Kopf habe ich  den Primärschlussel "No,KUNUMMER"  und in den Zeilen auch
In den Zeilen auch? Müsste dort nicht der Schlüssel so lauten: NO,Kunummer,Zeilennr. ?
tesarolle hat geschrieben:Und ich will das er mir entsprechend der "NO,Kunummer" aus dem Kopf inden Zeilen Filtert und dann das modifyall macht.
Na, das hast du doch schon fast gemacht. Du hast nur die falschen Felder genommen. So müsste es meiner Meinung nach aussehen:
- Code:
- WITH rec_WARENEINGANGSZEILEN DO BEGIN 
 SETRANGE(NO, NO);
 SETFILTER(Kunummer, Kunummer);
 MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
 END;
Bei dem COde gehe ich davon aus, dass du ihn aus dem Kopf (ob Tabelle oder Form) startest.
Gruß, Marc
			
		
 
	 
	
        
        21. März 2007 19:24
		
			
			bei der KUnummer würde ich auch setrange statt setfilter nehmen
			
		
	 
	
        
        22. März 2007 12:12
		
			
			Hallo Ihr beiden,
naja langsam ernährt sich das  Eichhörnchen!
Wenn ich das Setrange mit der No und KUNUMMER mache findet er komischerweise  anscheinend keine Datensätze und macht auch nichts, sowie unten funktioniert der Code, allerdings macht er halt bei allen  Sätzen ohne Filterung inder TAbelle den Status auf "WArenausgang" aber fast passt bei den beiden Zeilen nicht die ich auskommentiert habe?
Die Tabelle sind über No. und KUNUMMER  verknüpft, bin da irgendwie ratlos... Stimmt was mit demSetrange nicht? Oder muss noch ein Reset davor??
- Code:
- WITH rec_WARENEINGANG DO BEGIN
 
 //  SETRANGE("No.", "No.");
 //  SETRANGE(KUNUMMER, KUNUMMER);
 MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
 END;
 
	
        
        22. März 2007 14:43
		
			
			Die beiden auskommentierten Zeilen von oben funktionieren nicht auch wenn ich Sie reinnehme und ich weiss immer nochnicht warum... kann mir jemand auf die Sprünge helfen und mir sgen warum das SETRANGE nicht geht?
			
		
	 
	
        
        22. März 2007 14:52
		
			
			Bist du dir sicher, dass er nichts macht?
Klick mal anschließend in eineSubform-Zeile herein und wieder raus. Ist der Wert in dieser Zeile noch immer nicht aktualisiert?
Möglicherweise ist es nur ein Update-Problem. Dann muss auf der Subform
CurrForm.UPDATE ausgeführt werden.
			
		
	 
	
        
        22. März 2007 15:00
		
			
			Kennst du dich mit dem Debugger aus? Wenn ja, überprüfe doch dort mal den Code.
Gruß, Marc
			
		
	 
	
        
        22. März 2007 15:02
		
			
			Also wenn ich den Code so ausführe:
WITH rec_WARENEINGANG DO BEGIN
//  SETRANGE("No.", "No.");
//  SETRANGE(KUNUMMER, KUNUMMER);
  MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
END;
dann sehe ich sofort das er in den Zeilen umstellt von WARENEINGANG auf WARENAUSGANG, also er  macht auch  das was ich will.
Und sobald ich eine vondenbeiden auskommentierten Zeilen reinnehme geht es nicht mehr.
Von daher  sollte es kein Update PRoblem sein, habe auch schon auftabellenebene geschaut, da ist keine veränderung....
			
		
	 
	
        
        22. März 2007 15:03
		
			
			Achso, mit dem Debuggar habeichauchgeschaut,  damacht er gar nichts,  also der findet gar keinen Satz.
			
		
	 
	
        
        22. März 2007 15:27
		
			
			KOMISCH! Ich habe anstatt SETRANGE("No.", "No.");  nun SETFILTER genommen und dann gehts!
Aber ich versteh das nicht?????
Die Nummer ist Code feld, das muss doch auch mit setrange gehen???
			
		
	 
	
        
        22. März 2007 16:30
		
			
			durch den WITH befehl könnte es Probleme geben....
entweder
- Code:
- BEGIN 
 rec_WARENEINGANG.SETRANGE("No.", "No.");
 rec_WARENEINGANG.SETRANGE(KUNUMMER, KUNUMMER);
 rec_WARENEINGANG.MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
 END;
 
oder 
- Code:
- WITH rec_WARENEINGANG DO BEGIN 
 SETRANGE("No.", rec."No.");
 SETRANGE(KUNUMMER, rec.KUNUMMER);
 MODIFYALL(STATUS, STATUS::WARENAUSGANG, TRUE);
 END;
 
dann sollte es gehen
			
		
 
	
        
        22. März 2007 16:39
		
			
			Lieber Michael,
woher weisst Du das blos alles? *g*!!!
ENDLICH GEHT ES!!!! JUHU!
Aber warum  der with sich so komisch verhält wüßt ich mal gern... da wird man ja verrückt.
			
		
	 
	
        
        22. März 2007 16:58
		
			
			tesarolle hat geschrieben:Aber warum  der with sich so komisch verhält wüßt ich mal gern... da wird man ja verrückt.
Kann ich dir auch sagen ;)
Ich übersetze mal, was der WITH-Befehl an der Stelle macht:
- Code:
- WITH rec_WARENEINGANG DO BEGIN 
 
 rec_WARENEINGANG.SETRANGE("No.", rec_WARENEINGANG."No.");
 rec_WARENEINGANG.SETRANGE(KUNUMMER, rec_WARENEINGANG.KUNUMMER);
 rec_WARENEINGANG.MODIFYALL(STATUS, rec_WARENEINGANG.STATUS::WARENAUSGANG, TRUE);
 END;
Um sowas zu verhindern, muss man mit der Rec-Variable arbeiten.
			
		
 
	 
	
        
        22. März 2007 17:19
		
			
			Vielen Dank!
Bin ich froh das das geht, endlich keine Wutanfälle mehr 

!
			
		
 
	
	
	    
	        Powered by phpBB © phpBB Group.
		
		
		    phpBB Mobile / SEO by Artodia.