الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في برنامج للصادر

مغلق
بدأه حاكم في 8 سبتمبر 2003 · 9 رد · 923 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عضو قديم جديد يسأل عن الآتي :

صممت برنامج على الأكسس خاص بالصادر بمساعدة كاملة من قبل أعضاء هذا المنتدى الرائع . المهم طريقة التسجيل تعتمد على إضافة رقم جديد للصادر بعد آخر رقم يتم تسجيله ووجدت ذلك في رد للأخ حارث أو الأخ أبو هاجر على ما أعتقد ويتم ذلك بالكود التالي

Dim varx

DoCmd.GoToRecord , , acLast

varx = numbr

DoCmd.GoToRecord , , acNewRec

Me![d].SetFocus

numbr = varx +1

حيث أن : numbr رقم الصادر و d أول حقل في النموذج وربطت الحدث بأمر إضافة بحيث يوضع عند النقر على زر إضافة . كل هذا عال العال ( وين الخلل ) البرنامج يعمل على شبكة مكونه من خمسة أجهزة ما أريده بالضبط هو إمكانية التصدير من أكثر من جهاز في نفس الوقت بالإعتماد على آخر رقم مسجل . فلو كان عندي آخر رقم مسجل هو 100 وأراد المستخدم الأول تصدير معاملة فسيظهر له الرقم 101 كرقم جديد ولو أراد المستخدم الثاني تصدير معاملة في نفس الوقت يظهر له آخر رقم 101. وهنا مربط الفرس . أريد من البرنامج أن يسجل أو يحفظ مباشرة في الجدول أو يحدث النموذج بشكل سريع بمجرد تعبئة أي حقل . بحيث يظهر للمستخدم الثاني الرقم 102 دون إنتظار تعبئة المستخدم الأول لجميع الحقول بل يكفي حجز الرقم 101 للمستخدم الأول ... وهكذا لبقية المستخدمين تماماً مثل الترقيم التلقائي . علماً أنني عدلت في الوضع الإفتراضي إلى مشترك لكن دون جدوى .... أرجو الرد سريعاً حيث توقف إستخدام البرنامج بشكل كبير على حل هذه المعضلة .

#2

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

أخي الكريم/

محاولةً مني في مساعدتك وجدت هذا الحل في أحد المنتديات ولكن لم أجربه عملياً ولعله يفيدك ان شاء الله.

المثال صمم لنموذج مبني على جدول اسمه Product مكون من 3 حقول وهي كالتالي :

ProductID حقل رقمي وعليه مفتاح

ProductName حقل نص

dtDate حقل تاريخ

تضع الكود التالي في "حدث عند الخطأ للنموذج" :

Private Sub Form_Error(DataErr As Integer, Response As Integer)
On Error GoTo Err_Form_Error

    Response = IncrementField(DataErr)
    
Exit_Form_Error:
    Exit Sub

Err_Form_Error:
    MsgBox Err.Description
    Resume Exit_Form_Error

End Sub

وكذلك تضع في نفس النموذج الوحدة النمطيه الأتيه :

Function IncrementField(DataErr)
    If DataErr = 3022 Then
       Me!ProductID = DMax("ProductID", "Product") + 1
       IncrementField = acDataErrContinue
    End If
End Function

والله يوفقك.

ibnmusqat.gif
#4

شكراً لك أستاذي الكريم

سأجرب الكود وإن شاء الله يفي بالغرض

#5

شكراً لك أخي إبن مسقط

ولكن المشكلة ما زالت قائمة أتمنى ممن سبق أن مر بهذه المشكلة أن يساعدني على حلها

#6

في الإنتظار

#7

عزيزي حاكم

قم بإنشاء استعلام لجدول الصادر بكامل بيانات الجدول، ثم اجعله يقوم مقام الجدول. يعني اجعله مصدر بيانات نموذج الصادر.

وإن شاء الله تفلح

تحياتي

#8

شكراً لك أخي الكريم

جربت ما ذكرته ولكن المشكلة ما زالت مستمرة

#9

عزيزي حاكم

هل تستخدم إجراء التحديث في النموذج ؟

إذا كان الجاب بلا:

قم بإجبار المستخدم لتفعيل هذا الإجراء بأحد الطريقتين التاليتين:

_ الضغط على مفتاح F9 .

_ استخدام ( Me.Refresh ) قبل إجراء ( DoCmd.Gotorecord,,NewRecord )

تحياتي

#10

شكراً لك أستاذي الكريم

أنا لا أستخدم طريقة التحديث سأجرب ما ذكرته ولك كل الشكر أولاً وآخراً

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…