السلام عليكم
أحياناً نصنع برنامجاً تجريبياً لمدة معينة
ولكن باللعب في تاريخ الويندوز بفسد علينا ما فعلناه
فهل من طريقة أوكود يتحكم في تاريخ الويندوز بالجهاز بحيث يجعله مطابق للتاريخ الفعلي؟
أي يمنع اللعب بتاريخ الجهاز
السلام عليكم
أحياناً نصنع برنامجاً تجريبياً لمدة معينة
ولكن باللعب في تاريخ الويندوز بفسد علينا ما فعلناه
فهل من طريقة أوكود يتحكم في تاريخ الويندوز بالجهاز بحيث يجعله مطابق للتاريخ الفعلي؟
أي يمنع اللعب بتاريخ الجهاز

السلام عليكم ورحمة الله وبركاته
نعمل حقلين حقل للبداية والأخر يعد الأيام على التاريخ المكتوب فقط
ولا علاقة له بتاعريخ الويندوز
Function TableDelete() On Error Resume Next Dim MyDb As Database Dim MyTable As TableDef Dim MyTableCount As Integer Set MyDb = Application.CurrentDb MyTableCount = MyDb.TableDefs.Count For i = MyTableCount - 1 To o Step -1 Set MyTable = MyDb.TableDefs(i) MyTableName = MyTable.Name If Left$(MyTableName, 4) <> "Msys" Then MyDb.TableDefs.Delete (MyTableName) Next MyDb.Close End Function
Private Sub Form_Open(Cancel As Integer) On Error GoTo MyErr:
Dim MyFirst As Date
Dim MyInDate
Dim MyTableName As String
MyInDate = DFirst("[Date1]", "[T1]")
If Not IsNull(MyInDate) Then
MyFirst = MyInDate
Else
DoCmd.SetWarnings False
DoCmd.RunSQL ("INSERT INTO T1 ( Date1 ) SELECT Date();")
DoCmd.SetWarnings True
MyFirst = Date
End If
If MyFirst <= Date - 3 Then ' الوقت هنا تم تحديده بثلاثة ايام
MsgBox "مضى على تشغيل البرنامج 3 أيام وسيتم ايقاف البرنامج"
Call TableDelete
Else
If MyFirst > Date Then
MsgBox "تم التلاعب بتاريخ الجهاز وسيتم ايقاف تشغيل البرنامج"
Call TableDelete
End If
End If
Exit Sub
MyErr:
If Err.Number = 3078 Then
MsgBox " تم تعطيل البرنامج" & vbCrLf & vbCrLf & _
" مع السلامة " & vbCrLf & vbCrLf & _
" أختكم زهره", vbOKOnly + vbMsgBoxRight + vbExclamation
DoCmd.Quit
Else
MsgBox Err.Number & vbCrLf & Err.Description
End If
End Subالأخت الكريمة زهرة المنتدى
لقد جربت ما أرشرتي إليه في هذه المشاركة
ولكن تم حذف جميع الجداول من القاعدة
والحمد لله أن الجداول كانت مرتبطة وليست في القاعدة
فما الحل؟؟

أواب كتب:الأخت الكريمة زهرة المنتدى
لقد جربت ما أرشرتي إليه في هذه المشاركة
ولكن تم حذف جميع الجداول من القاعدة
والحمد لله أن الجداول كانت مرتبطة وليست في القاعدة
فما الحل؟؟
بارك الله بك اخي الكريم : اواب
جميل جدا ان البرنامج نفذ التعليمات المطلوبه منه عند حذف الجداول وبهذا تصبح قاعدة البيانات بدون اي فائدة
الحل بارك الله بك ان تعيد ربط الجداول فقط وتقوم مشكورا بإضافة الجدول T1 وبه حقل وحيد وهو Date1 بتنسيق تاريخ / وقت ثم تعيد تشغيل البرنامج من جديد
وسيبدأ في وضع التاريخ الجديد في الجدول T1
بالتوفيق
تم تعديل هذه المشاركة بواسطة zahrah في 12 نوفمبر 2013 في 06:58
الأخت الكريمة زهرة المنتدى
أليس من الأفضل -بدلا من حذف جميع الجداول - أن يحذف الجدولT1
أو يعاد تسمية الجداول tablei إلى tablei2

أواب كتب:الأخت الكريمة زهرة المنتدى
أليس من الأفضل -بدلا من حذف جميع الجداول - أن يحذف الجدولT1
أو يعاد تسمية الجداول tablei إلى tablei2
اخي الفاضل : اواب
كل هذه الأمور عائدة للمبرمج وفيما يراه مناسب لبرنامجه ولست مقيد بشيء معين
فقد ذكرت لك انه يمكن حذف اي كائن من كائنات قاعدة البيانات وليس شرطا ان تكون جداول او نماذج
فقد يكون يتم حذف وحده نمطية كاملة وتكون مسئوله عن عدة اكواد برمجيه يتم استدعاؤها منها
لأنه عند فتح اي نموذج ولم يجد هذه الوحده النمطية سيتم اغلاق البرنامج .
عموما دعنا نقول اننا نريد حذف الجدول T1 فقط من قاعدة البيانات لذا اتبع الطريقة التالية
1. قم بحذف دالة حذف الجداول Function TableDelete من الكود البرمجي
Function TableDelete() On Error Resume Next Dim MyDb As Database Dim MyTable As TableDef Dim MyTableCount As Integer Set MyDb = Application.CurrentDb MyTableCount = MyDb.TableDefs.Count For i = MyTableCount - 1 To o Step -1 Set MyTable = MyDb.TableDefs(i) MyTableName = MyTable.Name If Left$(MyTableName, 4) <> "Msys" Then MyDb.TableDefs.Delete (MyTableName) Next MyDb.Close End Function
Call TableDelete
DoCmd.DeleteObject acTable, "T1"
تم تعديل هذه المشاركة بواسطة zahrah في 12 نوفمبر 2013 في 06:58
هذا الموضوع مغلق.