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

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

قام بنشر

السلام عليكم

الى الاساتدة الكرام

اريد كود  ( ادا كان الصنف موجود ,, يثم اضافة الكمية فقط  )

دون تكرار الصنف

نمودج الفرعي ليس له علاقة بالاصناف

وادخال الاصناف عن طريق دالة DLookup

اريد كود بسيط (مقارنة الاصناف )

 

قام بنشر

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

الموضوع بعيد جدا عن ما ابحث عنه

اعرف عدة طرق لكن لا يتماشو مع برنامجي 

تحديث ,مقارنة بحقل في جدول الاصناف والى ما دلك 

مشكلة البرنامج هو ادخال كود الصنف بالباركود

ونمودج الفرعي غير مرتبط بالاصناف

يثم جلب بيانات الصنف عن طريق دالة  DLookup

ما اريده هو كيف اضيف الكمية فوق الكمية الموجودة ادا كانت تحمل نفس الاسم  يعني ( اسم الصنف)

قام بنشر

طيب جرب هذا بعد التحديث 

DoCmd.SetWarnings False

DoCmd.RunSQL ("UPDATE [جدول الاصناف] SET [جدول الاصناف].[الكمية]=[الكمية]+Forms![فاتورة مشتريات]![نموذج فرعي]![الكمية].[value]" _
& " WHERE ((([جدول الاصناف].رقم الصنف)=[forms]![فاتورة مشتريات]![نموذج فرعي]![رقم الصنف]));")

DoCmd.SetWarnings True

 

  • Like 1
قام بنشر

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

اخي الكريم ابو ياسين

ليس لدي مشكل في فاتورة المشتريات

وكود تحديث هدا خاص بالمشتريات

اما ما اريده وهو في فاتورة مبيعات

لاريد تكرار اسم الصنف 

وانما ادا كان اسم الصنف موجود  يزد في الكمية

 

قام بنشر

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

لقد رأية هدا الموضوع لاكن لاينفع مع البرنامج الدي اعمل عليه

لان الادخال من نمودج الرئيسي وليس الفرعي اما هدا الكود يتماشى مع نمودج الفرعي فقط

مشكلة هي مربع نص للباركود في نمودج الرئيسي يثم الادخال بواسطته

ولا اتعامل مع نمودج الفرعي  يعني لا اقرب النمودج الفرعي

قام بنشر

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

اخي الكريم ابو ياسين هدا مثال 

ولا تنسى ان كان لديك جهاز باركود  فهدا افضل

لان ادخال اليدوي اعرف طريقة زيادة الكمية دون تغيير الصنف

لكن بجهاز الباركود وجدة مشكل 

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

 

للعلم استادنا العزيز

مثال.accdb

قام بنشر

حاولت بهذا الكود ولم افلح

On Error Resume Next

    Dim Rs As DAO.Recordset
    Set Rs = Forms!FrmFatora!Subvnt.Form.RecordsetClone
Dim Rc As Integer, x As Integer
x = 0
    Rc = Rs.RecordCount
If Rc > 0 Then
   Rs.MoveFirst
   Do Until Rs.EOF
   'اذا وجد السجل
   If Rs!Bard = Brcod Then
    'تحريره
     Rs.Edit
     Rs!Qnt = Rs!Qnt + 1
     Rs.Update
[Subvnt]![Bard] = Null
[Subvnt]![Name] = Null
[Subvnt]![Prix] = Null
'         Exit Sub

End If
   Rs.MoveNext
   Loop
End If

Rs.AddNew

[Subvnt].SetFocus
[Subvnt]![Qnt] = 1
[Subvnt]![Bard] = DLookup("[Barcod]", "TblAchet", "[Barcod]= [Brcod]")
[Subvnt]![Name] = DLookup("[NameS]", "TblAchet", "[Barcod]= [Brcod]")
[Subvnt]![Prix] = DLookup("[Prix2]", "TblAchet", "[Barcod]= [Brcod]")
[Brcod] = ""
[Brcod].SetFocus

Rs.Update
[Subvnt]![Bard] = Null
[Subvnt]![Name] = Null
[Subvnt]![Qnt] = Null
[Subvnt]![Prix] = Null
Undo

 

قام بنشر

استادي الغالي

نظام الباركود مختلف على الاستعمال اليدوي

فهدا ماكنت اتكلم عنه

توصلت الى حل بسيط لكن لايضيف الكمية على الكمية

فاني في صدد حل مشكلة عدم اضافة الكمية على الكمية الموجودة وان شاء الله ساتوصل للحل

اما الكود الدي كتبته فهو يمحي ماقبله

 هده الدالة  (Rs) متعبة ولا تصلح الى الادخال يدويا

لانها تسبب عدة مشاكل للبرنامج

 

قام بنشر

وعليك السلام

استادنا الفاضل وائل

المثال بعيد جدا عن ما اتكلم عنه

الى السيد الفاضل ابو ياسين 

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

على استعلام التجميع 

عند اضافة صنف مشابه يثم تجميع عدد الكمية

فهدا مجرد حل انظر فيه 

  • Like 1
قام بنشر

استاذ غريب

كيف المثال بعيد جدا ؟؟؟؟ 

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

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

قام بنشر

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

كلامك صحيح

ما اردته وتوصلت لحل بايسط شيء وهو استعلام تجميع بدون وحدة نمطية

كما تعلم الاكسس بسيط ولا يحتاج كثرة الاكواد الى في الظرورة

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

فهدا ما ابحث عنه

و المثال الدي ارسلته اخي الكريم اعرف  الطريقة  توجد عدة طرق غيرها 

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

كثرة الوحدات النمطية بدون دراية وفهم تجد البرنامج بعد مدة اغلق او لم يعد يفتح

والسبب  ( الوحدات المتعارضة )

الحل الدي وجدته 

وهو عمل نمودجين فرعين  داخل الرئيسية

نمودج فرعي (1) لادخال الاصناف ويكون مخفي

نمودج فرعي (2) مصدره استعلام تجميع  واجعله ظاهرا وانطر للنتيجة

عند اضافة صنف مشابه لن يتغير شيء في سجل الى (الكمية فقط تزداد )

حل بسيط ولا يحتاج الى اكواد  ونتيجته ليس بها مشاكل للبرنامج

وسلام ختام

  • 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.

×
×
  • اضف...

Important Information