طريقة تغيير التاريخ في كامل الحقل
#1
السلام عليكم
إذا كان لدي جدول فيه عدة حقول منها على سبيل المثال حقل: تاريخ الميلاد وحقل :التاريخ الجديد
كيف أجعل التاريخ الجديد يتغير يوميا لوحده دون تدخل مني.
وشكرا
الرد
#2
و عليكم السلام و رحمة الله

ما نظام إدارة قواعد البيانات المستخدم ؟ + ما الهدف من تخزين تاريخ اليوم ؟
الرد
#3
السلام عليكم
أعتذر على الإطالة لأنه لم تكن لدي إنترنت في هذه المدة
- قاعدة البيانات هي أكسس 2003.
- الهدف هو حساب الأعمار لكل مسجل في قاعدة البيانات بحيث يتم حساب العمر مباشرة مع تحول التاريخ الجديد.
وشكرا
الرد
#4
إقتباس :الهدف هو حساب الأعمار لكل مسجل في قاعدة البيانات بحيث ...
يمكنك استخدام حقل حسابي CalculatedField والحدث OnCalcFields
راجع: http://www.delphi4arab.net/forum/showthr...p?tid=3569

وتذكر أن حساب الحقل يتم من خلال ما كتبت في الحدث OnCalcFields عند:
- فتح الجدول (Table.Open)
- تحول وضح الجدول إلى dsEdit
- التنقل عبر مكونات التحكم المرتبطة بالجدول (DBControls/DBGrid)

هذه الأخيرة لا تطلق الحدث OnCalcFields إذا ضبطت الخاصية AutoCalcFields على False وتطلق الحدث عند سحب سجل من قاعدة البيانات

عادة تضبط OnCalcFields على False في حالة عدم الحاجة إلى تغيير القيم المسببة في تغير قيمة الحقل المحسوب
والأفضل تعطيلها ثم إعادة تفعيلها في بعض الأحداث الحساسة التي قد تثير الحدث OnCalcFields
وإلا فقد تتسبب في استثناء Stack Overflow/Débordement de Pile
PHP كود :
with DataSet do begin
    AutoCalcFields 
:= False;
    try
      
FieldByName('FieldName').Value := ...;
    finally
      
AutoCalcFields := True;
    
end; 
بالتوفيق.
الرد
#5
السلام عليكم
مشكور أخي kachwahed على هذا التوجيه
لكن كيف أجعل التاريخ يتغير آليا ربما عند فتح الجدول أو عند أي حدث آخر
فهذا هو أهم شيئ عندي في السؤال الأصلي بالأعلى.
الرد
#6
السلام عليكم
إقتباس :- الهدف هو حساب الأعمار لكل مسجل في قاعدة البيانات بحيث يتم حساب العمر مباشرة مع تحول التاريخ الجديد.
وماذا عن هذا الإستعلام بين عمرين ؟
الرد
#7
السلام عليكم
جزاك الله خير
أرجـوا أن يفهم السؤال على حسب ما أريـده
ليس مقصودي هو حساب الفارق بين تاريخين وإنام:
أنا عندي جدول فيه مسجلون وبعد كل فترة أضيف إليه مسجلون أخرون إما بعد 3 أشهر أو بعد سنة أو أقل أو أكثر وأنت تعرف مع مرور كل سنة يتغير عمر كل مسجل فمثلا لو كان عندي مسجل في سنة 2010 كان عمره 30 سنة بعد عملية الحساب التي تكون بالفارق بين التاريخ الحالي وتاريخ الميلاد وفي سنة 2011 سيكون عمره 31 سنة كذلك بالعملية الحسابية المذكورة
السؤال هو كيف أجعل حقل التاريخ الحالي يتغير كامل محتواه آليا بعد فتح الجدول أو عند أي حدث
الرد
#8
و عليكم السلام و رحمة الله
إقتباس :أرجـوا أن يفهم السؤال على حسب ما أريـده
والمطلوب منك أن تفهم وتطبق ، هل جربت الحلول المذكورة في السؤال السابق ؟

كود :
DateDiff('yyyy',datnaissans,[COLOR=Red]Date()[/COLOR])
هذا يعطيك العمر بالسنوات ، Date() هو تاريخ اليوم

بالتوفيق
الرد
#9
السلام عليكم
مشكور أخي
هذا يعطيني تاريخ اليوم وإذا أردته غدا أن يصبح 01/03/2011 فماذا أفعل .
الرد
#10
إقتباس : هذا يعطيني تاريخ اليوم وإذا أردته غدا أن يصبح 01/03/2011 فماذا أفعل .
لا تفعل شيئا Smile
فهو يعطيك تاريخ النظام أي يتغير بتغير التاريخ
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم