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

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

قام بنشر

السلام عليكم اخواني اعضاء ومشرفي الموقع الكرام

اخواني لدي في المرفق

نموذج عند الترحيل اريد تحقيق الشرط

وهو اذا كان موجود في جدول الحركات حقل البيان + حقل تاريخ الحركة

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

واذا غير موجود يضيفه

مرفع المثال

ولكم الشكر مقدما

ترحيل.rar

  • Like 1
قام بنشر
5 ساعات مضت, ابو ياسين المشولي said:

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

واذا غير موجود يضيفه

استخدم هذا الشرط

If DCount("*", "سند_صرف", "[اسم_المورد]='" & Me.supplier_name & "'" & "and [التاريخ]=#" & Me.payment_date & "#") > 0 Then
		Exit Sub
	Else
' اكتب تكملة الكود

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

دمتم بخير

  • Like 2
قام بنشر
If DCount("*", "حركات", "[البيان]='" & "    دفعة " & Me.supplier_name & "'" & "and [التاريخ]=#" & Me.payment_date & "#") > 0 Then
DoCmd.Beep
MsgBox "لـقـد  تـم  تـرحـيـل عـلـى حـسـاب  : " & Format(Me.[supplier_name], " ") & "  مـن قـبـل  ", , " بـرنـامـج الـخـيـاط : "
Else
DoCmd.SetWarnings False
DoCmd.CancelEvent
  DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] )  SELECT = ""الموردين"" AS Expr6," & _
 """    دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _
 "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;")
DoCmd.SetWarnings True

 

انا عندي جدول اسمه الحركات

كما يسموه البعض الصندوق

في هذا الجدول

انا عندما ارحل من النموذج المرفق

هو مثلا بيرحله بهذا الشكل حسب الكود المرفق

في البيان دفعه عالم النسيج وفي التاريخ تاريخ اليوم مثلا

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

 

  • Like 1
قام بنشر

السلام عليكم:smile:

 

اخي ابو ياسين ، رجاء اعمل تعديل على المرفق ، ويجب ان يكون جدول الموردين فيه

 

جعفر

  • Like 2
قام بنشر

ابو ياسين

 

يجب تعديل نوع حقل رقم_السند ، حتى يكون نفسه في الجدولين ، يا رقم او نص.

881.Clipboard01.jpg.2d00c269f1df6bd109373dc759cf42fd.jpg

.

انت كلامك عن "عالم النسيج" وهو في حقل اسم_المورد في جدول سند_صرف ،

طيب شو اسم الحقل اللي لازم نقارنه به في جدول حركات؟

881.Clipboard02.jpg.c91315a15baf186b3e5e0cd7ec83ecc5.jpg

.

جعفر

  • Like 1
قام بنشر (معدل)
25 دقائق مضت, jjafferr said:

ابو ياسين

 

يجب تعديل نوع حقل رقم_السند ، حتى يكون نفسه في الجدولين ، يا رقم او نص.

881.Clipboard01.jpg.2d00c269f1df6bd109373dc759cf42fd.jpg

.

انت كلامك عن "عالم النسيج" وهو في حقل اسم_المورد في جدول سند_صرف ،

طيب شو اسم الحقل اللي لازم نقارنه به في جدول حركات؟

881.Clipboard02.jpg.c91315a15baf186b3e5e0cd7ec83ecc5.jpg

.

جعفر

اخي الغالي

ترى ماله علاقه بالأمر انا غيرته الان وماله علاقه

انت لو لاحظت انا عامل عند التحديث بدون رقم السند

  DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] )  SELECT = ""الموردين"" AS Expr6," & _
 """    دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _
 "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;")

لو ركزت على الكود بتجد انه ماله علاقه برقم السند

انا كل شي معي تمام

فقط

انا ببسط لك الامر انا الان جعلت supplier

= دفعه بيد الاسم

بمعنى supplier

اصبح مايقابل البيان بجدول الحركات

و payment_date

اصبح مايقابل تاريخ الحركة بجدول الحركات

هو ما اريده اذا كان مسجل من قبل لا يقبل فق

والشرط هو

هذا  supplier

وهذا payment_date

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

موجود بنفس هذا 

supplier

وهذا payment_date

لا ينفذ الامر هذا كل ما اريد

تم تعديل بواسطه ابو ياسين المشولي
قام بنشر

رقم السند مجرد ملاحظة ، واذا ما جعلت هذا الحقل من نفس النوع (يا رقم او نص) في جميع الجداول ، فما تقدر تربط الجدولين بعلاقة هذا الحقل ، فقط للعلم ، واللي اسهل تعالجه الآن.

 

اما موضوعنا الاساسي:

انت الآن غيّرت المعطيات ، ففي مشاركاتك السابقة كنت تتكلم عن 3 حقول يجب التأكد انها غير موجودة في الجدول حركات

في 1/17/2018 at 12:43, ابو ياسين المشولي said:

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

.

اما الآن فتقول:

12 دقائق مضت, ابو ياسين المشولي said:

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

supplier وهذا payment_date لا ينفذ الامر هذا كل ما اريد

.

وحتى في قولك الجديد ، حقل supplier غير موجود في الجدول حركات

881.Clipboard03.jpg.f6abd2507b473bf90d24638b2c0bb440.jpg

.

 

===================================================================

 

بعد ان اخبرتك البيانات اعلاه ، رجاء لما تكتب رد:

1. كتابة جدول وفيه الحقول اللي تريدنا نعمل مقارنه بينها ، كالتالي:

اسم كل حقل في جدول سند_صرف ، ويقابله الحقل في جدول حركات 

881.Clipboard04.jpg.8ebd79f574ad8bbeb664d7ac9bc2115d.jpg

.

2. تأكد من وجود الحقول في الجدول الذي تتكلم عنه.

 

جعفر

  • Like 1
قام بنشر
38 دقائق مضت, jjafferr said:

رقم السند مجرد ملاحظة ، واذا ما جعلت هذا الحقل من نفس النوع (يا رقم او نص) في جميع الجداول ، فما تقدر تربط الجدولين بعلاقة هذا الحقل ، فقط للعلم ، واللي اسهل تعالجه الآن.

 

اما موضوعنا الاساسي:

انت الآن غيّرت المعطيات ، ففي مشاركاتك السابقة كنت تتكلم عن 3 حقول يجب التأكد انها غير موجودة في الجدول حركات

.

اما الآن فتقول:

.

وحتى في قولك الجديد ، حقل supplier غير موجود في الجدول حركات

881.Clipboard03.jpg.f6abd2507b473bf90d24638b2c0bb440.jpg

.

 

===================================================================

 

بعد ان اخبرتك البيانات اعلاه ، رجاء لما تكتب رد:

1. كتابة جدول وفيه الحقول اللي تريدنا نعمل مقارنه بينها ، كالتالي:

اسم كل حقل في جدول سند_صرف ، ويقابله الحقل في جدول حركات 

881.Clipboard04.jpg.8ebd79f574ad8bbeb664d7ac9bc2115d.jpg

.

2. تأكد من وجود الحقول في الجدول الذي تتكلم عنه.

 

جعفر

استاذ جعفر الله يحفظك

انا اقصد بهذا supplierموجود في النوذج

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

انا اعترف اني لا اعرف اشرح مثلكم

ولكن الكود واضح انه من خلال النموذج

وانا اتكلم عن supplier وهذا payment_date

في نموذج سند صرف وليس جدول سند صرف

ارجو ان تفهمني

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

الجدول اللي يتقيد فيه الشرط هو جدول الحركات

قام بنشر

يا ابو ياسين

 

ترجم كلامك في جدول اكسل مثل ما طلبت منك لوسمحت ،

لأني والله ما اعرف حقول طلبك.

بغض النظر من وين والى اين ، اكتبهم في جدول ومنها سنحاول مساعدتك ، على رأسنا ان شاء الله:smile:

 

جعفر

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

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

اذا قيمه الحقل بالنموذج الذ تظيف منه حقل  البيان = قيمه الحقل بجدول الحركات

والتاريخ  الذي بالنموذج = التاريخ الذي بالجدول

يكون الشرط  لايقبل الترحيل 

صح كذا 

تحيه اليكم

تم تعديل بواسطه ابو زاهر
  • Like 1
قام بنشر
18 دقائق مضت, ابو زاهر said:

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

اذا قيمه الحقل بالنموذج الذ تظيف منه حقل  البيان = قيمه الحقل بجدول الحركات

والتاريخ  الذي بالنموذج = التاريخ الذي بالجدول

يكون الشرط  لايقبل الترحيل 

صح كذا 

تحيه اليكم

نعم هو هذا ما اقصده

  • Like 1
قام بنشر

السلام عليكم:smile:

 

21 ساعات مضت, ابو ياسين المشولي said:
21 ساعات مضت, ابو زاهر said:

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

اذا قيمه الحقل بالنموذج الذ تظيف منه حقل  البيان = قيمه الحقل بجدول الحركات

والتاريخ  الذي بالنموذج = التاريخ الذي بالجدول

يكون الشرط  لايقبل الترحيل 

صح كذا 

تحيه اليكم

نعم هو هذا ما اقصده

 

يعني الآن رجعنا الى مقارنة:

قيمة حقل البيان اللي في النموذج ، مع الحقل البيان في الجدول حركات ،

وقيمة حقل التاريخ اللي في النموذج ، مع الحقل تاريخ الحركة في الجدول حركات.

 

للأسف هذا غير كاف للمقارنه ، فانت محتاج الى حقل ثالث للمقارنه ايضا ، اخبرك ليش:

  1. يوم 18/01/2018 جاءك المرسام وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ولا يلاقي هذا التاريخ ولا البيان ، فيتم حفظ التاريخ والبيان في جدول حركات ،
  2. ثم في نفس اليوم 18/01/2018 جاءك عالم النسيج وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ويلاقي هذا التاريخ و البيان ، فلن يحفظ هذا السجل !!
  3. لا يتم حفظ سجل عالم النسيج ، مع انه لا علاقة بين عالم النسيج والمرسام !!
  4. لهذا السبب انت بحاجة الى حقل ثالث للمقارنة ، وهو حقل اسم_المورد ،
  5. ولكن هذا الحقل لا يوجد في جدول حركات (انظر صورة الجدول في الصورة في الاسفل) ، لذا لا تستطيع ان تقوم بالمقارنة الصحيحة ، وعليه كود مقارنة الحقلين غير مجدي وغلط.

 

881.Clipboard02.jpg

.

البارحة ، وقبل ان اعمل اي شيء ، قمت بتنسيق الكود الذي على الزر ، حتى يكون مفهوما لي:

Private Sub أمر29_Click()
    
    Dim str1SaveMssage As String
    Dim strSaveMssage As String
    
    DoCmd.Beep

    If Not IsNull(Me.supplier_name) Then
        
        str1SaveMssage = "   ســيــتــم  تـرحـيـل  :   "
        str1SaveMssage3 = "     عـلـى حـسـاب  :   "

        str1SaveMssage = str1SaveMssage & Me.[payment_amount] & "   ريـال "
        str1SaveMssage3 = str1SaveMssage3 & Format(Me.supplier_name, " ")

        If MsgBox(str1SaveMssage & str1SaveMssage2 & str1SaveMssage3 & vbCrLf & "", vbYesNo, "           بـرنـامـج الـخـيـاط     ") = vbNo Then
            Exit Sub
        End If
        
        criteria = "[البيان]='" & Me.payment_info & "'"
        criteria = criteria & " and [تاريخ الحركة]=#" & Me.payment_date & "#"
        Debug.Print criteria
        If DCount("*", "حركات", criteria) > 0 Then
            'If DCount("*", "حركات", "[البيان]='" & Me.supplier & "'" & "and [تاريخ الحركة]<>#" & Me.payment_date & "#") > 0 Then
            '        Exit Sub
            'If DCount("*", "حركات", "[البيان]<>'"  Me.supplier & "'" & "and [التاريخ]<>#" & Me.payment_date & "#") > 0 Then
            'If supplier = Nz(DLookup("البيان", "حركات"), 0) And Me.payment_date = Nz(DLookup("[تاريخ الحركة]", "حركات"), 0) Then
            DoCmd.Beep
            MsgBox "لـقـد  تـم  تـرحـيـل عـلـى حـسـاب  : " & Format(Me.[supplier_name], " ") & "  مـن قـبـل  ", , " بـرنـامـج الـخـيـاط : "
        Else
            DoCmd.SetWarnings False
            DoCmd.CancelEvent
            DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] )  SELECT = ""الموردين"" AS Expr6," & _
            """    دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _
            "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;")
            DoCmd.SetWarnings True
            Beep

            If Not IsNull(Me.supplier_name) Then

                strSaveMssage = "  مـبـلـغ  :   "
                strSaveMssage = "    تـم  تـرحـيـل : "
                strSaveMssage2 = "     عـلـى حـسـاب  :   "
                strSaveMssage1 = strSaveMssage1 & "  بنـجـاح  "
                strSaveMssage = strSaveMssage & (Me.[payment_amount]) & "   ريـال "
                strSaveMssage3 = strSaveMssage3 & Format(Me.supplier_name, " ")
                MsgBox (strSaveMssage) & (strSaveMssage2) & (strSaveMssage3) & (strSaveMssage1), vpInFormation, "           بـرنـامـج الـخـيـاط     "
            
            End If  'Not IsNul
        End If  'DCount
    End If  'Not IsNul
    
    Me.Refresh
    
End Sub

 

جعفر

  • Like 1
قام بنشر
5 دقائق مضت, jjafferr said:

السلام عليكم:smile:

 

 

يعني الآن رجعنا الى مقارنة:

قيمة حقل البيان اللي في النموذج ، مع الحقل البيان في الجدول حركات ،

وقيمة حقل التاريخ اللي في النموذج ، مع الحقل تاريخ الحركة في الجدول حركات.

 

للأسف هذا غير كاف للمقارنه ، فانت محتاج الى حقل ثالث للمقارنه ايضا ، اخبرك ليش:

  1. يوم 18/01/2018 جاءك المرسام وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ولا يلاقي هذا التاريخ ولا البيان ، فيتم حفظ التاريخ والبيان في جدول حركات ،
  2. ثم في نفس اليوم 18/01/2018 جاءك عالم النسيج وطلب دفعة من الحساب ، فيقارن الكود بيانات النموذج والجدول حركات ، ويلاقي هذا التاريخ و البيان ، فلن يحفظ هذا السجل !!
  3. لا يتم حفظ سجل عالم النسيج ، مع انه لا علاقة بين عالم النسيج والمرسام !!
  4. لهذا السبب انت بحاجة الى حقل ثالث للمقارنة ، وهو حقل اسم_المورد ،
  5. ولكن هذا الحقل لا يوجد في جدول حركات (انظر صورة الجدول في الصورة في الاسفل) ، لذا لا تستطيع ان تقوم بالمقارنة الصحيحة ، وعليه كود مقارنة الحقلين غير مجدي وغلط.

 

881.Clipboard02.jpg

.

البارحة ، وقبل ان اعمل اي شيء ، قمت بتنسيق الكود الذي على الزر ، حتى يكون مفهوما لي:


Private Sub أمر29_Click()
    
    Dim str1SaveMssage As String
    Dim strSaveMssage As String
    
    DoCmd.Beep

    If Not IsNull(Me.supplier_name) Then
        
        str1SaveMssage = "   ســيــتــم  تـرحـيـل  :   "
        str1SaveMssage3 = "     عـلـى حـسـاب  :   "

        str1SaveMssage = str1SaveMssage & Me.[payment_amount] & "   ريـال "
        str1SaveMssage3 = str1SaveMssage3 & Format(Me.supplier_name, " ")

        If MsgBox(str1SaveMssage & str1SaveMssage2 & str1SaveMssage3 & vbCrLf & "", vbYesNo, "           بـرنـامـج الـخـيـاط     ") = vbNo Then
            Exit Sub
        End If
        
        criteria = "[البيان]='" & Me.payment_info & "'"
        criteria = criteria & " and [تاريخ الحركة]=#" & Me.payment_date & "#"
        Debug.Print criteria
        If DCount("*", "حركات", criteria) > 0 Then
            'If DCount("*", "حركات", "[البيان]='" & Me.supplier & "'" & "and [تاريخ الحركة]<>#" & Me.payment_date & "#") > 0 Then
            '        Exit Sub
            'If DCount("*", "حركات", "[البيان]<>'"  Me.supplier & "'" & "and [التاريخ]<>#" & Me.payment_date & "#") > 0 Then
            'If supplier = Nz(DLookup("البيان", "حركات"), 0) And Me.payment_date = Nz(DLookup("[تاريخ الحركة]", "حركات"), 0) Then
            DoCmd.Beep
            MsgBox "لـقـد  تـم  تـرحـيـل عـلـى حـسـاب  : " & Format(Me.[supplier_name], " ") & "  مـن قـبـل  ", , " بـرنـامـج الـخـيـاط : "
        Else
            DoCmd.SetWarnings False
            DoCmd.CancelEvent
            DoCmd.RunSQL ("INSERT INTO حركات ([نوع السند], البيان, الاسم, [تاريخ الحركة], مدين, [user] )  SELECT = ""الموردين"" AS Expr6," & _
            """    دفعة "" & [Forms].[سند_صرف]![supplier_name] AS Expr4, = ""الخزينه"" AS Expr2, [Forms].[سند_صرف]![payment_date] AS Expr3," & _
            "[Forms].[سند_صرف]![payment_amount] AS Expr5, [Forms].[login]![a] AS Expr1;")
            DoCmd.SetWarnings True
            Beep

            If Not IsNull(Me.supplier_name) Then

                strSaveMssage = "  مـبـلـغ  :   "
                strSaveMssage = "    تـم  تـرحـيـل : "
                strSaveMssage2 = "     عـلـى حـسـاب  :   "
                strSaveMssage1 = strSaveMssage1 & "  بنـجـاح  "
                strSaveMssage = strSaveMssage & (Me.[payment_amount]) & "   ريـال "
                strSaveMssage3 = strSaveMssage3 & Format(Me.supplier_name, " ")
                MsgBox (strSaveMssage) & (strSaveMssage2) & (strSaveMssage3) & (strSaveMssage1), vpInFormation, "           بـرنـامـج الـخـيـاط     "
            
            End If  'Not IsNul
        End If  'DCount
    End If  'Not IsNul
    
    Me.Refresh
    
End Sub

 

جعفر

طيب اخي جعفر انا اريده من النموذج وليس من الجدول

اقصد من نموذج رفم_السند

وليس من جدول رقم السند

ماينفع بهذه الطريقه

 

  • Like 1
قام بنشر
2 ساعات مضت, ابو ياسين المشولي said:

طيب اخي جعفر انا اريده من النموذج وليس من الجدول

اقصد من نموذج رفم_السند

وليس من جدول رقم السند

ماينفع بهذه الطريقه

 

اذا كان قصدك نموذج وجدول سند_صرف (وليس رقم_السند ، لأنه اصلا لا يوجد في برنامجك نموذج او جدول بهذا الاسم) ،

فمافي فرق تأخذ المعلومة من ايهم ، لأن مصدر بيانات النموذج هو الجدول سند_صرف ايضا!!

881.Clipboard05.jpg.4aa19e5d791537d06aa694046d12c453.jpg

.

جعفر

  • Like 1
قام بنشر
16 دقائق مضت, jjafferr said:

اذا كان قصدك نموذج وجدول سند_صرف (وليس رقم_السند ، لأنه اصلا لا يوجد في برنامجك نموذج او جدول بهذا الاسم) ،

فمافي فرق تأخذ المعلومة من ايهم ، لأن مصدر بيانات النموذج هو الجدول سند_صرف ايضا!!

881.Clipboard05.jpg.4aa19e5d791537d06aa694046d12c453.jpg

.

جعفر

ههههههههههه

اقصد

نموذج سند_صرف

  • Like 1
قام بنشر
9 ساعات مضت, jjafferr said:

اما انا فمتوقف ، لأني واخيرا استطعت ان اوصل خطأ الفكرة الى ابو ياسين:smile:

 

جعفر

فيك الخير والبركه استاذنا ابو الجعافر 

نتمنا ان يحصل استاذنا ابو ياسين على مراده

تحياتي اليكم

  • Like 1
قام بنشر

اخوي ابو ياسين

 

انا قلت لك:

منذ ساعه, jjafferr said:

فمافي فرق تأخذ المعلومة من ايهم ، لأن مصدر بيانات النموذج هو الجدول سند_صرف ايضا!!

881.Clipboard05.jpg.4aa19e5d791537d06aa694046d12c453.jpg

 

.

يعني لازم تغير في الجدول حركات وتضيف اسم_المورد ، وعليه نقدر نعمل المقارنه.

 

جعفر

  • Like 1
قام بنشر
في 1/19/2018 at 14:15, ابو ياسين المشولي said:

ومنتظر الاخ Shivan Rekany

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

فقط غير سطر الشرط بهذا

If DCount("*", "حركات", "[البيان]='" & Me.supplier & "'" & "and [تاريخ الحركة]=#" & Format(Me.payment_date, "dd/mm/yyyy") & "#") > 0 Then

اي اضفنا 

Format(Me.payment_date, "dd/mm/yyyy")

 

ترحيل (1).rar

  • Like 2

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