qathi قام بنشر نوفمبر 12, 2020 قام بنشر نوفمبر 12, 2020 اخوني واساتذتي الافاضل حياكم الله وبعد أسأل الله ان تكونو في أتم الصحة والعافية عند توزيع ملف الاكسس على اكثر من جهاز على الشبكة.. تظهر مشكلة تعارض الترقيم عند انشاء المستخدمين فاتورة في نفس الوقت يظهر الرقم نفسة وعند بدء ادخال البيانات تظهر هذه الرسالة علماً يتم أستخدام ترقيم كل حركة عبر دالة في المديول فمثلاً يبداء ترقيم فاتورة بيع A1001 و شراء M1001 .. ألخ وذلك عبر القيمة الافتراضية لحقل رقم الفاتورة وكذلك بالنسبة لأضافة الاصناف وغيرها يتم الاعتماد على الترقيم بالقيمة الافتراضية لحقل كود الصنف هذا التعبير =IIf(IsNull(DMax("[id]";"items")+1);1;DMax("[id]";"items")+1) فما حل المشكلة ؟؟؟ مرفق ملف للتعديل: InvoiceSale_6.accdb
jjafferr قام بنشر نوفمبر 12, 2020 قام بنشر نوفمبر 12, 2020 وعليكم السلام 🙂 الحل بأن تضع هذا الكود في حدث ، وبعد اخذ الرقم التالي مباشرة تحفظ السجل ، وعلى افتراض ان اسم الحقل هو Sinf ، يصبح الكود هكذا : بدلا عن =IIf(IsNull(DMax("[id]";"items")+1);1;DMax("[id]";"items")+1) استخدم if len(me.Sinf & "")=0 then me.Sinf = nz(DMax("[id]","items"),0) +1 docmd.runcommand accmdsaverecord end if . جعفر 4
qathi قام بنشر نوفمبر 12, 2020 الكاتب قام بنشر نوفمبر 12, 2020 أهلا وسهلا بك أستاذنا الكبير @jjafferr قمت بتجربة الكود عند فتح شاشة فاتورة البيع والاصناف وكذلك تحت زر جديد لكن لم ينفع ذلك تظهر رسائل اخرى لكن المشكلة بشكل عام ما زالت ولم تحل وبارك الله فيك استاذا الغالي
jjafferr قام بنشر نوفمبر 12, 2020 قام بنشر نوفمبر 12, 2020 اعذرني اخوي القاضي ، بس خلينا نشوف ايش بالضبط اللي عملته ، وايش هذه الرسائل 🙂 لأني انا شخصيا صادفت هذه المشكلة في احد برامجي (من ايام زمان 🙂 ) والحل اللي اعطيتك كان الحل 🙂 جعفر 2
qathi قام بنشر نوفمبر 12, 2020 الكاتب قام بنشر نوفمبر 12, 2020 (معدل) أستاذي الغالي @jjafferr تفضل 9 ساعات مضت, qathi said: علماً يتم أستخدام ترقيم كل حركة عبر دالة في المديول فمثلاً يبداء ترقيم فاتورة بيع A1001 و شراء M1001 .. ألخ وذلك عبر القيمة الافتراضية لحقل رقم الفاتورة وحتى لا انسى وأعذرني أستاذي على تطفلي ولكن ماذا بخصوص ترقيم عبر المديول .. فهو مهم لانه يبداء الترقيم باحرف ومن رقم 1001 تم تعديل نوفمبر 12, 2020 بواسطه qathi
jjafferr قام بنشر نوفمبر 12, 2020 قام بنشر نوفمبر 12, 2020 بهذه الطريقة الطبخة تخترب !! انا عملت على الكود اللي ارفقته انت ، ولكن الآن يجب ان ارى الكود بالكامل ، مع المودل ، وبتسلسل الاحداث ، حتى تتضح الصورة بالكامل 🙂 جعفر 1
jjafferr قام بنشر نوفمبر 12, 2020 قام بنشر نوفمبر 12, 2020 الخطوات اللي اتبعتها : 1. إلغاء اخذ القيمة الافتراضية من اعدادات الحقل : . 2. عملنا وحدة نمطية لعمل التسلسل ، ونناديها كلما احتجنا الى اضافة رقم جديد : . 3. والسر في نجاح هذه العملية ، هي حفظ السجل مباشرة بعد اخذ رقم التسلسل الجديد : . جعفر 1282.InvoiceSale_6.accdb.zip 4
د.كاف يار قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 (معدل) تفضل هذه المشاركة اخي الكريم لعلها تحل المشكلة فقط نسخ هذا الكود الصقه في حدث ازرار الحفظ Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("SELECT Max(InvoiceNum) FROM InvoiceHT;") InvoiceNum = "A" & Format(Nz(rs.Fields(0), 0) + 1, "1000") rs.Close Set rs = Nothing تم تعديل نوفمبر 13, 2020 بواسطه د.كاف يار 2
qathi قام بنشر نوفمبر 13, 2020 الكاتب قام بنشر نوفمبر 13, 2020 (معدل) أستاذي الغالي @jjafferr اشكرك فلك كل الاجلال و التقدير للأسف فحتى لا اتعجل بالرد حاولت كل المحاولات ولكن دون فائدة تظهر هذه الرسالة ... ولا تحل المشكلة إلا بعد خروجي من نافذة فاتورة البيع وفتحها من جديد حينها يتم إنشاء ترقيم جديد ≠======= 6 ساعات مضت, د.كاف يار said: تفضل هذه المشاركة اخي الكريم لعلها تحل المشكلة فقط نسخ هذا الكود الصقه في حدث ازرار الحفظ اشكرك أخي د.كاف يار على ردك والكود لكن قمت بتجربت الكود فوجدته لا يعمل تم تعديل نوفمبر 13, 2020 بواسطه qathi
jjafferr قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 وعليكم السلام 🙂 ممكن تشرح لي كيف عملت التجربة ، خليني اقوم بمثلها ، واجرب 🙂 جعفر 1
qathi قام بنشر نوفمبر 13, 2020 الكاتب قام بنشر نوفمبر 13, 2020 (معدل) أستاذي الغالي @jjafferr طبعاً المثال الذي وضعته بالمشاركة ليس كامل فلذلك أقوم بتطبيق الكود في ملفي الكامل وبه نموذج فرعي لادخال الأصناف أقوم بفتح الملف بنسختين وقاعدة االبيانات خلفية واحدة وحسابين مستخدمين مختلفين وضعت الكود مباشرة بعد أدراج اسم العميل ملاحضة: قمت بتحربته كما في المثال الذي ادرجته أستاذي ولكن نفس االاشكال المستخدم الأول في الملف الأول يتم أدراج الترقيم بسلاسة الاشكال في الملف الثاني فعند أدراج في نفس الوقت في الملف والمستخدم الثاني ( الاخر) تظهر المشكلة وظهور الرسالة .. ولا يتم الترقيم برقم جديد إلا بعد اغلاق فاتورة البيع وفتحها من جديد تم تعديل نوفمبر 13, 2020 بواسطه qathi
jjafferr قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 انا سأحاول ان اطبق على شبكة بأكثر من كمبيوترين ، وان شاء الله خير 🙂 جعفر 3
qathi قام بنشر نوفمبر 13, 2020 الكاتب قام بنشر نوفمبر 13, 2020 جزاك الله عنا خير أستاذنا الغالي @jjafferr بالانتظار النتائج
husamwahab قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 مشاركة مع اساتذتي الاجلاء قم بتاخير رقم الفاتورة بعد اختيار اسم العميل Private Sub CustomerNum_AfterUpdate() Me.InvoiceNum = Next_Seq("A") DoCmd.RunCommand acCmdSaveRecord Me.OutNum = Me.InvoiceNum End Sub استخدم هذا الكود مع حذف القيمة الافتراضية لرقم الفاتورة 2
husamwahab قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 (معدل) السلام عليكم اعتذر منك استاذي العزيز qathi ومن استاذنا الغالي استاذ jjafferr حيث ان الحل الذي قدمته مشابه لحل استاذ جعفر لكن لم الاحظ ذلك ارجو المعذرة اساتذتي الكرام تم تعديل نوفمبر 13, 2020 بواسطه husamwahab 2
qathi قام بنشر نوفمبر 13, 2020 الكاتب قام بنشر نوفمبر 13, 2020 لا عليك أخي حسام اتيت بما خطر ببالك اشكرك على ردك 1
husamwahab قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 جرب هذا الكود هذا الكود يلغي الخطا ويعيد ترقيم الفاتورة ويقوم بالحفظ Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 3022 Then Me.InvoiceNum = Next_Seq("A") DoCmd.RunCommand acCmdSaveRecord Response = 0 DoCmd.Close End If End Sub 2
qathi قام بنشر نوفمبر 13, 2020 الكاتب قام بنشر نوفمبر 13, 2020 (معدل) 24 دقائق مضت, husamwahab said: جرب هذا الكود اشكرك اخي واستاذي حسام بعد أدراج الكود .. الرسالة في مرحلة معين لا تظهر لكن تظهر بعد محاولة أدراج الأصناف وبالنسبة لتغيير الترقيم فنفس المشكلة يظهر في كلا الملفين نفس الترقيم تم تعديل نوفمبر 13, 2020 بواسطه qathi
husamwahab قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 استاذي العزيز حسب فهمي لطبيعة برنامجك ان الرسالة ظهرت ولكن ليس لنفس النموذج لانه يبدو ان هناك نموذج فرعي المشكلة في كودك هو في توقيت ترقيم الفاتورة وهذا يمكن تجاوزه بالتعلاعب بمكان الكود بين حاسبة واخرى لكن الافضل ارسال كامل الملف للوقوف على كامل العملية وان شاء الله استاذتنا سيجدون الحل 2
ابو عارف قام بنشر نوفمبر 13, 2020 قام بنشر نوفمبر 13, 2020 السلام عليكم جرب أمر Refrish في حدث في الحالي اوقم بتقليل مدة الفاصل الزمني للتحديث في اعدادات عميل 3
qathi قام بنشر نوفمبر 14, 2020 الكاتب قام بنشر نوفمبر 14, 2020 أهلا بالاستاذ @ابو عارف وشكرا لردك الطيب .. اعتذر عن تاخر الرد 19 ساعات مضت, ابو عارف said: جرب أمر Refrish في حدث في الحالي اوقم بتقليل مدة الفاصل الزمني للتحديث في اعدادات عميل بالنسبة Refrish تم عملها من قبل وكذلك Requery دون فائدة وبالنسبة الفاصل الزمني تم تجربته قبل ايام دون فائدة 1
husamwahab قام بنشر نوفمبر 14, 2020 قام بنشر نوفمبر 14, 2020 هناك طريقة قد تكون مفيدة لك وهي ان نجعل القيمة الافتراضية لرقم الفاتورة رقم غريب وغير مستعمل وكذلك نوع الحركة وهذه القيم متغيرة من حاسبة لاخرى في الحاسبة الاولة مثلا رقم الفاتورة A1 ونوع الحركة B1 وفي الحاسبة الثانية A2 ونوع الحركة B2 وهكذا ثم نقوم بادخال البيانات بالطريقة المتبعة وفي اخر اجراء او حركة كان يكون زر حفظ نضع كود يجعل نوع الحركة النوع المطلوب ورقم الفاتورة هو كود الترقيم وبهذه الطريقة ستظمن عدم تكرر رقم الفاتورة 1
qathi قام بنشر نوفمبر 15, 2020 الكاتب قام بنشر نوفمبر 15, 2020 20 ساعات مضت, husamwahab said: هناك طريقة قد تكون مفيدة لك وهي اشكرك اخي واستاذي حسام .. على تفاعلك .. واعطائي الحلول الممكنة فجزاك الله عني خيرا بالنسبة لهذه الطريقة لا اعتقد انها مناسبة وسترتب أمور أخرى .. فلذلك لا افضلها أحاول بكل الطرق الممكنة حاليا حل المشكلة .. وانتظر نتائج تجربة أستاذنا الغالي والكبير @jjafferr ولعلي اجد منكم حل لهذه المشكلة فبارك الله فيكم .. كلمات الشكر لا توفي حقكم علينا .. كل من يساعد أعضاء المنتدى الرائع .. فجزاكم الله عنا خيرا
husamwahab قام بنشر نوفمبر 15, 2020 قام بنشر نوفمبر 15, 2020 بالخدمة استاذي العزيز وان شاء الله تجد الحل على يد استاذ جعفر او احد اساتذتنا الاعزاء جزاهم الله كل خير 1
د.كاف يار قام بنشر نوفمبر 15, 2020 قام بنشر نوفمبر 15, 2020 (معدل) تفضل هذا التعديل اخي الكريم InvoiceSale_6 (1) (1).accdb تم تعديل نوفمبر 15, 2020 بواسطه د.كاف يار
الردود الموصى بها