السلام عليكم ورحمة الله وربركاتة
عملت برنامج يستقبل بيانات المريض ومن ضمنها العمر واذا ادخلت تاريخ الميلاد يعطيني العمر تلقائياً ويخزنه في قاعدة البيانات
المشكلة هي كيف يمكن تحديث العمر تلقائياً في قاعدة البيانات
ومشكورين مقدماً
السلام عليكم ورحمة الله وربركاتة
عملت برنامج يستقبل بيانات المريض ومن ضمنها العمر واذا ادخلت تاريخ الميلاد يعطيني العمر تلقائياً ويخزنه في قاعدة البيانات
المشكلة هي كيف يمكن تحديث العمر تلقائياً في قاعدة البيانات
ومشكورين مقدماً
مشكور اخوي عبدالمانع على الرد السريع
المشكلة عندي ماهي باستخراج العمر
المشكلة تحديث العمر
يعني اذا طلعلي عند اول ادخال عمر الشخص 20 سنه بعد ستة اشهر ابية يحذثه تلقائياً ويصر 20 سنة و 6 اشهر
وبالفيجيوال بيسك نت
والله يفقك ويكثر من امثالك
إذا كنت تريد أن تقوم بتحدت العمر بهذا الاسلوب فأنه عليك أن تقوم بإختبار العمر المسجل عند مناداة كل سجل مع التاريخ الحالي وتحديت السجل في كل مرة وهذا أمر مكلف في رأي الشخصي
والاسلوب الافضل أن تقوم بتسجيل تاريخ الميلاد في قاعدة البيانات وتقوم بحساب العمر عن طريق الشفرة وذلك بمقارنة تاريخ الميلاد والتاريخ الحالي وهذا يجنبك التعديل في كل مرة تقوم باستخراج السجل
يمكنك أن تستخدم دالة لحساب العمر وتقوم فقط بمناداتها عند طلب كل سجل بدلا من التعديل في قاعدة البيانات كل مرة
والله الموفق
مشكور اخوي Ammar Gaffar بس ياليت تعطيني مثال على هذي الطريقة
اقتباسواذا ادخلت تاريخ الميلاد يعطيني العمر تلقائياً ويخزنه في قاعدة البيانات
يمكنك أن تقوم بعكس الاسلوب الذي إتبعته وهو اخذ تاريخ الميلاد من قاعدة البيانات وحساب العمر وعرضه في واجهة البرنامج
الشفرة التالية هي عبارة عن دالة تقوم بمقارنة عدد السنوات بين تاريخين وهذا الدالة عند مناداتها يجب تمرير متغيرين من النوع Date وتقوم هذه الدالة باسترجاع عدد السنوات
Public Function YearsBetweenDates(ByVal StartDate As DateTime, ByVal EndDate As DateTime) As Integer If Month(EndDate) < Month(StartDate) Or (Month(EndDate) = Month(StartDate) And (EndDate.Day) < (StartDate.Day)) Then Return Year(EndDate) - Year(StartDate) - 1 Else Return Year(EndDate) - Year(StartDate) End If End Function
هذه الدالة يمكنك إستخدامها في أشياء أخري كثيرة وفي ماطلبته قم بتمرير تاريخ الميلاد وتاريخ اليوم لحساب العمر مثلاً
MsgBox(YearsBetweenDates("1/1/1981",Now.Date))في هذه الشفرة ستقوم الدالة باسترجاع الفرق بين هذين التاريخين المدخلين وهو العمر
والله الموفق
السلام عليكم ورحمة الله
ممكن تستخدم دالة من الدوال الجاهزة فى الدت نت
Console.WriteLine(DateDiff(DateInterval.Year, #1/1/1980#, #1/2/2005#)) Console.Read()
{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

هذا الموضوع مغلق.