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

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

قام بنشر

السلام عليكم اساتذتي الكرام

ارجو مساعدتي

لدي نموذج كتبت به الكود ده

If [تاريخ الدفعة] = Me.date Then
Me.date.Undo
Me.Undo
MsgBox "التاريخ مكرر"
Else
nam.SetFocus
Exit Sub
End If

وهو لو كان التاريخ موجود مسبقا اظهر رسالة التاريخ مكرر ولكن !! الرسالة تظهر سواء كان التاريخ موجود بالجدول او لا وكان الدالة  لاتعمل ولا فائدة منها

مساعدة.rarFetching info...

قام بنشر (معدل)

وعليكم السلام

اتفضل اخى ان شاء الله يكون ما تريد

ونصيحه منى لى قبلك ابتعد عن الاسماء المحجوزه وابتعد عن تسميه الحقول والجداول والنماذج والتقارير والاستعلامات باللغه العربيه اجعل التسميات بالعربيه فى التسميه التوضيحيه

فى حدث بعد التحديث لحقل الفرع  وملحوظه اخرى قمت بالغاء المفتاح الاساسى من عالتاريخ واضفت حقل id ترقيم تلقائى

Private Sub znam_AfterUpdate()
x = Nz(DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[اسم الفرع]='" & [اسم الفرع] & "'"), 0)
If x = Me.zdate Then
Me.zdate.Undo
Me.Undo
MsgBox "التاريخ مكرر"
Else
zdate.SetFocus
End If
End Sub

بالتوفيق

مساعدة.rarFetching info...

تم تعديل بواسطه احمد الفلاحجي
لارفاق الملف
قام بنشر
  في 16‏/1‏/2021 at 16:19, احمد الفلاحجي said:

وعليكم السلام

اتفضل اخى ان شاء الله يكون ما تريد

ونصيحه منى لى قبلك ابتعد عن الاسماء المحجوزه وابتعد عن تسميه الحقول والجداول والنماذج والتقارير والاستعلامات باللغه العربيه اجعل التسميات بالعربيه فى التسميه التوضيحيه

فى حدث بعد التحديث لحقل الفرع  وملحوظه اخرى قمت بالغاء المفتاح الاساسى من عالتاريخ واضفت حقل id ترقيم تلقائى

Private Sub znam_AfterUpdate()
x = Nz(DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[اسم الفرع]='" & [اسم الفرع] & "'"), 0)
If x = Me.zdate Then
Me.zdate.Undo
Me.Undo
MsgBox "التاريخ مكرر"
Else
zdate.SetFocus
End If
End Sub

بالتوفيق

مساعدة.rar 31.29 kB · 5 downloads

Expand  

استاذي احمد شاكر جدا مجهودك الرائع بارك الله فيك

ولكن المشكلة كما هي وهي عند التنقل من حقل التاريخ لا تظهر الرسالة حتي ولو الحقل مكرر 

وايضا من ضمن المشروع ان يكون حقل التاريخ مفتاح اساسي فانا اريد رسالة بعد التحديث تقول ان التاريخ مكرر من قبل الضغط ع حفظ

شاكر مجهود جداااااا استاذي

 

قام بنشر
  في 16‏/1‏/2021 at 16:51, mostafaelshnawy5 said:

ولكن المشكلة كما هي وهي عند التنقل من حقل التاريخ لا تظهر الرسالة حتي ولو الحقل مكرر 

Expand  

بعتذر عالنسيان

اتفضل جرل ووافنا بالنتيجه

Private Sub znam_AfterUpdate()
x = Nz(DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[اسم الفرع]='" & Me.znam & "' and  [تاريخ الدفعة]=#" & Format([zdate], "mm/dd/yyyy") & "# "), 0)
If x = Me.zdate Then
Me.zdate.Undo
Me.Undo
MsgBox "التاريخ مكرر"
Else
zdate.SetFocus
End If
End Sub

 

  في 16‏/1‏/2021 at 16:51, mostafaelshnawy5 said:

وايضا من ضمن المشروع ان يكون حقل التاريخ مفتاح اساسي فانا اريد رسالة بعد التحديث تقول ان التاريخ مكرر من قبل الضغط ع حفظ

Expand  

اذا جعلت التاريخ مكرر فلن تستطيع ادخال نفس التاريخ لفروع اخرى

بالتوفيق

مساعدة.rarFetching info...

قام بنشر
  في 16‏/1‏/2021 at 17:55, احمد الفلاحجي said:

اذا جعلت التاريخ مكرر فلن تستطيع ادخال نفس التاريخ لفروع اخرى

Expand  

الحقيقة انا لم احمل الملف ولاعلم لي بطريقة انشاء الملف وقد تكون هناك حلول اخرى

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

  • Like 1
قام بنشر
  في 16‏/1‏/2021 at 18:07, kha9009lid said:

الحقيقة انا لم احمل الملف ولاعلم لي بطريقة انشاء الملف وقد تكون هناك حلول اخرى

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

Expand  

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

وشكرا

 

 

قام بنشر (معدل)

جرب الكود التالي في حدث قبل التحديث

    Cancel = chkIfExists()
    If Cancel Then
        Me.Undo
        Call showDuplicate
    End If

تواجهني مشكلة اللغة كوني أستعمل الأوفيس فرنسي لم أستطع التعديل كما هو مطلوب على كل الفنكشيون أضعه للإخوة للتعديل عليه بما يفي الغرض

Private Function showDuplicate()
    With Me.RecordsetClone
        .FindFirst _
            "[probation officer name]='" & mstrOfficer & "' and " & _
            "[date of work]=#" & format(mdteDateOfWork, "mm\/dd\/yyyy") & "#"
        Me.Bookmark = .Bookmark
    End With
End Function

 

تم تعديل بواسطه biskra
  • Like 1
قام بنشر
  في 16‏/1‏/2021 at 18:10, mostafaelshnawy5 said:

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

Expand  

اخي الفاضل اسعد الله اوقاتك ردي كان على جزئية الاستاذ احمد في موضوع التكرار لنفس التاريخ في فروع اخرى 🌹

  • Like 1
قام بنشر
  في 16‏/1‏/2021 at 18:14, kha9009lid said:

اخي الفاضل اسعد الله اوقاتك ردي كان على جزئية الاستاذ احمد في موضوع التكرار لنفس التاريخ في فروع اخرى 🌹

Expand  

تمام اخي لقد تفهمتك 

شكرا جزيلا واذا كان لديك حل ارجو مساعدتي

تسلم معالي الباشا

قام بنشر
  في 16‏/1‏/2021 at 17:55, احمد الفلاحجي said:

بعتذر عالنسيان

اتفضل جرل ووافنا بالنتيجه

Private Sub znam_AfterUpdate()
x = Nz(DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[اسم الفرع]='" & Me.znam & "' and  [تاريخ الدفعة]=#" & Format([zdate], "mm/dd/yyyy") & "# "), 0)
If x = Me.zdate Then
Me.zdate.Undo
Me.Undo
MsgBox "التاريخ مكرر"
Else
zdate.SetFocus
End If
End Sub

 

اذا جعلت التاريخ مكرر فلن تستطيع ادخال نفس التاريخ لفروع اخرى

بالتوفيق

مساعدة.rar 28.56 kB · 3 downloads

Expand  

بارك الله فيك استاذي احمد

لقد قمت بعدم التكرار بين التاريخ والفروع معاً ولكن انا اريد عدم تكرار التاريخ فقط 

ارجو مساعدتي استاذي ولك الشكر 

 

قام بنشر (معدل)
  في 16‏/1‏/2021 at 18:07, kha9009lid said:

الحقيقة انا لم احمل الملف ولاعلم لي بطريقة انشاء الملف وقد تكون هناك حلول اخرى

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

Expand  

ههههههه لم ارها الا لما الان بعد ردك كنت اقصد اذا جعلت التاريخ مفتاح اساسى فلن تستطيع ادخال نفس التاريخ لفروع اخرى

جزاك الله خيرا اخى واستاذى العزيز

  في 16‏/1‏/2021 at 18:56, mostafaelshnawy5 said:

لقد قمت بعدم التكرار بين التاريخ والفروع معاً ولكن انا اريد عدم تكرار التاريخ فقط 

Expand  

وفيك بارك الله

لاء انا قمت بجلب التاريخ المطابق للتاريخ والفرع بالنموذج

وركز للمكتوب بالاحمر

  في 16‏/1‏/2021 at 18:56, mostafaelshnawy5 said:

ولكن انا اريد عدم تكرار التاريخ فقط 

Expand  

انت تريد عدم تكرار التاريخ لمن ؟

 

تم تعديل بواسطه احمد الفلاحجي
قام بنشر
  في 16‏/1‏/2021 at 19:18, احمد الفلاحجي said:

ههههههه من كنت اقصد اذا جعلت التاريخ مفتاح اساسى فلن تستطيع ادخال نفس التاريخ لفروع اخرى

وفيك بارك الله

لاء انا قمت بجلب التاريخ المطابق للتاريخ والفرع بالنموذج

وركز للمكتوب بالاحمر

انت تريد عدم تكرار التاريخ لمن ؟

 

Expand  

عدم التكرار للتاريخ في جدول تسجيل دفعات الصرف واستخدمت هذا الكود ولكن لا اعرف اين الخطا!!

Private Sub تاريخ_الدفعة_BeforeUpdate(Cancel As Integer)
 If DCount("تاريخ الدفعة", "تسجيل حالات الصرف", "[تاريخ الدفعة]=" & Me.تاريخ_الدفعة) > 0 Then

     MsgBox "    هذا الاسم تم تكراره سابقا"
Cancel = True
        End If
End Sub

 

مساعدة 2.rarFetching info...

قام بنشر
  في 16‏/1‏/2021 at 19:46, احمد الفلاحجي said:

بعتذر منك لعدم فهم طلبك

بالتوفيق

Expand  

معذرة ع الازعاج استاذ احمد

الفكرة هو اني عامل جدول اسمه تسجيل حالات الصرف وعامل نموذج 

النموذج ده به حقل اسمه التاريخ الذي اريده هو عند كتابة تاريخ موجود مسبقا تظهر لي رسالة ان التاريخ موجود مسبقا 

 

قام بنشر
  في 16‏/1‏/2021 at 21:32, mostafaelshnawy5 said:

معذرة ع الازعاج استاذ احمد

الفكرة هو اني عامل جدول اسمه تسجيل حالات الصرف وعامل نموذج 

النموذج ده به حقل اسمه التاريخ الذي اريده هو عند كتابة تاريخ موجود مسبقا تظهر لي رسالة ان التاريخ موجود مسبقا 

 

Expand  

مفيش ازعاج ولا حاجه وانا مش استاذ انا طالب علم هنا مثلك وبتعلم من مشاركتكم الحلول على اسئلتكم فلا تخاطبنى بكلمة استاذ

وجزاهم الله خيرا اخواننا واساتذتنا الذين نتعلم منهم

نرجع لموضوعنا

نبعد شويه عن الكود ونخلينا فالجدول

  في 16‏/1‏/2021 at 19:34, mostafaelshnawy5 said:

اذا جعلت التاريخ مفتاح اساسى فلن تستطيع ادخال نفس التاريخ لفروع اخرى

Expand  

ماذا ستفعل عند ادخالك بيانات فرعين او اكثر فى تاريخ واحد مثلا تاريخ اليوم فى وضعك مفتاح اساسى للتاريخ ؟

فى انتظار الاجابه لنمشى خطوه خطوه

  • Like 1
قام بنشر
  في 16‏/1‏/2021 at 22:02, احمد الفلاحجي said:

مفيش ازعاج ولا حاجه وانا مش استاذ انا طالب علم هنا مثلك وبتعلم من مشاركتكم الحلول على اسئلتكم فلا تخاطبنى بكلمة استاذ

وجزاهم الله خيرا اخواننا واساتذتنا الذين نتعلم منهم

نرجع لموضوعنا

نبعد شويه عن الكود ونخلينا فالجدول

ماذا ستفعل عند ادخالك بيانات فرعين او اكثر فى تاريخ واحد مثلا تاريخ اليوم فى وضعك مفتاح اساسى للتاريخ ؟

فى انتظار الاجابه لنمشى خطوه خطوه

Expand  

هو بالفعل مفتاح اساسي 

وما اريده هو عند انتقال من حقل التاريخ تظهر رساله التاريخ مكرر مثلا

 

قام بنشر
  في 16‏/1‏/2021 at 23:13, mostafaelshnawy5 said:

هو بالفعل مفتاح اساسي 

وما اريده هو عند انتقال من حقل التاريخ تظهر رساله التاريخ مكرر مثلا

Expand  

انت مردتش على سؤالى

ان شاء الله يساعد احد اخواننا واساتذتنا باذن الله

بالتوفيق

  • تمت الإجابة
قام بنشر

صحيح اخي احمد .... اوقات الواحد يحاول يعدلها في راسه وما تتعدلش

دعنا ننزل على رغبة الأخ مصطفى

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

الطريقة الاولى :

ادخال التاريخ في حقل غير منضم  فإن قبله اكسس  يتم نقله الى الفورم  وتسجيله في الجدول وإلا يتم الغاء العملية

Dim x As Boolean
On Error Resume Next
x = DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[تاريخ الدفعة]=#" & Me.idate & "#")
If x = True Then
DoCmd.CancelEvent
MsgBox "التاريخ مكرر"
Exit Sub
Else
End If

 

مساعدة.rarFetching info...

  • Like 2
قام بنشر

الطريقة الثانية :

بدون تغيير في عناصر النموذج و لكن ستواجه مشكلة الحفظ في حدث ما قبل التحديث للنموذج وهذا يستلزم معالجته بطريقة اخرى 

لأن الطريقة الثانية هذه تستلزم تحديث النموذج وأنت جعلت حقل الفرع مطلوب

Private Sub idate_AfterUpdate()
On Error GoTo i_err
Me.Refresh
i_err:
    If Err.Number = 3022 Then    'Or Err.Number = 2115
   Response = acDataErrContinue
  Beep
MsgBox "التاريخ مكرر"
 Undo
    End If
End Sub

 

مساعدة2.rarFetching info...

  • Like 2
قام بنشر
  في 17‏/1‏/2021 at 06:02, ابوخليل said:

صحيح اخي احمد .... اوقات الواحد يحاول يعدلها في راسه وما تتعدلش

دعنا ننزل على رغبة الأخ مصطفى

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

الطريقة الاولى :

ادخال التاريخ في حقل غير منضم  فإن قبله اكسس  يتم نقله الى الفورم  وتسجيله في الجدول وإلا يتم الغاء العملية

Dim x As Boolean
On Error Resume Next
x = DLookup("[تاريخ الدفعة]", "[تسجيل دفعات الصرف]", "[تاريخ الدفعة]=#" & Me.idate & "#")
If x = True Then
DoCmd.CancelEvent
MsgBox "التاريخ مكرر"
Exit Sub
Else
End If

 

مساعدة.rar 25 kB · 0 downloads

Expand  

اهلا ومرحبا بك اخى ومعلمى وشيخنا العزيز ابوخليل

لم ارغب بالنزول ولكن رغبت بالنهضه به وتنبيهه للوضع الحالى بانه لن يتم تسجيل اى فروع اخرى فى نفس التاريخ وحلها بالترقيم التلقائى مفتاح اساسى

او كما اشار اخى واستاذى العزيز خالد بعمل مفتاح اساسى مكون من حقلين اما حقل التاريخ ولاخر ترقيم او حقل التاريخ والفرع

وانت قمت بالتعديل المناسب

وبما اننى طالب علم فى مدرستكم وع قد حالى واتعلم منكم ومن اخوانى واساتذتى جزاكم الله عنا خيرا

فارفق تعديل اخر بما اننا قد قمنا بالنزول وفى حدث قبل التحديث لحقل التاريخ

اختر التاريخ وعند الخروج اذا كان موجود ستخرج لك الرساله وان لم يكن سينتقل للكمبو

Private Sub date_BeforeUpdate(Cancel As Integer)
  Dim dbs As DAO.Database
        Dim rst As DAO.Recordset
        
        Set dbs = CurrentDb
        Set rst = dbs.OpenRecordset("SELECT [تسجيل دفعات الصرف].* FROM [تسجيل دفعات الصرف];")
    
        rst.FindFirst "[تاريخ الدفعة]=#" & Format([تاريخ الدفعة], "mm/dd/yyyy") & "# "
       
        If rst.NoMatch Then
            Exit Sub
            Me.nam.SetFocus
        Else
            Do While Not rst.NoMatch
                MsgBox "هذا التاريخ مسجل من قبل"
                rst.FindNext "[تاريخ الدفعة]=#" & Format([تاريخ الدفعة], "mm/dd/yyyy") & "# "
            Loop

            rst.FindNext "[تاريخ الدفعة]=#" & Format([تاريخ الدفعة], "mm/dd/yyyy") & "# "
        End If
             Me.Undo
End Sub

بالتوفيق

مساعدة_3 - Copy.accdbFetching info...

  • Like 1

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