Hi,
I going mad because of this error. I'm searching in a Table and by modifying a Dataset I get the messagge that the Dataset does not exist.
The code should set a tag by the last dataset of given set with fix "Item No.". Because of this a should modify the second-last found dataset.
Here the code:
PlanningBuffer.SETCURRENTKEY("Item No.",Date,Sort);
PlanningBuffer.COPYFILTERS("Planning Buffer");
OldItem := '';
lbo_First := TRUE;
IF PlanningBuffer.FIND('-') THEN BEGIN
REPEAT
IF (PlanningBuffer."Item No." <> OldItem) AND (NOT lbo_First) THEN BEGIN
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY;
END;
OldItem := PlanningBuffer."Item No.";
lre_PlanningBuffer.COPY(PlanningBuffer);
message('I[%1],M[%2]',PlanningBuffer."Item No.",PlanningBuffer."Buffer No.");
lbo_First := FALSE;
UNTIL PlanningBuffer.NEXT = 0;
// lre_PlanningBuffer.GET(lre_PlanningBuffer."Buffer No.");
lre_PlanningBuffer.Action := 'last';
lre_PlanningBuffer.MODIFY; // here the error
END;
Thanks a lot and regards,
Tommaso
Tommaso Cereghetti
IT-Consultant
0
Comments
You do a
lre_PlanningBuffer.COPY(PlanningBuffer);
If this is a temporary table and the record does not exist you can try an INSERT instead of the Modify.
If the record does exist you can try to get it instead of the copy.
Yes, the buffer is a temporary table.
But I should not insert a new dataset, I should only change the value of the field Action. What is surprising is that I cann't change a dataset that I have only just found.
IT-Consultant
If you define a second table then this is empty.
With normal tables you can do
Cust.GET;
Cust.Name := NewName;
Cust2 := Cust;
Cust2.MODIFY;
This you cannot do with temporary tables.
You realy need to modify the orriginal table.
Thank you very much!
IT-Consultant