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

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

الخبراء
  • Posts

    1,727
  • تاريخ الانضمام

  • Days Won

    5

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

  1. نعم علي حد علمي وهذا مربط الفرس لذا صدرت اسئلتي به! أعتقد أن الأصح الترصيد علي مستوي المخازن يعني رصيد أول المدة من الصنف 1 في المخزن 1 = كذا ورصيد أول المدة من الصنف 1 في المخزن 2 = كذا أما في الحساب الختامي يتم تجميع الأرصدة حسب الصنف وليس المخازن وهذا سيسهل جرد كل مخزن علي حدي (وتنتهي مشكلتك أيضا) ان شاء الله السؤال هنا هل سيتم ادخال الصنف أكثر من مرة بعدد المخازن بالطبع لا اذا انشأنا جدول مستقل لعملية الترصيد يعني عندنا 1- جدول الأصناف يحوي المعرف واسم الصنف وسعره و.... 2- جدول الأرصدة ويحوي كود الصنف كود المخزن رصيد أول المدة و الفترة المحاسبية (الفترة المحاسبية المعتمدة في عمليات الجرد مثلا سنة كذا أو الربع الأول من سنة كذا ان كان الجرد ربع سنوي) وبناءا علي معلومة الفترة المحاسبية يمكننا تحويل رصيد أول المدة الي آخر المدة في نهاية الفترة والعكس صحيح هذا من وجهة نظري المحاسبية أما البرمجية فان كان هذا غير صحيح برمجيا فليفدنا اساتذتنا بالجواب الصحيح هذا والله أعلم تمنياتي بالتوفيق
  2. يبدو ان سعادتي جعلتني اتسرع بالحكم علي الأمور هذا الباترن منع كل الادخال بما فيه الأحرف العربية والانكليزية والأرقام والرموز نرجو توضيح كيف سيكون الباترن الذي يمنع وجود أرقام أو رموز داخل الاسماء
  3. وهذا هو الباترن الذي أردت "[d \W\]" هذا يمنع وجود الأرقام أو الرموز أيا كانت داخل الاسم. وهذا رابط آخر يشمل العديد من الـ pattrens https://www.vbsedit.com/html/ab0766e1-7037-45ed-aa23-706f58358c0e.asp حقيقة تكرار ردودي نظرا لسعادتي بهذا الموضوع فقد كنت أفكر بكود لتقطيع النص والبحث داخل اجزائه علي تلك الرموز والأرقام ولكن بفتحكم لهذا الموضوع اختصرت علي الطريق كثيرا وجزاكم الله خيرا
  4. وجدت هذا الرابط لشرح الرموز المستخدمة في كتابة الـ Pattrens https://www.tutorialspoint.com/vbscript/vbscript_reg_expressions.htm شاكر لحضرتك هذه المعلومات القيمة طريقة التحقق هذه ستختصر أكواد كثيرة كنا نستخدمها لفرز وتنقية النص جزاكم الله خيرا
  5. ولكن أعتقد أن الباترن هو لب الموضوع - نرجو أن تفرد لها شرحا بهذا الدرس أو بدرس مستقل وجزاكم الله خيرا مثلا لو أردت أن يتحقق الفانكشن من وجود الأرقام أو العلامة العشرية أو علامة التنصيص المفردة والمزدوجة والفاصلة والفاصلة المنقوطة كيف سيكون البترن هنا وجزاكم الله خيرا
  6. 1- عند تسجيلك لرصيد أول المدة هل تقوم بتسجيل الرصيد الموجود من الصنف في كل مخزن علي حدي أم الرصيد الموجود بكلا المخزنين 2- ماذا تعني بتكرار الرصيد هل تقصد أنه يجمع الرصيد بكلا المخزنين أي ان بمخزن 1 رصيد أول المدة 25 وبالمخزن 2 رصيد أول المدة 25 فيظهر الرصيد 50 مثلا اعذرني لم اطلع علي مرفقك لضيق الوقت
  7. جزاكم الله خيرا تطويعكم للغة HTML واستخدامها داخل الأكسس انه حقا من الأمور 'الحصرية' بكم أستاذنا @أبو إبراهيم الغامدي فجزاكم الله عنا خيرا
  8. السلام عليكم ورحمة الله وبركاته من خلال استخدام الكائن comandbars والذي من خلاله يمكن أن نصنع قوائم منبسقة كالتي تظهر عند الضغط علي زر الفأرة الأيمن نستدعيها من أي موضع نريد وقد تم نقاش الموضوع سابقا هنا السؤال الآن هل يمكن التحكم بخصاص هذا الكائن أو انشاء خصائص جديده له كما نريد 1- كتغيير اتجاه هذه القوائم من اليسار الي اليمين. 2- او اظهارها بالعرض مثل الصورة التالية بدلا من ظهورها بالشكل المعتاد. وشاكر لكم حسن تعاونكم - وجزاكم الله خيرا
  9. تم حل المشكلة والحمد لله وجزاكم الله عني خيرا لم يكن هناك حاجة لتكرار كود الاخفاء في أكثر من فورم (السهر يؤي الي ظهور المشكلات دائما )
  10. شكرا لك غدا ان شاء الله أجرب وأوافيكم بالنتائج بارك الله فيك
  11. السلام عليكم ورحمة الله وبركاته حقيقة أشعر اليوم بالاحباط فسأحاول أن أستعير الوجه الباسم حتي لا أزعجكم بكآبتي اليوم بعد أن أنهيت العمل علي المشروع الذي ارهقني وأقلق منامي، وبدأت بعمل التجربة النهائية قبل التسليم فوجئت بهذا الخطأ الغريب أستخدم كود لإعادة الربط بقاعدة البيانات الخلفية عند الحاجة و عند التشغيل الأول للبرنامج علي جهاز آخر حتي لا أطيل عند تجربة فتح البرنامج وتغير مسار قاعدة البيانات وتنفيذ الكود يتم الارتباط بالجداول وتظهر لوحة التبديل (navigation pane) ولا أدري لماذا تظهر لوحة التبديل بعد اعادة الارتباط بالجداول قمت بعدت محاولات وضعت كود اخفاء تلك اللوحة بعد استيراد كل جدول ووضعت الكود عند فتح النافذة التالية بعد الارتباط ووضعته مرة أخري عند تحميل نفس النافذة ولكن دون جدوي لا أدري أين الخلل ملاحظة: المشكلة ظهرت بعد عمل الملف التنفيذي للبرنامج وتسطيبه ولم تكن تظهر عند كتابة الكود لأول مرة وتجربته هذا هو كود الارتباط Public Sub CreateTableLink(strBEPath, strSourceTableName, Optional strPassword = "") Dim db As DAO.Database Dim tdf As DAO.TableDef Dim strConnect As String Dim strLinkName As String On Error GoTo errLink strLinkName = strSourceTableName strConnect = "MS Access;PWD=" & strPassword & _ ";DATABASE=" & strBEPath Debug.Print strConnect & " " & strLinkName Set db = CurrentDb Set tdf = db.CreateTableDef tdf.Connect = strConnect tdf.SourceTableName = strSourceTableName tdf.Name = strLinkName 'tdf.Attributes = dbHiddenObject Recreate: db.TableDefs.Append tdf db.TableDefs.Refresh Set tdf = Nothing Set db = Nothing DisplayHideNavPane False Exit Sub errLink: If Err.Number = 3012 Then 'this conniction is created before this time db.TableDefs.Delete strSourceTableName DisplayHideNavPane False GoTo Recreate Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub وهذا كود لاخفاء الـ (navigation pane) Sub DisplayHideNavPane(Optional Visible As Boolean = True) DoCmd.SelectObject acForm, , True If Visible = False Then DoCmd.RunCommand acCmdWindowHide End Sub 'and call it like this: DisplayHideNavPane False وهذا فيديو للمشكلة التي تحدث
  12. ايه اللغبطة دي انت بتحط افضل اجابة علي السؤال ولا الجواب هذا سحر الأكسس يمكنك فعل اشياء بدون أكواد ولا شىء الطريقة تم تنفيذها باستخدام التنسيق الشرطي الشرح بالفيديو ملاحظة: هذا أول فديو تعليمي أنشره (فستري أنه غير احترافي ولكنه يفي بالغرض ان شاء الله) واستخدمت به مرفقك فان كنت لا تسمح باستخدام مرفقك في الشرح أخبرني حتي احذف هذا الفديو من القناة تمنياتي بالتوفيق
  13. جرب هذا إذا ووافنا بالنتائج مثال 4.accdb
  14. اخبرني احد الأخوة أن المرفق لا يعمل ويبدو وكانه فيرس سأقوم بتحميل المرفق بصيغة accdb أشكر أخوتي أ/ @kanory و أ/ @abouelhassan علي مروهم الكريم وكلماتهم الطيبات ولا انسا تقديم الشكر للأستاذ أحمد عبدالمنعم صاحب هذا الفيديو فقد كان من المصادر الهامة أيضا هذا MenuAndShortCutMenu.accdb
  15. جزاك الله خيرا علي تلك الدعوات الطيبات ولك بالمثل ان شاء الله
  16. أولا- المرفق لا يوجد به كود ولا بيانات لا يوجد سوي نموذج واحد ومجموعة تقرير ثانيا- فكرتي المقترحة ما دام لا يوجد لديك مرفق: أنت بحاجة لوجود عمودين للقراءات داخل الجدول الخاص باستهلاكات العملاء احدهما يسمي القراءة السابقة والأخر القراءة الحالية وعمود ثالث يسمي القراءة الجديدة. هذا العمود يتم ملأه وفقا لآلية العمل لديكم وفي نهاية الدورة المحاسبية يتم تشغيل استعلام اجرائي يقوم بما يلي: 1- التأكد من كون القراءة الجديدة موجودة وغير خالية وفي حالة خلوها يتم اعتبار القراءة الحالية هي القراءة الجديدة 2- التأكد من بعض الأمور وفقا لطبيعة العمل لديكم مثل وجود عداد لا يعمل وطريقة محاسبته في مثل هذه الحالة أو لا يمكن قراءته لوجود مانع ما وكيف سيتم المحاسبة في هذه الحالة. 3- يقوم بتحويل القراءة الحالية الي عمود القراءة السابقة 4- يقوم بتحويل القراءة الجديدة الي عمود القراءة الحالية تمهيدا لبدأ عملية احتساب قيم الفواتير هذا والله اعلم أرجو أن أجد وقتا كافيا لأضع لك مرفق بالفكرة اعلاه.
  17. بس ولا تعصب علينا جرب هذا ووافنا بالنتائج ولا تنسنا من دعائك مثال 4.accdb
  18. حقيقة لا أذكر كيف تم حل المشكلة لدي عند وقوعي بهذه المشكلة من قبل ولعله بعد تحديث نسخة الوندوز الي ويندوز 10 أو تحديث نسخة الأوفس الي أوفيس 16 ربما ولكن لا أذكر تحديدا ما حدث بالضبط ولكن لعل هذه المشكلة تنذرك بكبر حجم قاعدة البيانات لديك وأنها لم تعد تستطيع الصمود لاكمال المسيرة الي النهاية أو هنالك مشكلة أكبر قد تحدث بعد لذي جئت ناصحا بـ: 1- أخذ نسخة احتياطية بشكل يومي الي حين الوصول الي حل ان شاء الله 2- حاول تكبير قاعدة البيانات (أقصد التعامل مع الـ SQL server) حقيقة ستجد به متسع من الأمان وسعة التخزين وبعدا عن مشكلات الأكسس كهذه التي بين يديك. أعرف أن الاقتراح الثاني ليس سهلا للغاية ولكنه لا يصعب علي أبي جودي تمنياتي بالتوفيق وحل المشكلة بأجل قريب ان شاء الله.
  19. لم أفهم ماذا تقصد بالظهور بالضبط ولكن لدي هذه الدالة للتفقيط باللغة العربية وهي تعمل معي منذ فترة كبيرة بدون مشاكل والحمدلله جزا الله كاتبها الاستاذ نور الدين ولا زلت أحتفظ باسمه عليها عند استخدامها بأي تطبيق خاص بي جرب هذا المرفق ووافنا بالنتائج NumberToArabic.accdb
  20. هذا هو المرفق أرجو أن ينفع الله به أحدا من المسلمين المرفق يحتاج اضافة مرجع كما بالصورة المراجع والمصادر: 1- من شركة مايكروسوفت 2- لمزيد من الشرح والتوضيح من معلمنا أ/ جعفر MenuAndShortCutMenu.rar InsertReference.rar
  21. أبشر ان شاء الله ولكن أقوم بمعالجة شئ ما وعند الفراغ منه سأرفق لك مرفق ان شاء الله
  22. يبدو أني تعجلت في كتابة الموضوع الحمد لله وجدت الحل بهذا الكود يمكن استدعاء اسم الكائن الحالي Application.CurrentObjectName وهذا أيضا يجلب اسم التقرير النشط Screen.ActiveReport.Name ولكن لا بأس لعل الفكرة يستفيد منها أحدا مر من هنا وجزاكم الله خيرا
  23. اضافة الي ما تفضل به استاذنا جعفر استخدم هذا المرفق سيساعدك ان شاء الله في عدم ادخال اللغة العربية في محرر الأكواد ملاحظة هامة: المرفق للأستاذ أبو جودي جزاه الله خيرا ويمكنك استخدام نفس الفكرة بالنسبة للغة الفرنسية أو أي لغة أخري غير الانكليزية Converter Arabic and Unicode.mdb
  24. السلام عليكم ورحمة الله وبركاته باختصار الموضوع أني استخدم كود لعرض قائمة مختصرة عند الضغط بزر الفأرة الأيمن داخل التقرير لعرض بعض المهام (كالطباعة وزوم) ودعت الحاجة الي التصدير الي الاكسل فكان الكود بهذا الشكل ولكن توقفت عند كيف أمرر اسم التقرير الحالي من القائمة المختصرة الي روتين التصدير الي اكسل وهذا الكود بالكامل للقائمة المختصرة Public Sub CreateShurtRepMenu() Dim cmbRightClick As Office.CommandBar Dim cmbControl As Office.CommandBarControl On Error Resume Next ' Create the shortcut menu. Set cmbRightClick = Application.CommandBars.Add("MyRepRightClkMenu", msoBarPopup, False, True) With cmbRightClick ' Add the fast Print command. ' Set cmbControl = .Controls.Add(msoControlButton, 2521, , , True) ' cmbControl.Caption = ChrW(1591) & ChrW(1576) & ChrW(1575) & ChrW(1593) & ChrW(1577) & ChrW(32) & ChrW(1587) & ChrW(1585) & ChrW(1610) & ChrW(1593) & ChrW(1577) ' ' Add the Print command. Set cmbControl = .Controls.Add(msoControlButton, 15948, , , True) cmbControl.Caption = ChrW(1578) & ChrW(1581) & ChrW(1583) & ChrW(1610) & ChrW(1583) & ChrW(32) & ChrW(1589) & ChrW(1601) & ChrW(1581) & ChrW(1575) & ChrW(1578) & ChrW(32) & ChrW(1575) & ChrW(1604) & ChrW(1591) & ChrW(1576) & ChrW(1575) & ChrW(1593) & ChrW(1577) ' Add the Excel command. '(msoControlButton, 11723, , , True) Set cmbControl = .Controls.Add 'add line for export group cmbControl.BeginGroup = True With cmbControl .Caption = "Excel" & " " & ChrW(1578) & ChrW(1589) & ChrW(1583) & ChrW(1610) & ChrW(1585) & ChrW(32) & ChrW(1573) & ChrW(1604) & ChrW(1610) .FaceId = 11723 .OnAction = "=ExportExcelSb(me.name)" End With ' Add the PDF or XPS command. Set cmbControl = .Controls.Add(msoControlButton, 12499, , , True) cmbControl.Caption = "PDF/XPS" & " " & ChrW(1578) & ChrW(1589) & ChrW(1583) & ChrW(1610) & ChrW(1585) & ChrW(32) & ChrW(1573) & ChrW(1604) & ChrW(1610) ' Add the Zoom command. Set cmbControl = .Controls.Add(4, 1733, , , True) cmbControl.BeginGroup = True cmbControl.Caption = "Zoom:" Cmdcontrol.FaceId = 202 ' Add the Close command. Set cmbControl = .Controls.Add(msoControlButton, 923, , , True) ' Start a new group. cmbControl.BeginGroup = True cmbControl.Caption = ChrW(1573) & ChrW(1594) & ChrW(1604) & ChrW(1575) & ChrW(1602) End With Set cmbControl = Nothing Set cmbRightClick = Nothing End Sub وهذا روتين التصدير الي الاكسل Public Sub ExportExcelSb(ByVal repname As String) Dim savPas As String savPas = calFilDilog(2, "Expor To Excel") DoCmd.OutputTo acOutputReport, repname, "Excel97-Excel2003Workbook(*.xls)", savPas, True, "", , acExportQualityPrint End Sub السؤال الآن كيف أمرر اسم التقرير الحالي هنا في هذا الكود الي الروتين الخاص بالتصدير. .OnAction = "=ExportExcelSb(me.name)" ملاحظة: أعلم أن هناك أمر مستقل داخل الـ commandbars للتصدير بدون الحاجة الي اجراء خاص ولكن هذا الأمر يظهر الفورم الخاص بأكسس لعملية تصدير التقرير ولا أريد اظهار هذه الشاشة. وجزاكم الله خيرا
×
×
  • اضف...

Important Information