delphi4arab منتديات دلفي للعرب
طريقة تغيير التاريخ في كامل الحقل - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : طريقة تغيير التاريخ في كامل الحقل (/showthread.php?tid=2823)

الصفحات: 1 2


طريقة تغيير التاريخ في كامل الحقل - وليد - 22-02-2011

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


طريقة تغيير التاريخ في كامل الحقل - Lam.Abdeldjalil - 24-02-2011

و عليكم السلام و رحمة الله

ما نظام إدارة قواعد البيانات المستخدم ؟ + ما الهدف من تخزين تاريخ اليوم ؟


طريقة تغيير التاريخ في كامل الحقل - وليد - 28-02-2011

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


طريقة تغيير التاريخ في كامل الحقل - kachwahed - 28-02-2011

إقتباس :الهدف هو حساب الأعمار لكل مسجل في قاعدة البيانات بحيث ...
يمكنك استخدام حقل حسابي CalculatedField والحدث OnCalcFields
راجع: http://www.delphi4arab.net/forum/showthread.php?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; 
بالتوفيق.



طريقة تغيير التاريخ في كامل الحقل - وليد - 28-02-2011

السلام عليكم
مشكور أخي kachwahed على هذا التوجيه
لكن كيف أجعل التاريخ يتغير آليا ربما عند فتح الجدول أو عند أي حدث آخر
فهذا هو أهم شيئ عندي في السؤال الأصلي بالأعلى.


طريقة تغيير التاريخ في كامل الحقل - Lam.Abdeldjalil - 28-02-2011

السلام عليكم
إقتباس :- الهدف هو حساب الأعمار لكل مسجل في قاعدة البيانات بحيث يتم حساب العمر مباشرة مع تحول التاريخ الجديد.
وماذا عن هذا الإستعلام بين عمرين ؟


طريقة تغيير التاريخ في كامل الحقل - وليد - 28-02-2011

السلام عليكم
جزاك الله خير
أرجـوا أن يفهم السؤال على حسب ما أريـده
ليس مقصودي هو حساب الفارق بين تاريخين وإنام:
أنا عندي جدول فيه مسجلون وبعد كل فترة أضيف إليه مسجلون أخرون إما بعد 3 أشهر أو بعد سنة أو أقل أو أكثر وأنت تعرف مع مرور كل سنة يتغير عمر كل مسجل فمثلا لو كان عندي مسجل في سنة 2010 كان عمره 30 سنة بعد عملية الحساب التي تكون بالفارق بين التاريخ الحالي وتاريخ الميلاد وفي سنة 2011 سيكون عمره 31 سنة كذلك بالعملية الحسابية المذكورة
السؤال هو كيف أجعل حقل التاريخ الحالي يتغير كامل محتواه آليا بعد فتح الجدول أو عند أي حدث


طريقة تغيير التاريخ في كامل الحقل - Lam.Abdeldjalil - 28-02-2011

و عليكم السلام و رحمة الله
إقتباس :أرجـوا أن يفهم السؤال على حسب ما أريـده
والمطلوب منك أن تفهم وتطبق ، هل جربت الحلول المذكورة في السؤال السابق ؟

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

بالتوفيق



طريقة تغيير التاريخ في كامل الحقل - وليد - 28-02-2011

السلام عليكم
مشكور أخي
هذا يعطيني تاريخ اليوم وإذا أردته غدا أن يصبح 01/03/2011 فماذا أفعل .


طريقة تغيير التاريخ في كامل الحقل - Lam.Abdeldjalil - 28-02-2011

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