Hallo,
das geht ja wirklich super schnell hier. Erstmal Danke dafür.
Das mit dem Skript habe ich gemacht und das scheint zu funktionieren. Super.
Allerdings sieht mein OnExit Event aber deutlich anders aus:
Code: Alles auswählen
Begin
// LS: 2008-10-01 HS
sJa := copy(frmdata.sJaNein,1,1);
iBMAND_ID := AsInteger(q_1.FieldByName('BMAND_ID'));
iBPROJ_ID := AsInteger(q_1.FieldByName('BPROJPO_BPROJ_ID'));
MySQL := frmData.Universal;
MySQL.SQL.Text := 'SELECT AUTOPROJPOS FROM BMAND WHERE ID = :BMAND_ID';
MySQL.ParamByName('BMAND_ID', iBMAND_ID);
MySQL.open();
sAUTOPROJ := AsString(MySQL.FieldByName('AUTOPROJPOS'));
MySQL.close();
if (sAUTOPROJ = sJa) then
begin
MySQL.SQL.Text := 'SELECT FIRST 1 ID AS "ID", STATUS FROM BPROJPO WHERE BPROJ_ID_LINKKEY = :BPROJ_ID ORDER BY MASKENKEY';
// Versuch DTI MySQL.SQL.Text := 'SELECT ID AS "ID", STATUS FROM BPROJPO WHERE BPROJ_ID_LINKKEY = :BPROJ_ID AND MASKENKEY = " 800" ORDER BY MASKENKEY';
MySQL.ParamByName('BPROJ_ID', iBPROJ_ID);
MySQL.open();
iBPROJPO_ID := AsInteger(MySQL.FieldByName('ID'));
sSTATUS := AsString(MySQL.FieldByName('STATUS'));
MySQL.close();
if (iBPROJPO_ID > 0) then
begin
if (sSTATUS = 'TF') then
begin
if (messagebox(LB_STATUSTF.caption, self.caption, 4+256) = 6) then
begin
M := q_1.FieldByName('BPROJPO_ID');
M.Value := iBPROJPO_ID;
q_1.RelationIdFeld('BPROJPO_ID');
end;
end
else
begin
M := q_1.FieldByName('BPROJPO_ID');
M.Value := iBPROJPO_ID;
q_1.RelationIdFeld('BPROJPO_ID');
end;
end;
end;
End;
Ihre Prozedur ist von 2010 das kann ja eigentlich in dieser "alten" Version der Datenbank nicht drin sein.
Die Domain von BPROJPO_MASKENKEY stimmt.
Sollte ich die Prozedur mit Ihrer neuen Variante überschreiben?
Es bleibt spannend, aber es geht voran.
Danke
Dirk