25. März 2010 12:14
25. März 2010 12:28
25. März 2010 13:03
25. März 2010 13:08
MSchifferdecker hat geschrieben:1. Nav sollte wissen, dass es 2 Bedingungen gibt, wann es nur die 2 Tabelle durchsuchen muss. (Sowas wie wenn der Kontakt Typ A oder Typ B ist, dann durchlaufe die Tabelle2. Mache das aber nicht, wenn der Kontakt Typ C oder Typ D ist.) Ich glaube, dass diese Info dann im Code zur Tab1 stehen müsste.
2. In den Properties von Tab2 steht ja schon aufgrund welchen Feldes der entsprechende Kontakt in der Tab2 gefunden werden kann. Dann müsste im Code der Tab 2 vermutlich nurnoch stehen, welches Feld dann im Report ausgegeben soll. Muss ich das über eine Variable machen, oder kann ich in den Sections dann einfach Tab2.Field als Quelle angeben?
CLEAR(Tabelle2); // sicher gehen das nicht angedruckt wird, falls Typ nicht stimmt
IF (Tabelle1.Typ = Tabelle1.Typ::A) OR (Tabelle1.Typ = Tabelle1.Typ::B) THEN BEGIN
// Durchlaufe Tabelle 2
Tabelle2.RESET;
Tabelle2.SETRANGE(...);
IF Tabelle2.FINDFIRST THEN BEGIN
// tue etwas mit Tabelle2
END;
END;
25. März 2010 13:55
25. März 2010 14:19
MSchifferdecker hat geschrieben:1. Nav sollte wissen, dass es 2 Bedingungen gibt, wann es nur die 2 Tabelle durchsuchen muss. (Sowas wie wenn der Kontakt Typ A oder Typ B ist, dann durchlaufe die Tabelle2. Mache das aber nicht, wenn der Kontakt Typ C oder Typ D ist.) Ich glaube, dass diese Info dann im Code zur Tab1 stehen müsste.
2. In den Properties von Tab2 steht ja schon aufgrund welchen Feldes der entsprechende Kontakt in der Tab2 gefunden werden kann. Dann müsste im Code der Tab 2 vermutlich nurnoch stehen, welches Feld dann im Report ausgegeben soll. Muss ich das über eine Variable machen, oder kann ich in den Sections dann einfach Tab2.Field als Quelle angeben?
if Tab1.ContactTyp in[Tab1.ContactTyp::C,Tab1.ContactTyp::D]then
CurrReport.break;
25. März 2010 14:20
IF Tab1.Typ IN ['C','D'] THEN
CurrReport.BREAK;
25. März 2010 17:50
26. März 2010 08:41
29. März 2010 15:52
IF (Typ=Typ::A) THEN BEGIN
Tab2.SETRANGE(NrA,"No.");
Tab2.SETRANGE(Aktiv,True);
END ELSE IF (Typ=Typ::B) THEN BEGIN
Tab2.SETRANGE(NrB,"No.");
Tab2.SETRANGE(Aktiv,True);
END ELSE IF NOT Tandem.Findfirst THEN
CurrReport.Skip;
29. März 2010 16:31
IF Typ=Typ::A THEN BEGIN
Tab2.SETRANGE(NrA,"No.");
Tab2.SETRANGE(Aktiv,True);
END ELSE
IF Typ=Typ::B THEN BEGIN
Tab2.SETRANGE(NrB,"No.");
Tab2.SETRANGE(Aktiv,True);
END ELSE
IF NOT Tandem.Findfirst THEN
CurrReport.Skip;
CASE Typ OF
Typ::A :
BEGIN
Tab2.SETRANGE(NrA,"No.");
Tab2.SETRANGE(Aktiv,True);
END;
Typ::B :
BEGIN
Tab2.SETRANGE(NrB,"No.");
Tab2.SETRANGE(Aktiv,True);
END;
ELSE
IF NOT Tandem.Findfirst THEN
CurrReport.Skip;
END;
29. März 2010 17:07
MSchifferdecker hat geschrieben:Das Ganze steht nun im On PreDataItem.
29. März 2010 17:22
29. März 2010 18:04
Contact
Tandem
IF Contact.Typ IN [Contact.Typ::C,Contact.Typ::D] THEN
CurrReport.BREAK;
IF "G/L Register"."No." IN [2,4] THEN
CurrReport.BREAK;