CASE "Table No." OF
DATABASE::Customer:
BEGIN
Cust.SETPOSITION("Record Position");
FORM.RUN(0,Cust);
END;
DATABASE::Vendor:
BEGIN
Vend.SETPOSITION("Record Position");
FORM.RUN(0,Vend);
END;
DATABASE::"Sales Header":
BEGIN
SalesHeader.SETPOSITION("Record Position");
FORM.RUN(0,SalesHeader);
END;
[...]
END;
Khristan hat geschrieben:Huhu,
IF Obj.GET(Obj.Typ::Table, '', TableID) THEN BEGIN
Obj.CALCFIELDS("BLOB Referenz");
Obj."BLOB Referenz".CREATEINSTREAM(InStr);
WHILE NOT InStr.EOS DO BEGIN
InStr.READ(NxtInt);
IF (NxtInt = 283207) AND (NOT InStr.EOS) THEN BEGIN
InStr.READ(NxtInt);
EXIT(NxtInt);
END;
END;
END;
EXIT(0);
Du kannst den 2. Parameter auch komplett weglassen, die Formnummer reicht. NatĂĽrlich kannst du dann keine Filter ĂĽbergeben....
martinst hat geschrieben:Der Ansatz ist genial, löst das Problem aber auch nicht.
Bei einem Form.Run muss aber als 2. Parameter eine Variable vom Typ Record und nicht RecordRef angegeben werden.
Schon klar. War auch nur als Idee gedacht.
Habe ĂĽbrigens noch was bei MIBUSO gefunden:
Aber genial ist es trotzdem.
Schon gesehen.
Das kommt mir aber eher so Bastler-mässig vor.
martinst hat geschrieben:Du kannst den 2. Parameter auch komplett weglassen, die Formnummer reicht. NatĂĽrlich kannst du dann keine Filter ĂĽbergeben....
Und auf welchem Record stehst Du?
IF Obj.GET(Obj.Typ::Form, '', FormID) THEN BEGIN
Obj.CALCFIELDS("BLOB Referenz");
Obj."BLOB Referenz".CREATEINSTREAM(InStr);
WHILE NOT InStr.EOS DO BEGIN
InStr.READ(NxtInt);
IF (NxtInt = 283173) AND (NOT InStr.EOS) THEN BEGIN
InStr.READ(NxtInt);
EXIT(NxtInt);
END;
END;
END;
EXIT(0);
Mitglieder in diesem Forum: DotBot [Bot] und 1 Gast