Following Joseme's advice i've added the qcalc.open code. And now the code goes like this
begin
qcalc.Close;
qcalc.sql.clear;
qcalc.sql.add('SELECT * FROM master WHERE address=:Address');
qcalc.Params.ParamByName('Address').AsString := Address.text;
qcalc.open;
if qcalc.recordcount = 0 then
begin
showmessage('Address not found!');
end
else
begin
Qcalc.Close;
Qcalc.sql.clear;
Qcalc.sql.text:='INSERT INTO trmt VALUES (address.text), CURRENT_TIMESTAMP, 20000, (
SELECT (M.land*RM.landrate)+(M.bldg*RM.bldgrate)
FROM MASTER AS M, Rmnt AS RM
WHERE M.Address := address AND M.Cluster = RM.Cluster)';
QHitung1.execSQL;
TransHitung.commit;
Qcalc.sql.clear;
Qcalc.sql.text:='
INSERT INTO trair
VALUES (edAddress), CURRENT_TIMESTAMP,(
SELECT M.PemAirTrkr
FROM MASTER AS M
WHERE M.Address:=EdAddress), edMTA, (BAw-BAk)';
Qcalc.execSQL;
Transcalc.commit;
Qcalc.sql.clear;
Qcalc.sql.text:='UPDATE master SET PemAirTrkr = edMTA WHERE Alamat = EdAddress';
Qcalc.ExecSQL;
Transcalc.Commit;
end;
end;
It still raises the same old error
Do i mess up somewhere else?