ffelaar
asked on
Making last record new record???
Hi all,
After saving a record to a table, I want to make the values saved the defaults of a new (yet to be posted) record and have those values displayed in the data-aware components?
Any ideas?
Thanx, fats
After saving a record to a table, I want to make the values saved the defaults of a new (yet to be posted) record and have those values displayed in the data-aware components?
Any ideas?
Thanx, fats
ffelaar:
I use to do that by 2 ways:
1. If the number of columns is not that big (about 10), I use Delphi variables (var) to keep the values BEFORE posting the first record. Then, after I call the Post method and the Insert (to insert the new record), I set the new record fields using the values stored in the variables.
2. In the AfterInsert of the TTable or TQuery, use a auxiliary TQuery to search for the last posted record (if you have a Primary key created with a sequence, use the SQL:
SELECT * FROM TABLE_NAME
WHERE KEY_FIELD IN
(SELECT MAX(KEY_FIELD
FROM TABLE_NAME)
After getting the last record, set the new fields by
Query1.FieldByName('FIELD1 ').AsType := QueryAux.FieldByName('FIEL D1).AsType ;
Query1.FieldByName('FIELD2 ').AsType := QueryAux.FieldByName('FIEL D2).AsType ;
and so on...
Fabio
I use to do that by 2 ways:
1. If the number of columns is not that big (about 10), I use Delphi variables (var) to keep the values BEFORE posting the first record. Then, after I call the Post method and the Insert (to insert the new record), I set the new record fields using the values stored in the variables.
2. In the AfterInsert of the TTable or TQuery, use a auxiliary TQuery to search for the last posted record (if you have a Primary key created with a sequence, use the SQL:
SELECT * FROM TABLE_NAME
WHERE KEY_FIELD IN
(SELECT MAX(KEY_FIELD
FROM TABLE_NAME)
After getting the last record, set the new fields by
Query1.FieldByName('FIELD1
Query1.FieldByName('FIELD2
and so on...
Fabio
to kretzschmar.
Sorry all for disturbing, but it's one way to access Meikl.
Meikl, something wrong with your e-mail, I get a message:
-------------
"The message that you sent was undeliverable to the following:
meikl@abcdef.de (access denied)"
-------------
where abcdef = your host. Do I need to try agan it later or may be you have another e-mail?
Sorry all for disturbing, but it's one way to access Meikl.
Meikl, something wrong with your e-mail, I get a message:
-------------
"The message that you sent was undeliverable to the following:
meikl@abcdef.de (access denied)"
-------------
where abcdef = your host. Do I need to try agan it later or may be you have another e-mail?
to igor,
didn't know, where this come from (abcdef)
my eMail is
meikl@spektracom.de
meikl
didn't know, where this come from (abcdef)
my eMail is
meikl@spektracom.de
meikl
to meikl,
I get it again:
----
The message that you sent was undeliverable to the following:
meikl@spektracom.de (access denied)
-----
Ok, i will consult with me sysadmin, it look like we get troubles.
By Igor.
I get it again:
----
The message that you sent was undeliverable to the following:
meikl@spektracom.de (access denied)
-----
Ok, i will consult with me sysadmin, it look like we get troubles.
By Igor.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Listening
ASKER
Well what can I say, exactly what I needed. I am sorry I took so long to respond ... I was kind of down and out wiht the flu ... but hey, better late than never hey
Thank you, thank you once again ...
fats
Thank you, thank you once again ...
fats
from my paq, a bit modified
a sample (table1 = Workingtable, table2 = get last values)
procedure TForm1.Button1Click(Sender
var i : Integer;
begin
table2.last;
table1.Append;
for i := 0 to table2.FieldCount - 1 do
table1.Fields[i].Assign(ta
//table1.post; //do not post yet, maybe the user want to modify
end;
remark table1 and table2 can pointed to the same table or to two tables with same structure,
meikl