25-09-2022, 08:56 PM
السلام عليكم و رحمة الله و بركاته
اريد الحصول على ترقيم تلقائي للحقل ID2 و دالك بتوفر الشرط ID كما هو مبين في الشكل أدناه
![[صورة: 166413555770391.png]](https://mrkzgulfup.com/uploads/166413555770391.png)
استعمل الكود الثالي و لكنه لا يعمل في الصورة العلوية ينقص التارخ بالطبع
ما الدي يجب تعديله في هدا الكود و اذا كان هناك طريقة اخرى افيدونا و شكرا
مع العلم ان ID2 من نوع string
اريد الحصول على ترقيم تلقائي للحقل ID2 و دالك بتوفر الشرط ID كما هو مبين في الشكل أدناه
![[صورة: 166413555770391.png]](https://mrkzgulfup.com/uploads/166413555770391.png)
استعمل الكود الثالي و لكنه لا يعمل في الصورة العلوية ينقص التارخ بالطبع
ما الدي يجب تعديله في هدا الكود و اذا كان هناك طريقة اخرى افيدونا و شكرا
مع العلم ان ID2 من نوع string
PHP كود :
function Tform1.Autoid_id: String;
var
n_annee: string;
a_Num, Err: integer;
a_Key: variant;
begin
with Qry1 do
begin
Active := False;
SQL.Clear;
SQL.Add('SELECT Max(ID2 ) as ID2 ');
SQL.Add('FROM teste a ');
SQL.Add('WHERE ID1 > ID2 ');
Active := True;
end;
n_annee := formatdatetime('YY', Now);
a_Key := QryID2.Value;
if (a_Key = NULL) or (copy(a_Key, length(a_Key) - 1, 2) <> n_annee) then
a_Num := 0
else
begin
val(copy(a_Key, 1, 1), a_Num, Err);
if Err <> 0 then
a_Num := 0;
end;
result := format('%1.1d/', [a_Num + 1]) + n_annee;
Qry1.FieldByName('ID2').Text := copy(result,length(result) - 5, 3) + '-' + n_annee;
end;