اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أبو عبدالله الحلوانى

الخبراء
  • Posts

    1731
  • تاريخ الانضمام

  • Days Won

    5

كل منشورات العضو أبو عبدالله الحلوانى

  1. تأخرت كثيرا في الرد وأعتذر عن ذلك هذا مثال مصغر للفكرة المطروحة بمشاركتي السابقة أرجو أن تفيدك بشىء تمنياتي بالتوفيق SaveSetting.accdb
  2. يمكنك التبديل بين طريقة عرض النموذج الفرعي كما بالصورة المرفقة جرب هذا ووافنا بالنتائج تمنياتي بالتوفيق
  3. أخي نحن هنا نتبادل المعرفة فكلنا يجود بما لديه من علم ووقت وليس هذا حكرا علي أحد دون الآخر فلا تعتذر عن مشاركة بل ونرجو منك مزيدا من المشاركات فلعل معلومة تشارك بها هنا لا تلقي لها بالا! ينتفع بها مئات بل آلاف ممن يدعون لك بخير يكتب لك أجرها الي أن يشاء الله. أخي لا توجد هنا مشاركة ممنوعة الا ما خالف القواعد العامة المنظمة للمنتدي طالما بها فائدة عامة للجميع ولم تخالف شرعا أو لوائح المنتدي. ولعل أساتذتي يوافقوني الرأي تمنياتي بالتوفيق والسداد وجزاك الله خيرا
  4. ان كان ولابد ممكن تجعل نموذج فرعي لعرض البيانات علي النموذج الرئيسي وستري أن التحكم بحجم الحقول علي هذا الفورم سارت أسهل بكثير وكذلك سيتاح عليه عوامل تصفية وفرز علي كل عمود كأنك تتعامل مع الجدول مباشرة. مثل هذه الصورة مع تمنياتي بالتوفيق
  5. آسف لتأخري بالرد نظرا لانشغالي اطلعت علي مرفقك ماشاء الله تبارك الله تصميم جميل وأفكار جميلة ولكن هذه الصور الكثيرة ستعمل علي زيادة حجم البرنامج بشكل مبالغ فيه مما يسبب مشكلات بالغة علي المدي الطويل لذي انصحك بأن تجعل هذه الصور مرتبطة وليست منضمة (Linked not Embedded) وأن تجعل الصور بمجلد البرنامج هذا سيعمل علي تقليل حجم قاعدة برنامجك وتسريع تحميله. واليك هذا الرابط لتوضيح الفكرة أكثر. قمت بتعديل خاصية اغلاق الحقل المعدل بمرفقك (بعد أن قمت بعمل ضغط واصلاح له وستري الفارق في الحجم بنفسك) أما عن النقطة 4 بمشاركتي السابقة فلم أجد وقتا كافيا لتنفيذها علي مرفقك ولكن سأضع لك كود اضافة بيانات أي نموذج مهما كان عدد عناصر التحكم به الي أي جدول بشرط ان تكون أسماء الحقول بالجدول مساوية لاسماء عناصر التحكم علي النموذج حتي يستطيع الكود أن يرسل البيان الصحيح بالمكان الصحيح بالجدول سأترك لك العمل علي هذه النقطة وهذا هو الكود ولا تنسي الشرط... Option Compare Database Dim m As Recordset Dim C As Control Sub Add_New(Frm As Form, tbl As String) On Error Resume Next Set m = CurrentDb.OpenRecordset(tbl, dbOpenDynaset, dbSeeChanges) m.AddNew For Each C In Frm.Controls If C.ControlType = acTextBox Or C.ControlType = acComboBox Then m(C.Name) = C.Value End If Next m.Update m.Close Set m = Nothing msgbox "Done!" كل ما عليك هو وضع هذا الكود في موديول ثم تستدعيه من أي نموذج تريده هكذا Call Add_New(me,"your tabel name") تمنياتي بالتوفيق هذا مرفقك بعد التعديل (والضغط) CashierV2.accdb
  6. بعد اذن استاذنا الدكتور حسين كمال ضع الكود في زر أمر اضغط عليه عند الحاجة للارتباط بقاعدة بيانات جديدة فهذا الكود العبقري من أستاذنا الدكتور @د.كاف يار يعمل علي ضبط واعادة ربط الجداول بالمسار المحدد بأول الكود ويمكنك تخزين هذا الكود بوحدة نمطية تستدعيها من أي مكان بالبرنامج مع تمرير المسار الذي تريده اليها بأي وقت. تمنياتي بالتوفيق
  7. السلام عليكم اليك بعض النصائح تجنك الوقوع في مشكلة تعارض الكتابة: 1- قم بتقسيم قاعدة البيانات الي قاعدة أمامية بها النماذج والتقارير والاستعلامات و .... وقاعدة خلفية تحتوي علي الجداول فقط 2- اجعل قاعدة الخلفية (التي تحوي الجداول فقط هي القاعدة التي يتم مشاركتها مع الجميع) 3- وزع القاعدة الأمامية والتي بها النماذج والتقارير و..... علي كل جهاز نسخة. 4- اجعل النموذج الخاص بملء البيانات داخل الجدول غير منضم واجعل ارسال البيانات بشكل كلي من خلال زر حفظ مثلا يتم الضغط عليه مرة واحدة بعد الانتهاء من ملء البيانات المطلوبة. (هذا سيقلل كثيرا من حدوث تعارض في ارسال البيانات لقلة احتمالية أن يضغط مستخدمان في نفس الوقت علي زر حفظ) 5- اضابط خاصية اغلاق السجل الي حقل محرر لكل النماذج الخاصة بادخال البيانات كما بالصورة وفي النهاية أتمني لي ولك التوفيق والسداد.
  8. لا تنسي ان تضغط علي أفضل اجابة علي اجابة أخيك فهذا سيحفذ أخوتك علي المذيد من العطاء تمنياتي بالتوفيق
  9. تشرفنا يا بلديات - الصعايدة اذا احتلو منصات البرمجة - إذا ما يكرسوفت ستعلن افلاسها عن قريب أو ستبيع شركتها لواحدة من شركات الصعايدة - أنا صعيدي وأفتخر (بالاسلام طبعا ) علي فكرة أنا لا خبير ولا حاجة أنا لسه طالب علم علي أول الطريق وقد تخلفت عن الركب كثيرا فقد سبقني غيري الي حيث لا أعلم من دروب العلم بهذا المجال تمنياتي بالتوفيق الدائم ولا تتردد في طرح تسائلاتك هنا فمن هنا حصلنا علي علم كثير لم نعمل به (ولا تصنع مثلي في عدم الاستفادة من علم الاساتذة علي الوجه المرجو هذه نصيحة )
  10. انظر هذه الروابط لعلها تفيدك المرفق بالموضوع السابق به قوائم تم صنعها بلغة ال xml وهي طريقة سهلة تجد شرح لطريقة استخدامها لصنع القوائم بأكسس 2007 فما فوق بهذا الرابط. وهنا تجد طريقة رائعة لصنع القوائم التي تريدها للأكسس باستخدام الأكسس هدية من أبي غفران غفر الله لنا وله ولوالدينا والمسلمين هذا زبدة ما استخلصت لك من البحث بالمنتدي وان أردت المزيد قم باستخدام البحث داخل المنتدي لتري ما يسرك تمنياتي بالتوفيق
  11. جرب هذا التعديل ووفنا بالنتائج تمت تصفية البيانات داخل مصدر التقرير بدون أكود داخل المرفق مع العلم انه يمكنك اجراء نفس العملية بواسطة كود فتح التقرير نفسه بهذه الطريقة أذكر هذا لتعم الفائدة فحسب DoCmd.OpenReport "reportName", acViewReport, , "[الإدارة]=" & Forms!DTS!DD " And [المجموعة]=" & Forms!DTS!MAG ومن باب النصيحة لتمام الفائدة أيضا اجعل مسميات الحقول داخل الجدول باللغة الانجليزية واضبط خاصية تسمية الحقل باللغة العربية ان أردت هذا سيسهل عليك الكثير ويجنبك الوقوع في الأخطاء عند كتابة الأكواد التي تتعامل مع حقول الجدول بشكل مباشر فيما بعد. مع تمنياتي بالتوفيق تجربة_(1).rar
  12. وعليكم السلام ورحمة الله وبركاته الأمر بسيط إن شاء الله - فلسنا بحاجة الي أكواد خاصة ولا شئ سوي جدول فارغ يحوي حقول يتم تخزين القيم المراد تخزينها بها وفقط ثم عند فتح أي فورم يقوم بجلب الخصائص والتنسيقات التي نريدها من الجدول السابق. ساحاول توضيح الفكرة غدا ان شاء الله بالتعديل علي المرفق. تمنياتي بالتوفيق
  13. جرب هذا التعديل ووافنا بالنتائج تجربة_(1).accdb
  14. السلام عليكم كيف تفتح التقرير هل عن طريق زر أمر ورائه كود أو ماكرو مثلا وما هو هذا الأمر الذي تستخدمه في فتح التقرير وان كان بامكان حضرتك أن ترسل لنا مثالا للمشكلة التي توجهك هنا لنتعامل معها عيانا لا سماعا. ولحين الاجابة علي هذه التسائلات من فضلك افتح التقرير في طريقة عرض التصميم وراجع هذه الخاصية
  15. ممكن حضرتك تصور لنا هذه الرسالة التي تظهر لك وأخبرنا كيف تقوم باعادة الربط مرة أخري هل باستخدام كود ما أم باستخدام معالج الأكسس نفسه؟
  16. للأسف قمت بحذف التقارير التي ظهرت بها المشكلة وأعدت تصميمها من جديد - وقد تم حل المشكلة بهذا والحمد لله- سأبحث لحضرتك عن نسخة أكون قد أخذتها من قبل لعل بها المشكلة نفسها وأشكرك على الاهتمام - وجزاكم الله خيرا
  17. السلام عليكم ورحمة الله وبركاته هذا الكود يعمل علي جلب قيمة بعض الحقول واسماءها داخل الجدول عن طريق الدوران خلال كل الحقول بالجدول بشرط أن يكون حقل معين رقم وليس نص. هذا علي حسب فهمي. الكود الموجود بمشاركة حضرتك الاولي لم يظهر به بداية الكود والذي يجب أن يكون يحتوي علي: 1- تعريف لـــ Rst : وهو متغير سيتم تحديد نوعه الي Recordset - ليستعمل في تخزين بيانات الجدول وطريقة التعامل مع هذه البيانات. مثل: Dim rst As Recordset Set rst = Currentdb.OpenRecordset("TabelName",dbOpendynaset) 2- شرط الدوران داخل جقول الجدول ، مثل: For n=1 to rst.RecordCount -1 أو For Each field in rst.fields ثم من بداية الكود الذي ذكرته حضرتك شرط الحصول علي البيانات من داخل الجدول أن يكون الحقل المحدد يحوي رقم في هذا السطر والاسطر المشابهة له If IsNumeric(rst("F" & fld_Number + 16).Value) Then علي افتراض ان حقول الجدول لديك تسمي بهذا الشكل F1 , F2 , F100 .... fld_Number عبارة عن نص يحوي رقم فعليه يكون الشرط يعني لو الحقل المسمي f(1+16) قيمته رقم افعل أرجو أن يكون الشرح واضح وأني قد أفدتك بمعلومة ولو بسيطة تمنياتي بالتوفيق
  18. السلام عليكم ان كانت هذه الافتراضيات صحيحة 1- أن أول 5 أرقام من جهة اليسار للباركود هي ثابته ولن تتحرك جهة اليمين. 2- باقي الأرقام من بعد الخمسة الأولي من جهة اليسار هي عبارة عن وزن الصنف. اذن هذا الكود سيقوم بتنفيذ ما طلبت باذن الله Me.Text0=Val(Right([barcode],len([barcode])-5))/1000 وطبقت هذا علي مرفقكم مع تعديل كود البار كود كما جاء بمشاركتم الأولي ليظهر فائدة الكود انظر المرفق ووافنا بالنتائج كاشير.rar
  19. يبدو أن برنامجك يحوي الكثير من اللغة العربية بمحرر الأكواد حاول أن تجعل محرر الأكواد يخلو من استخدام اللغة العربية سيقلل هذا من حدوث المشاكل المشابهة لهذا ان شاء الله. قم بتنفيذ هذه الخطوات البسيطة لعله تفيدك: 1- كما ذكر استاذنا @ابو البشر غير اعدادات اللغة بالويندوز الخاص بالجهاز الذي تحدث به المشكلة واجعلها مساوية لنفس الاعدادات الخاصة بالجهاز الذي تم تصميم البرنامج عليه. 2- قم بفتح البرنامج علي وضع التصميم علي الجهاز الذي تحدث به المشكلة وقم بفتح أي فوم في وضع التصميم ومن ثم ادخل الي شاشة محرر الاكواد وقم بعمل compile وتصحيح المشكلات داخل الأكواد التي ربما تظهر ثم قم باغلاق محرر الأكواد واغلاق قاعدة البيانات مع حفظ التعديلات واعادة فتحها- وأخبرنا بالنتائج. أو قم بتجربة هذا البرنامج الخاص بالاستاذ @jjafferr علي الجهاز الجديد. تمنياتي بالتوفيق
  20. السلام عليكم ورحمة الله وبركاته بلأكسس لا وجود لما يسمي sumif - or - sumifs وانما هنالك ما هو مماثل لها بالأداء أو ربما أكبر فائدة قليلا وهي دالة واحدة تقوم بعمل الدالتين تقريبا Dsum(fieldName,tablename,conditions) وكما تري في the Condithons يمكنك وضع ما تشاء من عوامل للجمع علي أساسها واليك مثال توضيحي لطريقة كتابة الدالة me.text0= Dsum("priceField","sellsTable","(EmpName=Ahmed Or EmpName=Mohamed) And (SellDate>=#8/1/2020# And SellDate<=#10/1/2020#")) تمنايتي بالتوفيق
  21. ممكن حضرتك ترفق لنا مثال لما تريد التعديل عليه حتي نحاول حل مشكلتك عن كثب فكما يقال من رأي ليس كمن سمع
  22. للأسف لم تحل المشكلة يبدو أنني لا بد أن أقوم باعادة تصميم التقارير المعطوبة مرة أخري وأرجو أن تقتصر المشكلة علي هذا فحسب. وجزاكم الله خيرا علي الاهتمام.
  23. جزاكم الله خيرا وجعله في موازين أعمالكم الصالحة يبدو أن غيابي الفترة السابقة عن الموقع قد فوت علي الكثير من التحف لا حرمنا الله من فضلكم - ولا زال فيض علمكم يزود الظمآ من طلبت العلم. -------------------------------------------------------------------------------- طبعا اللي فوق دا مش نفاق والسؤال اللي جاي ملوش أي علاقة بالكلام السابق (حتي لا يحمل السؤال الآن معنا آخر 😀 ) أستاذي رسالة الخطأ هذه لم أستطع معالجتها ببرنامجكم ولا أدري ما سر وجودها وأسباب ظهورها بهذا الشكل المفاجئ رغم عمل البرنامج بشكل طبيعي بالأمس.
  24. أسأل الله أن ييسر لكم هذا الوقت بالقريب العاجل فنحن نتوق لذلك وننتظره وجزاكم الله عنا خيرا. 123
×
×
  • اضف...

Important Information