nssj قام بنشر ديسمبر 25, 2020 قام بنشر ديسمبر 25, 2020 الإخوة الكرام لدي ملفات فيها ترقيم عشري واستخدمت الترقيم العشري لإمكانية إدراج سجل بين السجلات بحيث أعطي للسجل الجديد رقم بخانة عشرية تالية للسجل الحالي الذي فيه المؤشر، ليأخذ مكانه في الترتيب بعده والمطلوب أن يقوم أكسس بفعل ذلك تلقائيا فبمجرد الضغط على زر (إضافة سجل) يضيف سجلاً جديداً بترقيم عشري يزيد عن السجل الحالي الذي أنا فيه بنسبة 0.1 وهل بالإمكان بعد هذا أن يعيد هو ترتيب السجلات تلقائيا بدل أن أقوم أنا بذلك بعد كل مرة أضيف فيها سجلاً بهذه الطريقة ومرفق الملف المطلوب book0001.accdb
ابوبسمله قام بنشر ديسمبر 25, 2020 قام بنشر ديسمبر 25, 2020 السلام عليكم هل هذا ما تريد اتفضل اخى جرب ووافنا بالنتيجه Private Sub ÃãÑ19_Click() Dim LastValue As Currency Dim LastID As Integer LastValue = Me.IDX LastID = Me.ID DoCmd.GoToRecord , , acNewRec Me.IDX = LastValue + 0.1 Me.OrderBy = "IDX" DoCmd.FindRecord LastID, , True, , True End Sub بالتوفيق book0001.accdb 1
nssj قام بنشر ديسمبر 25, 2020 الكاتب قام بنشر ديسمبر 25, 2020 شكرا أخي الكريم أحمد هذا هو المطلوب ولكن هل يمكن إضافة للكود بحيث يكون المؤشر في الصفحة الجديدة المضافة سواء في النموذج المتعدد أو النموذج المفرد ولعل هذا الموضوع يكون مفتاحاً لحل مشكلة إضافة سجل خلال السجلات، وإعادة ترقيم ID بعد كل تحديث
ابوبسمله قام بنشر ديسمبر 25, 2020 قام بنشر ديسمبر 25, 2020 الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير 42 دقائق مضت, nssj said: ولكن هل يمكن إضافة للكود بحيث يكون المؤشر في الصفحة الجديدة المضافة سواء في النموذج المتعدد أو النموذج المفرد هل هذا ما تريد جرب ووافنا بالنتيجه Private Sub أمر19_Click() Dim LastValue As Currency Dim x As Integer x = Me.ID LastValue = Me.IDX DoCmd.GoToRecord , , acNewRec DoCmd.RunCommand acCmdSaveRecord Me.IDX = LastValue + 0.1 LastValue = Me.IDX Me.OrderBy = "IDX" DoCmd.FindRecord x, acAnywhere, , acSearchAll DoCmd.GoToRecord , , acNext Me.Nass.SetFocus End Sub بالتوفيق book0001.accdb
nssj قام بنشر ديسمبر 25, 2020 الكاتب قام بنشر ديسمبر 25, 2020 أحسن الله إليك أخي الكريم جربته على النموذج المتعدد بلا مشاكل ولكن في النموذج المفرد book0002 أضاف السجل الجديد كالمطلوب ولم ينتقل إليه وأعطاني رسالة خطأ فهل بالإمكان تطبيق الأمر في النموذج المفرد أيضا نسيت أن أقول أني نسخت الكود ووضعته في النموذج المفرد وقد أفلحت هذه الطريقة في المرة السابقة .. أما بعد تعديل الكود فلم تفلح
ابوبسمله قام بنشر ديسمبر 25, 2020 قام بنشر ديسمبر 25, 2020 45 دقائق مضت, nssj said: ولكن في النموذج المفرد book0002 أضاف السجل الجديد كالمطلوب ولم ينتقل إليه وأعطاني رسالة خطأ هذا النموذج بيضيف السجل وينتقل لحقل Nass بناء على Me.Nass.SetFocus وهذا كوده Private Sub أمر17_Click() Dim LastValue As Currency LastValue = Me.IDX DoCmd.GoToRecord , , acNewRec Me.IDX = LastValue + 0.1 Me.Nass.SetFocus End Sub وده تعديل للكود بالمشاركه السابقه Private Sub أمر19_Click() Dim LastValue As Currency Dim x As Integer x = Me.ID LastValue = Me.IDX DoCmd.GoToRecord , , acNewRec DoCmd.RunCommand acCmdSaveRecord Me.IDX = LastValue + 0.1 x = Me.ID Me.OrderBy = "IDX" DoCmd.FindRecord x, acAnywhere, , acSearchAll Me.Nass.SetFocus End Sub بالتوفيق book0001.accdb
nssj قام بنشر ديسمبر 25, 2020 الكاتب قام بنشر ديسمبر 25, 2020 شرا لك أخي الكريم على تجاوبك واعذرني إن كنت أثقلت عليك .. فأنا لا خبرة لي بالأكواد وليس الأكسس مجالي .. لذلك لم أحصل على النتيجة المطلوبة بالقص واللصق في الأكواد لذلك فهذا الملف مرة أخرى وليس فيه إلا النموذج المفرد وهو الأهم بالنسبة لي فلعلك تتكرم بكتابة الكود الخاص به لأحصل على نفس النتيجة في النموذج المتعدد إذ لا مشكلة فيه وهي إضافة السجل الجديد والانتقال له مباشرة مع إعادة الترتيب في نفس الوقت ليكون بعد السجل الذي أضيف بعده إن كان ذلك بالإمكان book0002.accdb
طاهر الوليدي قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 2 ساعات مضت, nssj said: شرا لك أخي الكريم على تجاوبك واعذرني إن كنت أثقلت عليك .. فأنا لا خبرة لي بالأكواد وليس الأكسس مجالي .. لذلك لم أحصل على النتيجة المطلوبة بالقص واللصق في الأكواد لذلك فهذا الملف مرة أخرى وليس فيه إلا النموذج المفرد وهو الأهم بالنسبة لي فلعلك تتكرم بكتابة الكود الخاص به لأحصل على نفس النتيجة في النموذج المتعدد إذ لا مشكلة فيه وهي إضافة السجل الجديد والانتقال له مباشرة مع إعادة الترتيب في نفس الوقت ليكون بعد السجل الذي أضيف بعده إن كان ذلك بالإمكان book0002.accdb 440 kB · 1 download هل استطيع طبق هذا على الترقيم حسب تاريخ المستندات المدخلة معتمدا على ترقيم حسب السنه والشهر واليوم للمسند. والسبب اني عندي عدة اشخاص لديهم مسندات بعضها مرقم والبعض يحتاج ترفيم بواسطة زر خاص بالترقيم مثلا معي صالح واحمد ومروان و سعيد يعملون مشتروات ومصروفات بعضها بفواتير وبعضها استلامات يدويه وجميعهم لهم مستندات تبدا من تاريخ 1 في الشهر حتى نهايته بس نقوم بادخالها نهاية الشهر لك شخص على حده لذلك الترقيم معتمدا على تاريخ المستند يطلب تسلسل. لجميع الاشخاص في نفس اليوم ادخل مستند لصالح تاريخه 1/12/2020 يمون رقمه 20121001 ومستند في تاريخ 2/12/2020 يكون رقم المستند 20122001 وبعد يومين احضر سعيد مصروفاته بعضها بتاريخ 1/12/2020 يتم الترقيم بزر 20121002 وله مستندات بتاريخ 3/12/2020 يكون الرقم 20123001 وهكذا بقية اللشخاص بس في حدث في زر الترقيم المشكله التي حصلت لي انه لايستطيع تجديدالترقيم التسلسلي بعد ادخال عدة مستندات بتاريخ مختلفه ولكي يطبق اعتقد تكون البرمجه في مودل
ابوبسمله قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 12 ساعات مضت, nssj said: شرا لك أخي الكريم على تجاوبك واعذرني إن كنت أثقلت عليك .. فأنا لا خبرة لي بالأكواد وليس الأكسس مجالي .. لذلك لم أحصل على النتيجة المطلوبة بالقص واللصق في الأكواد لذلك فهذا الملف مرة أخرى وليس فيه إلا النموذج المفرد وهو الأهم بالنسبة لي فلعلك تتكرم بكتابة الكود الخاص به لأحصل على نفس النتيجة في النموذج المتعدد إذ لا مشكلة فيه وهي إضافة السجل الجديد والانتقال له مباشرة مع إعادة الترتيب في نفس الوقت ليكون بعد السجل الذي أضيف بعده إن كان ذلك بالإمكان book0002.accdb 440 kB · 4 downloads الشكر لله ولاخواننا واساتذتنا جزاهم الله عنا كل خير معك عذرك فاننى مثلك احبو عالطريق وليس الاكسس مجالى ايضا اتفضل ان شاء الله يكون ما تريد Private Sub أمر17_Click() Dim LastValue As Currency Dim x As Integer LastValue = Me.IDX x = Me.ID 'MsgBox x DoCmd.GoToRecord , , acNewRec DoCmd.RunCommand acCmdSaveRecord DoCmd.RunCommand acCmdRefresh Me.IDX = LastValue + 0.1 x = Me.ID Me.Requery Me.OrderBy = "IDX" 'MsgBox x DoCmd.FindRecord x, acAnywhere, , acSearchAll Me.Nass.SetFocus End Sub جرب ووافنا بالنتيجه بالتوفيق book0002-1.accdb 10 ساعات مضت, طاهر الوليدي said: بس في حدث في زر الترقيم المشكله التي حصلت لي انه لايستطيع تجديدالترقيم التسلسلي بعد ادخال عدة مستندات بتاريخ مختلفه ولكي يطبق اعتقد تكون البرمجه في مودل اخى طاهر اليس هذا موضوعك فما الاشكاليه فلم افهم وتابع على موضوعك او قم بفتح موضوع جديد وارفاق مثال واضح واشرح ما تريد وان شاء الله اخوانك واساتذتنا ما بيقصروا باذن الله بالتوفيق
nssj قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 أحسن الله إليك أخي الكريم النتيجة بحمد الله تمام ثم إن حسن تجاوبك معي يجعلني أطمع بالمزيد فكما ذكرتُ في أول مشاركة لي فإن البرمجة والأكسس ليست مجالي .. وإنما لدي ملفات نصية كبيرة في الوورد أريد تحويلها إلى أكسس وضمها في قاعدة بيانات كبيرة للاستفادة من إمكانيات أكسس وعليه .. فأسئلتي كثيرة ولا بد من الاهتمام بالتفاصيل الصغيرة حتى لا أرتكب خطئا يتسبب بضرر للبيانات التي بذلت جهدا كبيرا في جمعها وترتيبها في الوورد ولذلك فلدي بعض الاستفسارات الفنية في هذا الموضوع ما دام المقصد الأصلي قد تم بحمد الله أولها .. أنا حاولت التطفل على المتخصصين بالبرمجة وعمل الأكواد فقمت بعدة محاولات قص ولصق من هنا وهناك ونتج معي كود أعطى النتيجة المطلوبة سوف أضعه هنا لتنظر فيه أخي الكريم وتعطيني رأيك .. ما هو الأفضل في الأداء والأمان والسرعة لاسيما في قاعدة بيانات كبيرة يتجاوز عدد سجلاتها (100000) وفي كثير منها عدة صفحات وورد في حقل واحد
ابوبسمله قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 3 ساعات مضت, nssj said: النتيجة بحمد الله تمام الحمدلله الذى بنعمته تتم الصالحات 3 ساعات مضت, nssj said: يجعلني أطمع بالمزيد تحت امرك بما اعرفه وان لم اعرف فاساتذتنا لا يتاخرون عن تقديم يد المساعده جزاهم الله خيرا 4 ساعات مضت, nssj said: فقمت بعدة محاولات قص ولصق من هنا وهناك ونتج معي كود أعطى النتيجة المطلوبة جميل وهذا المطلوب انك تحاول وعندما تقف تسال وهذا ما افعله احاول مرارا وتكرارا الى ان اصل الى ما اريد واعرف اين وقفت واتعلم وطالما مازلت فالبدايه فنصيحتى لك خد كوبى من الملف الاساسى الذى تم تجميعه واحفظه فى مكان خاص وقم بالتجارب على نسخه منه حتى لا تفقد بياناتك التى تعبت في تجميعها الى ان يستقر عمل برنامجك خد نسخه من الاصل المحفوظ وجرب مره اخرى على برنامجك كما تريد وان شاء الله تتعلم وتصل لمبتغاك وتساعد اخوانك بالتوفيق اخى
nssj قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 شكرا لك أخي الكريم على كلامك الطيب المشجع مع أنك نسيت التعليق على الكود الذي اخترعته بالقص واللصق .. وهل هو مناسب .. وما هو الأفضل من حيث الأداء والسرعة في الملفات الكبيرة وبالإضافة إلى ما سبق سأنتقل للاستفسار الثاني فقد لاحظت أن حقل (ID) يتحول بعد الكود إلى مفتاح أساسي مع أنه في الجدول الأصلي لم يكن كذلك وقد خشيت بادئ الأمر أن يتسبب ذلك بمشكلة >> لأن المفتاح الأساسي لكل الملفات التي عندي هو حقل لم أدرجه في المثال، وهو حقل (Mno) لكن بعد إدراجه لم تحدث أي مشكلة المشكلة التي طرأت عندما أضفت بعض الحقول التي أرغب أن تكون مطلوبة ولا يسمح بتركها فارغة، وهو في الملف المرفق (Type) فتظهر رسالة خطأ عند تطبيق الكود بالنظر إلى أنها فارغة وجربت مؤقتا أن أتخلص من هذه الرسالة بوضع قيمة افتراضية عشوائية (0) وانتهت المشكلة لكنني أفضل ألا أجعل في مثل هذه الحقول المطلوبة قيمة افتراضية حتى لا أنسى تعبئتها بحيث لا يتم الحفظ أو الانتقال من الصفحة قبل تعبئتها بالشكل المطلوب فهل يمكن التعديل على الكود بحيث لا تظهر رسالة الخطأ هذه ويبقى الأمر كما هو المعتاد في مثل هذه الحقول المطلوبة: تظهر الرسالة فقط عند الحفظ أو الخروج أو الانتقال لسجل آخر قبل تعبئتها ولا تنسى أخي الكريم في زحمة هذه المطالب المطلب الأول 😀 book77.accdb
ابوبسمله قام بنشر ديسمبر 26, 2020 قام بنشر ديسمبر 26, 2020 الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا بالنسبه للتعليق على الكود باستخدام اعلى قيمه مفيش مشكله 51 دقائق مضت, nssj said: وبالإضافة إلى ما سبق سأنتقل للاستفسار الثاني فقد لاحظت أن حقل (ID) يتحول بعد الكود إلى مفتاح أساسي مع أنه في الجدول الأصلي لم يكن كذلك ملاحظتك هذه فى غير محلها وقد راجعت امثلتك مره اخرى فوجد حقل Id مفتاح اساسى بمثالك وملحوظتى عليها لا علاقه بالكود الموضوع بتغيير الحقل لمفتاح اساسى نهائى 47 دقائق مضت, nssj said: فهل يمكن التعديل على الكود بحيث لا تظهر رسالة الخطأ هذه اتفضل اخى جرب ووافنا بالنتيجه Private Sub txtType_AfterUpdate() Me.Nass.SetFocus End Sub Private Sub أمر17_Click() Dim LastValue As Currency Dim LastID As Integer LastValue = Me.IDX LastID = Me.ID DoCmd.GoToRecord , , acNewRec DoCmd.RunCommand acCmdSaveRecord Me.IDX = LastValue + 0.1 Me.OrderBy = "IDX" LastID = DMax("[ID]", "book0001") DoCmd.FindRecord LastID, , True, , True Me.txtType.SetFocus If Me.txtType.DefaultValue = 0 Then If MsgBox("اختار احدى هذه القيم", _ vbDefaultButton1 + vbInformation + vbMsgBoxRight, "تنبيه") Then Me.txtType = "" Me.txtType.SetFocus Me.txtType.Dropdown End If End If End Sub بالتوفيق book77.accdb
nssj قام بنشر ديسمبر 26, 2020 الكاتب قام بنشر ديسمبر 26, 2020 جزاك الله خيراً أخي الكريم تم المطلوب بحمد الله بهذه الطريقة أستطيع إضافة سجل خلال السجلات وهي طريقة خطرت في بالي: الاعتماد على الترقيم العشري كترقيم ثانوي لكن لعل هناك طريقة أكثر احترافية لهذا الغرض: إدراج سجل خلال السجلات وليس في آخرها دون وجود عمود للترقيم العشري كما هو الحال في برنامج الشاملة ولعلي سأطرح هذا الأمر في موضوع جديد لعل أهل الخبرة يفيدوننا
nssj قام بنشر ديسمبر 27, 2020 الكاتب قام بنشر ديسمبر 27, 2020 مشكلة طارئة بعد أن تم المطلوب في هذا الملف التجريبي الصغير قمت بتجربة الأكواد على ملف كبير وفيه أكثر من (45000) صف ، في نموذج مفرد فلم تعمل الأكواد وأصبحت تظهر رسالة الخطأ في هذا السطر من الكود الذي تفضلت به x = Me.ID وفي الكود الذي اخترعته أنا LastID = DMax("[ID]", "book0001)" فاجتهدت وغيرت Dim x As Integer / إلى / Dim x As Long وَ Dim LastID As Integer / إلى / Dim LastID As Long فاختفت رسالة الخطأ لكنه أصبح يدرج الصفحة الجديدة في آخر الملف ولا يضعها مكانها ولما فتحت النموذج في وضع التخطيط وطلبت منه الفرز بناء على (IDX) وأغلقت النموذج بعد الحفظ أصبح يضع الصفحات في موضعها فهل الكود بحاجة لتعديل أم أنه لابد من هذه الخطوة قبل أول استخدام للكود هذه هي المشكلة الأولى، ولكنها يسيرة المشكلة الأكبر أن هذا الملف رغم عدد سجلاته الكبير فهو ملف مصغر للتجارب، مصغر من حيث حجم النص فلم أجعله بخيار (مذكرة) لذلك تم حذف معظم النصوص لكن لما جربته على الملف الرئيسي حيث النصوص كاملة بخيار (مذكرة) رجع ليقف عند الصفحة الأولى، مع ملاحظة انه أصبح يأخذ وقتا أطول فهل حجم الداتا له تأثير على الكود .. وهل من حل وحجم الملف يتجاوز (100) ميجا ولا يمكن رفعه هنا
ابوبسمله قام بنشر ديسمبر 27, 2020 قام بنشر ديسمبر 27, 2020 22 ساعات مضت, nssj said: تم المطلوب بحمد الله الحمدلله الذى بنعمته تتم الصالحات 11 دقائق مضت, nssj said: مشكلة طارئة مفيش مشاكل باذن الله 12 دقائق مضت, nssj said: فاجتهدت وغيرت Dim x As Integer / إلى / Dim x As Long وَ Dim LastID As Integer / إلى / Dim LastID As Long نعم حلك صحيح وبورك فى اجتهادك ماشاء الله والسبب لان المتغير من النوع Integer يقبل الى { 32,767 } to { -32,768 } اما المتغير من النوع Long فهو اكبر راجع هذا الرابط لتتعرف عالمتغيرات اكثر وانواعها https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/data-type-summary 24 دقائق مضت, nssj said: فاختفت رسالة الخطأ لكنه أصبح يدرج الصفحة الجديدة في آخر الملف ولا يضعها مكانها ولما فتحت النموذج في وضع التخطيط وطلبت منه الفرز بناء على (IDX) وأغلقت النموذج بعد الحفظ أصبح يضع الصفحات في موضعها فهل الكود بحاجة لتعديل أم أنه لابد من هذه الخطوة قبل أول استخدام للكود هذه هي المشكلة الأولى، ولكنها يسيرة المشكلة الأكبر أن هذا الملف رغم عدد سجلاته الكبير فهو ملف مصغر للتجارب، مصغر من حيث حجم النص فلم أجعله بخيار (مذكرة) لذلك تم حذف معظم النصوص لكن لما جربته على الملف الرئيسي حيث النصوص كاملة بخيار (مذكرة) رجع ليقف عند الصفحة الأولى، مع ملاحظة انه أصبح يأخذ وقتا أطول فهل حجم الداتا له تأثير على الكود .. وهل من حل وحجم الملف يتجاوز (100) ميجا ولا يمكن رفعه هنا ارفع الملف عالمديا فاير وضع الرابط لنرى ويشاركنا اخواننا واساتذتنا وان شاء الله تتحل المشكله بفضل الله ثم اخواننا واساتذتنا جزاهم الله خيرا بالتوفيق
nssj قام بنشر ديسمبر 28, 2020 الكاتب قام بنشر ديسمبر 28, 2020 هذا هو رابط الملف وقد أضفت فيه مربع نص للسجل الحالي (CurrentRecord) فهل يمكن أن يفيد في موضوعنا https://www.mediafire.com/file/20qs7zojbpxrvlt/book07.rar/file
ابوبسمله قام بنشر ديسمبر 29, 2020 قام بنشر ديسمبر 29, 2020 18 ساعات مضت, nssj said: هذا هو رابط الملف وقد أضفت فيه مربع نص للسجل الحالي (CurrentRecord) فهل يمكن أن يفيد في موضوعنا https://www.mediafire.com/file/20qs7zojbpxrvlt/book07.rar/file قمت بعمل نموذج عن طريق المعالج للجدول ويعمل بشكل سلسل وصراحه لا اعلم ما المشكله بالنموذج الذى بالمرفقات ان شاء الله يفيدنا احد الاخوان او اساتذتنا جزاهم الله خيرا بالتوفيق
nssj قام بنشر ديسمبر 29, 2020 الكاتب قام بنشر ديسمبر 29, 2020 أخي الكريم .. هل أفهم من كلامك أنه قد واجهتك نفس المشكلة التي واجهتني في النموذج الذي أرسلته حتى أعلم هل المشكلة من هذا النموذج بشكل عام أم هي عندي خاصة هذا أولا .. وثانيا .. أنا أيضاً عملت نموذجا آخر وسارت الأمور بشكل جيد لكن لاحظت أنه يأخذ وقتا أطول إذا أضفت سجلاً بعد أرقام متأخرة، وأنه يقف برهة عند أول سجل ثم ينتقل للسجل الذي تمت إضافته فيظهر أن العقدة في الانتقال لهذا السجل وكلما كان بعيدا كلما احتاج وقتاً أكثر ويبدو أن النموذج الأول كسول ولا يجب الحركة 😀😀 على كلٍ .. النتيجة مرضية بحمد الله .. لكن إن وجدت طريقة أخرى لينتقل للسجل المضاف فبها ونعمت .. وهل يمكن الاستفادة من (CurrentRecord)
ابوبسمله قام بنشر ديسمبر 30, 2020 قام بنشر ديسمبر 30, 2020 12 ساعات مضت, nssj said: هل أفهم من كلامك أنه قد واجهتك نفس المشكلة التي واجهتني في النموذج الذي أرسلته نعم واجهتنى المشكله ولذلك قمت بانشاء نموذج اخر لارى هل هى نفس المشكله ام شىء اخر فوجدت النموذج الجديد يعمل بشكل جيد بالتوفيق
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.