• 0
Abualezz

اريد كود اضافة قيمة افتراضيه لحقل

سؤال

دلوني بالله ياشباب عن طريقة كتابة كود لعمل قيمة افتراضية لحقل في نموذج مثلا اريد عمل الكود لعمل قيمة افتراضيه تزايديه مثلا حقل رقم الفاتورة ابداء مثلا بالرقم 00001 لفاتورة فعند بدئي بكتابة الفاتورة الثانية لا اريد ان اظطر لكتابة الرقم 00002 للفاتورة الثانية ولكن اريد عندما ابتدئ في كتابة الفاتورة الثانية يقوم البرنامج تلقائيا بعمل الرقم بدون تدخلي كما في الترقيم التلقائي (يعني بزيادة واحد لكل سجل جديد ابداء فيه )

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

تم تعديل بواسطه كوماندير
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

7 إجابة على هذا السؤال .

  • 0


Dim m_IdNo
DoCmd.GoToRecord , , acLast
m_IdNo = IdNo

DoCmd.GoToRecord , , acNewRec
IdNo = m_IdNo + 1

IdNo هو حقل رقم الفاتورة

ضع هذا الكود في حدث عند النقر لزر إضافة فاتورة جديدة

الشرح :

Dim m_IdNo

لإنشاء متغير يحتفظ بقيمة رقم الفاتورة

DoCmd.GoToRecord , , acLast

إذهب إلى آخر سجل في القاعدة

m_IdNo = IdNo

ضع رقم آخر فاتورة في المتغير

DoCmd.GoToRecord , , acNewRec

إنشاء سجل جديد

IdNo = m_IdNo + 1

ضع في حقل الفاتورة قيمة المتغير المحفوظه سلفا ثم زد عليه واحد

إنتهى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بعد اذن اخونا فيصل

الكود السابق سيؤدى الغرض و لكن

ماذا لو ان السجل الاخير ليس هو اخر فاتورة ( لاى سبب من الاسباب )

او لو تم الانتقال الى السجل الجديد عن طريق اخر غير هذا الزر

اعتقد ان الموضوع سيؤدى الى الارتباك

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

كما بالمرفق

New Microsoft Office Access Application.rar

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكر تفاعلكم اعزائي ومزيدا من التقدم والنشاط

وقد حلت المشكلة ووصلت الفكرة

لكن لو ممكن اريد شي ايضا وهو عند حذف سجل مثلا سجل الفاتورة رقم 0004 ان ياخذ رقم الفاتورة 0005 هذا الرقم تلقائيا وان لا يبقى هناك شيئا فارغا يعني باغا الترتيب يستمر 0003 وبعده 0004 وهلم جرا ... لو ممكن

تم تعديل بواسطه كوماندير
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكر تفاعلكم اعزائي ومزيدا من التقدم والنشاط

وقد حلت المشكلة ووصلت الفكرة

لكن لو ممكن اريد شي ايضا وهو عند حذف سجل مثلا سجل الفاتورة رقم 0004 ان ياخذ رقم الفاتورة 0005 هذا الرقم تلقائيا وان لا يبقى هناك شيئا فارغا يعني باغا الترتيب يستمر 0003 وبعده 0004 وهلم جرا ... لو ممكن

استخدم هذا الكود فى حدث عند النقر لزر

    Dim xid, strsql, xrec As String
xid = Me.id
xrec = Me.CurrentRecord
DoCmd.SetWarnings False

If MsgBox("هل تريد حذف البيان", vbYesNo + vbCritical + vbMsgBoxRight + vbDefaultButton2, "تحذير") = vbNo Then
Exit Sub
Else

DoCmd.RunCommand acCmdDeleteRecord
Refresh
strsql = "UPDATE table1 SET table1.Id = table1.Id-1 WHERE " & "(((table1.Id)>" & xid & "));"
DoCmd.RunSQL strsql
Me.Requery
DoCmd.GoToRecord , , acGoTo, xrec
End If

تم تعديل بواسطه mrnooo2000
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ايه الابداع ده

والله المشكلة هي من زمان وانا ابحث لها عن حل

مزيدا من التفاعل وشكرا جزيلا

تم تعديل بواسطه كوماندير
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

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

يرجى الافادة ولكم الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ابداع من الجميع وخصوصا من الاخ mrnooo2000

تستاهل +1 وبجدارة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .