01-02-2010, 07:33 PM
B.M.AbdelAziZ كتب :
وعليكم السلام
اولا الكود الثاني خطا
انت تقوم بتعديل سجل/ثم اضافة/ثم حفظ دون كتابة قيم الحقول
بالنسبة لسؤالك لا يمكن باستعمال حقل Autoinc
ان اردت لاخر سجل ان يكوةن كما تريد:
قبل اضافة سجل خذ قيمة السجل الاخير
ضف لها واحد واستخدمها كقيمة للحقل
طبعا غير النوع من AutoInc الى حقب ععدي
وبالتوفيق
شكرً جزيلاً
كنت استعمل هذا الكود مع قاعدة البيانات PARADOX
لكن عندما انتقلت الى Absolute
لم يعد يعمل ولا اعرف ما السبب
اليك الكود الذي كنت استعمله قبل تنقلي للAbsolute
للإضافة التلقائة ونوع الحقل SMALLINT
الكود
كود :
InsertType:string;
TCde: Char;
implementation
uses UModule;
{$R *.dfm}
procedure TFormRT4_FCT.FormActivate(Sender: TObject);
begin
TCde:=#0;
InsertType:='Insert';
with DM.Table1 do begin
SetKey;
EditKey;
ActiveControl:=Cde;
Cde.text:=IntToStr(DM.Table1.RecordCount+1);
end;
end;
procedure TFormRT4_FCT.CdeKeyPress(Sender: TObject; var Key: Char);
var KeyValue:Integer;
cKeyValue:String;
begin
if key=#13 then DBEdit7.setfocus;
begin
if InsertType='FindKey' then begin
with DM.Table1 do begin
if Cde.text='' then Cde.text:='0';
EditKey;
DM.Table1['OR']:=StrToInt(Cde.text);
if not GotoKey then begin
end;
end;
end;
if InsertType='Insert' then begin
with DM.Table1 do begin
if Cde.text='' then Cde.text:='0';
EditKey;
DM.Table1['OR']:=StrToInt(Cde.text);
cKeyValue:=Cde.text;
try
KeyValue:=StrToInt(cKeyValue)
except
KeyValue:=0
end;
if not GotoKey then begin
DM3.Table1.Insert;
DM.Table1['OR']:=KeyValue;
DM.Table1.Post;
DM.Table1.Edit;
end;
end;
end;
end;
