اذهب الي المحتوي
أوفيسنا

ادراج تاريخ تلقائي مع عدم فتح الكمبيوتر لمدة يومين او ثلاثة


إذهب إلى أفضل إجابة Solved by ابوخليل,

الردود الموصى بها

اخوانى اريد عند فتح الكمبيوتر بعد ثلاثه ايام أن يضيف ثلاثه سجلات فى الجدول بعد فحص اخر تاريخ ويتوقف عند تاريخ أمس حاولت مرارا دون فائده استخدمت loop دون فاءده

رابط هذا التعليق
شارك

تفضل

Private Sub Form_Load()
Dim i, ii As Byte
Dim dt1, dt2 As Date
dt1 = DMax("dater1", "table1")
dt2 = (Date) - 1
i = dt2 - dt1
For ii = 1 To i
DoCmd.GoToRecord , , acNewRec
dt1 = dt1 + 1
Me.dater1 = dt1
Next
Me.Requery
End Sub

 

وهذا تطبيق :

db4.mdb

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

I=dt2-dti.   هذه الجمله تم تلوينها باالاصفر فى برنامج ى رغم انا مرفق حضرتك ماشاء الله هو طلبة وشغال تمام شاكر اهتمامك أستاذة مع العلم انى متابع جيد لحضرتك جعل الله كل متابعتكم فى ميزان حسناتك

استاذى

رابط هذا التعليق
شارك

3 ساعات مضت, محمد سعيد رشاد said:

I=dt2-dti.   هذه الجمله

اضافة الي ما تفضل به أستاذي الجليل 

لاحظت أن هناك خطأ بالجملة التي أشرت اليه حضرتك مختلف عن كود أستاذنا أبو خليل

حيث أن الكود الأصلي مكتوب هكذا 

10 ساعات مضت, ابوخليل said:

i = dt2 - dt1

أما كود حضرتك هو 

I=dt2-dti. (لاحظ حرف الـ i بدل رقم 1)

ربما كان هذا هو سبب الخظأ لديك

رابط هذا التعليق
شارك

اخى ابوخليل سأحاول رفع الملف قدر الإمكان لان النت عندى على الموبيل وليس الكمبيوتر ولكن اكيد سأحاول وساجرب الضغط والاصلاح بس اختلاف نسخه الويندوز ممكن يكون سبب. ؟؟

رابط هذا التعليق
شارك

اخى ابوخليل البرنامج بتاعك لما حذفت كل التواريخ وكتبت اول تاريخ من سنه فاتت حصلت نفس المشكله بتاعتى فى البرنامج بتاعك ممكن يكون مشكله فى تاريخ الكمبيوتر مثلا ولا ايه؟؟

رابط هذا التعليق
شارك

9 ساعات مضت, محمد سعيد رشاد said:

اخى ابوخليل البرنامج بتاعك لما حذفت كل التواريخ وكتبت اول تاريخ من سنه فاتت حصلت نفس المشكله بتاعتى فى البرنامج بتاعك ممكن يكون مشكله فى تاريخ الكمبيوتر مثلا ولا ايه؟؟

انت ذكرت المدة يومين او ثلاثة 

فأعطيتك الاجابة حسب الطلب

اما من سنة فهذا يعني ان عدد الايام سيزيد كثيرا

لذا غير السطر التالي :

Dim i, ii As Byte

الى :

Dim i, ii As Integer

 

رابط هذا التعليق
شارك

في ١١‏/١٢‏/٢٠٢٠ at 10:24, ابوخليل said:

تفضل



Private Sub Form_Load()
Dim i, ii As Byte
Dim dt1, dt2 As Date
dt1 = DMax("dater1", "table1")
dt2 = (Date) - 1
i = dt2 - dt1
For ii = 1 To i
DoCmd.GoToRecord , , acNewRec
dt1 = dt1 + 1
Me.dater1 = dt1
Next
Me.Requery
End Sub

 

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

أستاذي الجليل و معلمي القدير و والدى الحبيب الأستاذ @ابوخليل :fff: تحية عطرة طيبة

بعد اذن حضرتك ممكن أشارك بفكرة أخرى 

Private Sub Form_Load()
    Dim dt  As Date
        Do While dt < Format(Date, "DD/MM/YYYY")
            DoCmd.GoToRecord , , acNewRec
            dt = Nz(DMax("dater1", "table1"), Format(Date, "DD/MM/YYYY"))
            dater1 = dt + 1
        Loop
End Sub

 

تم تعديل بواسطه ابا جودى
رابط هذا التعليق
شارك

ولا اجمل .. فكرة جميلة مختصرة رائعة .. سعدت بمشاركتك :wub:

جربت الكود فوجدته يدرج حتى تاريخ الغد

واخونا محمد سعيد يريده ان يتوقف عند تاريخ أمس

لذا اضفت اليه سطرا لتقييده

 Dim dt  As Date
          Do While dt < Format(Date, "DD/MM/YYYY")
           If dt = (Date) - 1 Then Exit Sub
            DoCmd.GoToRecord , , acNewRec
            dt = Nz(DMax("dater1", "table1"), Format(Date, "DD/MM/YYYY"))
            dater1 = dt + 1
        Loop

 

  • Like 1
رابط هذا التعليق
شارك

6 ساعات مضت, ابوخليل said:

ولا اجمل .. فكرة جميلة مختصرة رائعة .. سعدت بمشاركتك :wub:

جربت الكود فوجدته يدرج حتى تاريخ الغد

واخونا محمد سعيد يريده ان يتوقف عند تاريخ أمس

لذا اضفت اليه سطرا لتقييده


 Dim dt  As Date
          Do While dt < Format(Date, "DD/MM/YYYY")
           If dt = (Date) - 1 Then Exit Sub
            DoCmd.GoToRecord , , acNewRec
            dt = Nz(DMax("dater1", "table1"), Format(Date, "DD/MM/YYYY"))
            dater1 = dt + 1
        Loop

 

جزاكم الله خيرا :fff:

أستاذي الجليل و معلمي القدير و والدى الحبيب الأستاذ @ابوخليل :fff: تحية عطرة طيبة

 لم أنتبه لانه يدرج تاريخ الغد :biggrin: اعتذر
سلمتم وسلمت يمناكم 

رابط هذا التعليق
شارك

أى طريقة افضل 

هذه

 Dim dt  As Date
          Do While dt < Format(Date, "DD/MM/YYYY")
           If dt = (Date) - 1 Then Exit Sub
            DoCmd.GoToRecord , , acNewRec
            dt = Nz(DMax("dater1", "table1"), Format(Date, "DD/MM/YYYY"))
            dater1 = dt + 1
        Loop

أم تلك

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("table1")

    Dim dt As Date
        Do While dt < Format(Date, "DD/MM/YYYY")
            If dt = (Date) - 1 Then Exit Sub
                dt = Nz(DMax("dater1", "table1"), Format(Date, "DD/MM/YYYY"))
                rs.AddNew
                rs("dater1") = dt + 1
            rs.Update
        Loop
            rs.Close
            Set rs = Nothing

 

رابط هذا التعليق
شارك

غمرتمونى بكرم اخلاقكم وعلمكم جزاك الله خير ا اخى ابو خليل واخى أبا جودة لكن طمعت فيكما قليلا هل من الممكن استخدام dim rs as recodest لكى استطيع ان استخدمrs.edit للتعديل على باقى السجل

التانيه رائعه أبا جودة المجانيه استخدام rs.edit والتعديل على باقى السجل

اخى أبا جودي

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information