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

انشاء نموذج لتوليد سجلات بناءا على معطيات


عمر ضاحى
إذهب إلى أفضل إجابة Solved by ابو جودي,

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

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

كما هو واضح من العنوان 

اريد ان اعمل مولد سجلات بناءا على بيانات يتم تعبئتها فى النموذج 

وللتوضيح الشرح فى الصورة التاليه 

vDNqe0a.png

باقى البيانات هي بيانات ثابته

هل من الممكن انشاء هذا المولد ؟

مرفق ملف البرنامج

توليد سجلات.rar

تم تعديل بواسطه عمر ضاحى
رابط هذا التعليق
شارك

لو طلبك واضح ومفهوم  كان وجدت بغيتك من اخوانك  في اسرع وقت

عن نفسي لا اعلم ما تريد عمله بالضبط ، لان البيانات في الجدول تختلف عن ما في الصورة ، ايضا لا يوجد كود نستدل به حتى ولو كان خطأ 

تريد توليد سجلات ؟ ام ارقام ؟

اذا كانت سجلات فما صفتها

يجب ان تشرح شرحا وافيا

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

اجادة وصف السؤال وفهمه هو نصف الاجابة 

  • Like 3
رابط هذا التعليق
شارك

23 دقائق مضت, ابوخليل said:

لو طلبك واضح ومفهوم  كان وجدت بغيتك من اخوانك  في اسرع وقت

عن نفسي لا اعلم ما تريد عمله بالضبط ، لان البيانات في الجدول تختلف عن ما في الصورة ، ايضا لا يوجد كود نستدل به حتى ولو كان خطأ 

تريد توليد سجلات ؟ ام ارقام ؟

اذا كانت سجلات فما صفتها

يجب ان تشرح شرحا وافيا

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

اجادة وصف السؤال وفهمه هو نصف الاجابة 

اولا بعتذر لو كان طلبي غير واضح 

ما كنت اريد ان اقوله 

اولا ما فى الجدول صورة من الصور التى اريدها 

ولكي اوضح الغرض من هذا 

اريد ان اعمل ملصق يتم لصقه على الغرض (باب او اى شئ)

هذا الملصق به بعض المعلومات 

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

اقصد بتوليد السجلات هنا 

ان يتم انشاء عدد معين من السجلات فى الجدول بناءا على ما اريده فى النموذج 

مثل اريد ان انشئ خمس سجلات تحمل بيانات ثابته واخرى متسلسله مثل

erL65MF.png

هنا الكود FDD-01  قد يكون متغير  او ثابت

والكميه المطلوبه كانت انى اعمل 120 سجل 

ونوع الباب DoorType قد يكون متغير وقد يكون ثابت 

 

طبعا الصورة السابقه هي من تقرير انا كنت عامله 

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

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

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

 

(ملحوظه : ما اقصده بكلمة متغير اى يحمل رقم تسلسلى مع احرف ثابته مثل F-01  f-02  f-03 .....الخ )

 

 

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

رابط هذا التعليق
شارك

27 دقائق مضت, ابوخليل said:

اجادة وصف السؤال وفهمه هو نصف الاجابة 

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

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

ولكن اعتقد ان الأخ عمر يريد ان يضيف سجلات متعددة الي الجدول بنفس البيانات ويكون المتغير هو الرقم المتسلسل وعدد السجلات المطلوبة هو الرقم الذي يحدده في النهاية.

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

Public sub GenrateRecords(byval tbl as string,byval Rfrist As byte,byval Rend As byte)
Aim rec As Recordset,n as byte
set rec = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges)

  With rec 
    for n = Rfrist To Rend       'هنا رقم اول سجل وآخر سجل تريد ادراجه
      .AddNew
      !field_ID = "String" & n   'string = البادئة النصية التي تريد
      !field1 = control1         'بدأ من هذا السطر اسماء الحقول في الجدول وما يقابلها بالنموذج
      !field2 = control2
      !field3 = control3
      !field4 = control4
      .update
    next
  end with

End Sub

وتستدعيها هكذا 

Call GenrateRecords ("Table Name",1,15)

بعد تغير ما يلزم تغيرها بالوحدة حسب مسميات الحقول لديك 

 

  • Like 2
رابط هذا التعليق
شارك

ههههههههه يالهنائى ومن جديد يعود استاذى الجليل ومعلمى القدير واخى الحبيب الاستاذ @أبو عبدالله الحلوانى :fff: ليضع اجاباته وافكارة الرائعة فة نفس التوقيت الذى اقدم به افكارى المتواضعة جعلكم الله سباق بالخير استاذى

وجزاكم الله خيرا على فكرتم الرائعة بوضع الاكواد فى روتين عام:wink2:

  • Haha 1
رابط هذا التعليق
شارك

بارك الله فيكم اخوتي واحبتي ، واحسن اليكم . لمدكم يد العون لأخيكم

في شرحك الاخير  اخ عمر اتضحت الصورة تماما .

  

 

  • Like 1
  • Thanks 2
رابط هذا التعليق
شارك

6 ساعات مضت, أبو عبدالله الحلوانى said:

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

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

ولكن اعتقد ان الأخ عمر يريد ان يضيف سجلات متعددة الي الجدول بنفس البيانات ويكون المتغير هو الرقم المتسلسل وعدد السجلات المطلوبة هو الرقم الذي يحدده في النهاية.

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

Public sub GenrateRecords(byval tbl as string,byval Rfrist As byte,byval Rend As byte)
Aim rec As Recordset,n as byte
set rec = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges)

  With rec 
    for n = Rfrist To Rend       'هنا رقم اول سجل وآخر سجل تريد ادراجه
      .AddNew
      !field_ID = "String" & n   'string = البادئة النصية التي تريد
      !field1 = control1         'بدأ من هذا السطر اسماء الحقول في الجدول وما يقابلها بالنموذج
      !field2 = control2
      !field3 = control3
      !field4 = control4
      .update
    next
  end with

End Sub

وتستدعيها هكذا 

Call GenrateRecords ("Table Name",1,15)

بعد تغير ما يلزم تغيرها بالوحدة حسب مسميات الحقول لديك 

 

اولا باشكر حضرتك شكرا جزيلا على محاولة مساعدتى

ثانيا الكود لا يعمل معي فقط يسجل سجل واحد بلا اى قيم فيها

FTw5PSr.png

wr0Gbw3.png

 

Pli7FHH.png

 

هل انا اخطأت فى شئ ؟

 

رابط هذا التعليق
شارك

اتفضل هذا التعديل 

Public Sub GenrateRecords(ByRef FixedCode As Boolean)
Dim rec As Recordset, n As Byte
Set rec = CurrentDb.OpenRecordset("CodeGenerator", dbOpenDynaset, dbSeeChanges)
  With rec
    For n = txtQTY1 To txtQTY2
      .AddNew
        If Not FixedCode Then !Code = txtCode & n Else !Code = txtCode
        !DoorType = txtDoorType
        !Size = txtSize
        !Handing = txtHanding
        !HS = txtHS
        !QTY1 = txtQTY1
        !QTY2 = txtQTY2
      .Update
    Next
  End With
End Sub

وفى حالة ان الـ  Code ثابت 
استخدم الكود الاتى 

Call GenrateRecords(True)

وفى حالة ان الـ  Code متغير ويجمل الرقم التسلسلى
استخدم الكود الاتى 

Call GenrateRecords(False)

 

تم تعديل بواسطه ابو جودي
  • Like 1
رابط هذا التعليق
شارك

15 دقائق مضت, ابو جودي said:

اتفضل هذا التعديل 

Public Sub GenrateRecords(ByRef FixedCode As Boolean)
Dim rec As Recordset, n As Byte
Set rec = CurrentDb.OpenRecordset("CodeGenerator", dbOpenDynaset, dbSeeChanges)
  With rec
    For n = txtQTY1 To txtQTY2
      .AddNew
        If Not FixedCode Then !Code = txtCode & n Else !Code = txtCode
        !DoorType = txtDoorType
        !Size = txtSize
        !Handing = txtHanding
        !HS = txtHS
        !QTY1 = txtQTY1
        !QTY2 = txtQTY2
      .Update
    Next
  End With
End Sub

وفى حالة ان الـ  Code ثابت 
استخدم الكود الاتى 

Call GenrateRecords(True)

وفى حالة ان الـ  Code متغير ويجمل الرقم التسلسلى
استخدم الكود الاتى 

Call GenrateRecords(False)

 

ايضا نفس النتيجه لا يعمل معي 

انا كنت ارفقت ملف للعمل عليه 

هل فى امكانك تنزيل الملف وتجرب عليه واذا اشتغل ارفعه لى بعد اذن حضرتك

رابط هذا التعليق
شارك

17 دقائق مضت, ابو جودي said:

اتفضل المرفق بثلاث طرق

 

توليد سجلات.accdb 496 kB · 1 download

ما شاء الله تبارك الله 

بارك الله فيك استاذي الجليل ابو جودي

هل يمكنني على استحياء ان اطلب تعديل فى الكود 

اريد ان اجعل التسلسل txtQTY1 ايضا يكون متسلسل فى السجل لغرض ان 

اجعل الملصق متسلسل مثل 01/30  02/30   03/30  .... الخ 

رابط هذا التعليق
شارك

5 دقائق مضت, ابو جودي said:

اى طريقة تريد التعديل عليها ؟

هل اقدر اطلب الثلاث طرق 

وايضا فى الطريقة الثالثه هناك رساله بخصوص تخييري بين الثابت والمتغير 
الرساله دي ازاى عملتها بسم الله ما شاء الله هل هي ضمن هذا الكود


MyErfMsg = _
ChrW("1604") & ChrW("1608") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1603") & ChrW("1608") & ChrW("1583") & ChrW("32") & _
ChrW("1579") & ChrW("1575") & ChrW("1576") & ChrW("1578") & ChrW("32") & ChrW("13") & ChrW("10") & ChrW("1575") & ChrW("1583") & _
ChrW("1582") & ChrW("1604") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1585") & ChrW("1602") & ChrW("1605") & ChrW("32") & _
ChrW("32") & ChrW("61") & ChrW("32") & ChrW("32") & ChrW("45") & ChrW("49") & ChrW("13") & ChrW("10") & ChrW("45") & ChrW("45") & _
ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & _
ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & _
ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("45") & ChrW("13") & _
ChrW("10") & ChrW("1604") & ChrW("1608") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1603") & ChrW("1608") & ChrW("1583") & _
ChrW("32") & ChrW("1605") & ChrW("1578") & ChrW("1594") & ChrW("1610") & ChrW("1585") & ChrW("32") & ChrW("1608") & ChrW("1610") & _
ChrW("1581") & ChrW("1605") & ChrW("1604") & ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1585") & ChrW("1602") & ChrW("1605") & _
ChrW("32") & ChrW("1575") & ChrW("1604") & ChrW("1578") & ChrW("1587") & ChrW("1604") & ChrW("1587") & ChrW("1604") & ChrW("1609") & _
ChrW("13") & ChrW("10") & ChrW("1575") & ChrW("1583") & ChrW("1582") & ChrW("1604") & ChrW("32") & ChrW("1575") & ChrW("1604") & _
ChrW("1585") & ChrW("1602") & ChrW("1605") & ChrW("32") & ChrW("61") & ChrW("32") & ChrW("32") & ChrW("48")


FixedCode = InputBox(MyErfMsg, "")

 

رابط هذا التعليق
شارك

52 دقائق مضت, ابو جودي said:

اشكرك شكرا جزيلا 

وبعتذر لحضرتك انى فشلت فى توصيل الطلب صحيح 

يظهر انى لا اجيد توصيل المعلومه صحيح ( لك منى كل اعتزارى على تقصيري هذا)

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

CpLLGmd.png

رابط هذا التعليق
شارك

أذا كانت هذه طبيعة عملك و تعمل بأستمرار على هذا البرنامج . . لذلك فأن البداية واساس العمل 

تحتاج حقول أضافية في الجدول 

المجموعه . مثلاً . A.B.C.D تحتاجه للفرز والتصفية في النموذج المستمر

حقل من نوع نعم لا . لتحديد البيانات المراد التعديل عليها و طباعتها 

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

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

و بهذه الطريقة  تتحكم بالبيانات مثل ماتريد لأنه لديك معيار للفرز و لديك حقل من نوع نعم لا . و نموذج مستمر لعرض البيانات 

وبالتوفيق 

 

 

 

  • Thanks 1
رابط هذا التعليق
شارك

1 دقيقه مضت, msm 911 said:

أذا كانت هذه طبيعة عملك و تعمل بأستمرار على هذا البرنامج . . لذلك فأن البداية واساس العمل 

تحتاج حقول أضافية في الجدول 

المجموعه . مثلاً . A.B.C.D تحتاجه للفرز والتصفية في النموذج المستمر

حقل من نوع نعم لا . لتحديد البيانات المراد التعديل عليها و طباعتها 

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

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

و بهذه الطريقة  تتحكم بالبيانات مثل ماتريد لأنه لديك معيار للفرز و لديك حقل من نوع نعم لا . و نموذج مستمر لعرض البيانات 

وبالتوفيق 

 

 

 

باشكرك اخى الكريم على مداخلتك وفكرتك الجميله 

بارك الله فيك :fff:

رابط هذا التعليق
شارك

منذ ساعه, ابو جودي said:

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

بارك الله فيك واطال الله بقائك وحفظك بحفظه من كل شر

رابط هذا التعليق
شارك

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