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

نجوم المشاركات

  1. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      21

    • Posts

      6,818


  2. kanory

    kanory

    الخبراء


    • نقاط

      19

    • Posts

      2,256


  3. أ / محمد صالح

    أ / محمد صالح

    أوفيسنا


    • نقاط

      10

    • Posts

      4,431


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      7

    • Posts

      1,997


Popular Content

Showing content with the highest reputation on 20 ديس, 2021 in all areas

  1. دائما سباق للخير أخي العزيز
    3 points
  2. ملاحظة للفائدة : غير مفيد جعل الترقيم التلقائي مفتاح .... لذلك اجعل المفتاح رقم الهوية مثلا .... وهناك تعديلات حسب طبيعة برنامجك ... لا نستطيع اجبارك عليها مثل رقم خاص لكل فرد من افراد الاسرة ... تفضل ..... test (4).accdb ههههههههه .... اعتذر منك اخي لان الاجابة كانت في نفس الوقت
    3 points
  3. السلام عليكم ورحمة الله وبركاته التطبيق اهداء الى منتدانا الحبيب ورواد المنتدى العمل حتى يخرج بهذه الصورة يعلم الله وحده الجهد المبذول به اسال الله تعالى ان يتقبل هذا العمل صدقة جارية الى ما شاء الله تعالى ms access becomes an authorized e-invoicing solution provider in Saudi Arabia by www.officena.net Start your e-invoicing journey حسب متطلبات هيئة الزكاة والضريبة والجمارك السعودية يتم قراءة الرمز الناتج ان شاء الله عبر القارىء الرسمي الخاص بالهيئة ( تطبيق جوال ) حمل من هنا : التطبيق الرسمي لهيئة الزكاة والضريبة والجمارك يتم قراءة الرمز الناتج ان شاء الله عبر قارىء خاص ( تطبيق جوال ) حمل من هنا : تطبيق قرائة رمز الاستجابة طبقات لمتطلبات هيئة الزكاة والضريبة والجمارك التطبيق المقدم لكم تمت تجربته وهو متوافق مع النواتين 32 , 64 تم تصميم الاكواد داخل روتين عام ليسهل التعامل معها بكل سهولة ممكنة حاولت جاهدا جمع الاكواد المستخدمة فى موديول ليسهل نقله يتم التعامل مع الروتين باسناد فقط اسماء الحقول من النموذج المستخدم والتى يمكن تغير اسمائها تبعا لتصميمك كالاتى Call CreateInvoice(ID, SellerName, VatNo, TimeStamp, InvoiceWithVat, VatTotal) ID >>-----> اسم الحقل الدال على رقم الفاتورة وهذا ليتم تسمية ملف رمز الاستجابة الناتج بناء عليه SellerName >>-----> اسم الحقل الدال على اسم البائع VatNo >>-----> اسم الحقل الدال على الرقم الضريبي TimeStamp >>-----> اسم الحقل الدال على الوقت وتاريخ انشاء الفاتورة InvoiceWithVat >>-----> اسم الحقل الدال على القيمة الاجمالية للفاتورة VatTotal >>-----> اسم الحقل الدال على القيمة الاجمالية لمبلغ الضريبة فقط بعد تشفير البيانات يتم اسناد الشفرة الى متغير عام باسمstrHashCode والذى من خلاله يت حفظ البيانات المشفرة داخل الجدول تبعا لكل سجل ---------------------------------------------- الية العمل بعد اسناد اسماء الحقول الى الروتين يتم تمرير البيانات من تلك الحقول الى الملف التنفيذى الملحق مع القاعدة والذى بدورة يقوم بانشاء كل من 1- رمز الاستجابة السريع بعد تشفير البيانات طبقا للمطلبات from string to hex to base64 2- انشاء ملف نص به تشفير البيانات بعد ذلك تقوم باقى الاكواد بجلب البيانات المشفرة من ملف النص واسنادها الى المتغير الذى تم تخصيصه لذلك --------------------------------------------- تفاصيل الاكواد داخل الموديول كالتالى الروتين MkDir لعمل المجلدات عند الحاجة دوال الـ API الخاصة بـ ShellWait والمتوافقة مع كلتا النواتان 32 , 64 وتمت التجربة بنجاح على اوفيس 32 تارة واوفيس 64 تارة اخرى بفضل الله بنجاح حيث يتم ارسال البيانات من الحقول الى الملف التنفيذى الملحق من خلال الروتين Shell_n_Wait ليتم انشاء رمز الاستجابة السريع من خلال الروتين الخاص به وهو CreateInvoice وانشاء الملف النصى بجوار الملف التنفيذى فى نفس المسار لالحاق البيانات المشفرة طبقا للمطلبات from string to hex to base64 وبعد ذلك يتم جلب البيانات المشفرة من خلال الروتين ReadFileToText ولابد من استخلاص التشفير من خلال الروتين StripSpChars للاحتفاظ بالنص دون اى زيادات وبعد ذلك يتم الحاق البيانات المشفرة الى المتغير الذى قمت بتخصيصه لذلك وهو يحمل الاسم strHashCode والذى يتم الحاق البيانات من خلاله لكل سجل الى الحقل المخصص به للاحتفاظ بتلك الشفرة حسب طلبات السادة رواد المنتدى الكرام الملف التنفيذى تم عمله من خلال الفيجوال دوت نت ليقوم بتحويل النص طبقا للمطلبات from string to hex to base64 وتم دمج ملفات الـ Dll الخاصة بانشاء رمز الاستجابة بداخل الملف التنفيذى لسهولة التعامل معه من خلال الاكسس ليكون ملف تنفيذى واحد فقط يتم التعامل معه من خلال الـ Command Line دون الحاجة لتثبيت او تسجيل او الاستعانة بأى مكتبات خارجية او حتى ملحقة بالاكسس وذلك لسهولة نقل الموديول الى اى قاعدة دون التقيد باى مكتبات --------------------------------------------- تنبيه هام جدا جدا جدا بجوار قاعدة البيانات فى نفس مسارها مجلد باسم KSA-QR-Tool لايمكن تغيير اسم المجلد والا يحدث خلل وان استدعت الحاجة تغيير الاسم يجب ذلك داخل المدويول يتم كذلك انشاء ملف نصى اليا داخل المجلد KSA-QR-Tool لذلك يجب تحرى الحذر عند محاولة تغيير اسم المجلد داخل الموديول لذلك يرجى عدم محاولة تغير اسم المجلد كذلك داخل المجلد السابق ذكرة الملف التنفيذى KSAQR.exe لا تحاول تغيير اسم الملف لان الاكواد كذلك تتعامل مع هذا الملف من خلال اسمه كذلك لا يمكن نقل المجلد او الملف من مسار قاعدة البيانات الا بالتعديل على الاكواد وفى الختام فضلا وكرما وليس امرا الرجاء الاهتمام بالرد بما يفيد نتيجة تجربتكم الشخصية وتقييم تلك التجربة فلا تبخلوا علينا بذلك... لكم منا خالص الشكر واتمنى لكم تجربة ممتعة ومن يريد طريقتى والتى احبها وافضلها وتعلمتها من استاذى الجليل ومعلمى الجليل الاستاذ @jjafferr بتحميل الملف التنفيذى داخل القاعدة للتأكد دائما من عدم حذفه لا يتردد فى طلب ذلك فقط حاولت تقديم القاعدة بأبسط شكل حتى يقف كل من يريد استخدامها او نقلها الى تطبيقه الخاص على الاكواد المهمة فقط من خلال موديول واحد فقط تيسيرا وتسهيلا عليه وحتى تعم الفائدة هذه الاكواد المستخدمة فى الملف التنفيذى الذى تم انشاؤه من خلال الـ فيجوال دوت نت بناء على رغبة استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @ابوخليل لمن يريد التعلم من اكواد التشفير وبناء على طلب استاذى القدير @ابوآمنة Imports System.Drawing Imports System.IO Imports System.Text Imports QRCoder Module Module1 Sub Main() Try Dim sellerName As String = "" Dim vatNumber As String = "" Dim timeStamp As String = "" Dim invoiceTotal As String = "" Dim vatTotal As String = "" Dim imagePath As String = "" Dim filePath As String = "" If My.Application.CommandLineArgs.Count >= 6 Then sellerName = My.Application.CommandLineArgs(0) vatNumber = My.Application.CommandLineArgs(1) timeStamp = My.Application.CommandLineArgs(2) invoiceTotal = My.Application.CommandLineArgs(3) vatTotal = My.Application.CommandLineArgs(4) imagePath = My.Application.CommandLineArgs(5) filePath = My.Application.CommandLineArgs(6) Else Environment.Exit(0) End If If Not String.IsNullOrEmpty(filePath) Then File.WriteAllText(filePath, String.Join(" ", sellerName, vatNumber, timeStamp, invoiceTotal, vatTotal), Encoding.UTF8) End If End Dim tlvInvoice = CreateInvoice(sellerName, vatNumber, timeStamp, invoiceTotal, vatTotal) Dim qrGenerator As New QRCodeGenerator() Dim qrData As QRCodeData = qrGenerator.CreateQrCode(tlvInvoice, QRCodeGenerator.ECCLevel.Q) Dim qrCode As QRCode = New QRCode(qrData) Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20) qrCodeImage.Save(imagePath) If Not String.IsNullOrEmpty(filePath) Then File.WriteAllText(filePath, tlvInvoice, Encoding.UTF8) End If Catch ex As Exception End Try End Sub Function CreateInvoice(sellerName As String, vatNumber As String, timeStamp As String, invoiceTotal As String, vatTotal As String) As String Dim invoiceHex As String = "" For i = 1 To 5 Dim txt As String = "" Select Case i Case 1 txt = sellerName Case 2 txt = vatNumber Case 3 txt = timeStamp Case 4 txt = invoiceTotal Case 5 txt = vatTotal End Select Dim hexTxt As String = StringToHex(txt) Dim hexLen As String = Hex(Encoding.UTF8.GetBytes(txt).Length) If hexLen.Length = 1 Then hexLen = "0" & hexLen End If invoiceHex = invoiceHex & "0" & i & hexLen & hexTxt Next Return HexToBase64(invoiceHex) End Function Function StringToHex(txt As String) As String Dim b As Byte() = Encoding.UTF8.GetBytes(txt) Return BitConverter.ToString(b).Replace("-", "") End Function Function HexToBase64(txt As String) As String Dim bytes = New Byte((txt.Length \ 2) - 1) {} For i = 0 To bytes.Length - 1 Dim mi = txt.Substring(i * 2, 2) bytes(i) = Convert.ToByte(mi, 16) Next i Return Convert.ToBase64String(bytes) End Function End Module E-Invoicing.zip Ksa Qr 32x 64x 2007 to 2021 _Last Version.zip
    2 points
  4. العفو منكم استاذى يا هلا وميت مليون هلا وتعدوت منكم على ذلك دائما تحدث معكم هههههه اسال الله ان يجمعنا على الخير دائما
    2 points
  5. اعرض الملف ksa e-invoicing تم التعديل ليتناسب مع نسخ الاوفيس بدأ من 2007 وحتى 2021 للنوتان 32 , 64 التطبيق اهداء الى منتدانا الحبيب ورواد المنتدى ولكن اشهد الله تعالى ان هذا العمل مقدم لكل من يريده مجانا وعلى سبيل الهدية لوجه الله تعالى ولا اسمح نهائيا ببيعه اللهم انى بلغت اللهم فاشهد العمل حتى يخرج بهذه الصورة يعلم الله وحده الجهد المبذول به اسال الله تعالى ان يتقبل هذا العمل صدقة جارية الى ما شاء الله تعالى ms access becomes an authorized e-invoicing solution provider in Saudi Arabia by www.officena.net Start your e-invoicing journey حسب متطلبات هيئة الزكاة والضريبة والجمارك السعودية يتم قراءة الرمز الناتج ان شاء الله عبر القارىء الرسمي الخاص بالهيئة ( تطبيق جوال ) حمل من هنا : التطبيق الرسمي لهيئة الزكاة والضريبة والجمارك يتم قراءة الرمز الناتج ان شاء الله عبر قارىء خاص ( تطبيق جوال ) حمل من هنا : تطبيق قرائة رمز الاستجابة طبقات لمتطلبات هيئة الزكاة والضريبة والجمارك متطلبات التشغيل : Framework الاصدار 4 ------------------------------------------------------------------------------- يمكن تحميل الملف الاتى هو يقوم بالتحديثات اللازمة سواء ويندوز 7 , 10 , 11 إذهب الى موقع التحميل : من هنا ( تحميل مباشر من mediafire .. من رفعي انا على حسابي الشخصي بالموقع ) ميزات برنامج All in one Runtimes: سهل الاستخدام و مفيد للغاية في تقليل الزمن الضروري للبحث عن الأدوات كلٍ على حدا. مجاني بشكل كامل و يقدم الكثير من الفائدة و يمكنه حمايتك من المواقع التي قد تصيب جهازك بفيروسات سيئة عند التحميل منها. يعمل بشكل ذكي حيث يقوم بتحديد ما يحتاجه حاسبك و لن يقوم بتثبيت كل الأدوات بشكل عشوائي. يقدم مجموعة كبيرة من الأدوات الضرورية في حاسبك و أهمها: .NET Framework 4.6 + Updates Java Runtime Environment 8 DirectX 9.0c Extra files General runtime files Microsoft Visual C++ Runtimes (v2005 – v2015) Microsoft Visual J# 2.0 SE Microsoft Silverlight 5 Shockwave Player 12 (Internet Explorer Plugin) ------------------------------------------------------------------------------- الجديد فى هذا الموضوع وسبب تطوير تلك القاعدة . نظرا للمشاكل التي واجهت أحبابي سابقا بسبب تسجيل الملفات .. تم بفضل الله تعالى حل كل المشاكل تقريبا لن نحتاج الى نقل مجلد ملفات مكتبات الـ DLL الى أي مكان يتم إنشاء المجلد اليا بنفس مسار القاعدة يتم تحميل الملفات من قاعدة البيانات اليا تشغيل ملف التسجيل Register.bat اليا.. عند فتح القاعدة للمرة الأولى ومحاولة انشاء رمز الـ Qr وفى حالة عدم تسجيل مكتبة الجافا يتم اغلاق القاعدة اليا وفتح ملف التسجيل كمسؤول نظام دون أي تدخل من المستخدم نهائيا مميزات القاعدة الحفاظ على الملفات الهامة بحملها داخل القاعدة وتحميلها لمسار القاعدة فى كل مرة يتم فيها فتح القاعدة شغيل ملف التسجيل Register.bat اليا عند الحاجة لذلك يدعم النواتان 64 , 32 تشفير البيانات طبقا لمتطلبات هيئة الزكاة والضريبة والجمارك السعودية الاحتفاظ بالبيانات المشفرة لكل سجل حجم الصورة الخاصة برمز الاستجابة السريع QR CODE صغير جدا لمن يريد الاحتفاظ بهم لكل سجل أتمنى لكم تجربة ممتعة ... الفائدة من تصميى المتواضع وافكارى والمميزات حمل ملفاتى الهامة داخل القاعدة وبذلك لن يتم فقدانها مطلقا لاى سبب الا بفقد القاعدة نفسها عند نقل القاعدة لاى جهاز يتم وضع الملفات بتحميلها من القاعدة الى الجهاز اليا فى مسار القاعدة فلن يشغل بال المستخدم اى شئ بخصوص ملفات المكتبات عند عدم تسجيل المكتبات يتم ذلك اليا دون ادنى تدخل من المستخدم يتم فتح الملف الدفعى اليا فى حالة عدم تسجيل المكتبات وهو يعيد تشغيل نفسه كمسؤل ويقوم باللازم عند الانتها للملف الدفعى من التسجيل للمكتبات يعيد فتح القاعدة اليا واغلاق نفسه وجب التنويه لبعض النقاط لمن يريد نقل الافكار الى عمله مراعاة والاخذ فى الاعتبار عند محاولة تغيير اسم القاعدة ان اردتم لابد من تغيره كذلك بنفس الاسم الجديد فى الملف الدفعى حيث انه يقوم بفتح القاعدة اليا بعد التسجيل مراعاة الاخذ فى الاعتبار عند محاولة تغيير اسم النموذج frmElcInvoicing تغير الاسم كذلك فى نموذج البدأ UsysfrmInsertAllObjects الحرص على وجود الجدول UsystblBlob و الموديول UsysmodBlob والنموذج UsysfrmInsertAllObjects لانهم المختصون بحمل ملفات المكتبات داخل القاعدة وتحميلها وتسجيلها بشكل آلى بالهناء لكم وبالتوفيق للحميع ان شاء الله صاحب الملف ابو جودي تمت الاضافه 20 ديس, 2021 الاقسام قسم الأكسيس  
    2 points
  6. هل تعتقد يا دكتور حتى الان ان الاكسس عاجز عن تصميم النماذج التى تدعم الـ responsive ام غيرت رأيك الان بعد الاطلاع على المرفق الاتى ؟ فى انتظار رأيك يا دكتور responsive form ☺.mdb
    2 points
  7. من الأفضل دائما لضمان حسن عمل الكود ... عليك بتغيير اسم الصفحة باللغة الإنجليزية .... او عليك بضبط اعدادات اللغة العربية لديك وقد تكرر هذا الموضوع كثير جداً فكان عليك استخدام خاصية البحث بالمنتدى -تفضل مشكلة في اللغة العربية
    2 points
  8. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته.. اقدم لكم اداة من برمجتي المتواضعة لتحويل اكواد الـ SQL الى VBA قبل كل شي، الاداة حصراً للمبرمجين الذين يستخدمون الكود في الادراج والتعديل والحذف وليس للأشخاص الذين يستخدمون الواجهة الرسومية للأكسس الخالية من الكود ماهي فائدة الأداة ولماذا استخدمها؟ حسناً، لو كان لدينا جدول اسمة tbl_movementes يقوم بتسجيل جميع الحركات التي تحدث ( اضافة , تعديل , حذف ) وهذا الجدول احتاجه في كثير من النماذج، فهل من المعقول ان اقوم بكتابة عبارة INSERT INTO في كل نموذج ؟ اكيد لا، سأقوم بكتابة Sub واقوم بإستدعاءه كل مرة اريد ان اضيف بها بيانات الى الجدول واختصاراً للوقت الطويل والأخطاء التي ربما ستحدث اثناء عملية التحويل، قمت بكتابة اداة تقوم بهذا الغرض الاداة وضيفتها فقط ( Insert , Update ) صورة الاداة: لنطبق على عملية اضافة بيانات جديد: 1- قم بفتح 2- ثم قم بأختيار الجدول الذي تريده، وقم بإدراج جميع الحقول، كما في الصورة 3- من النافذة العليا اختر النافذة تصميم وقم بتعديل نوع الاستعلام الى استعلام إلحاق وثم بإختيار نفس الجدول لكي يقوم بألحاق البيانات به. الآن لنرى النتيجة 3- الان قم بعرض اكواد الـ SQL 4- قم بنسخ جميع الاكواد كما في الصورة الاتية 5- الان قم بفتح الاداة، واختر النوع Insert، ثم الصق اكواد الـ SQL في مربع النص SQL 6- قبل عملية التحويل قم بإلغاء الأعمدة التي لا ترغب بها من القائمة على اليمين ( Column Remove ) مثلا سأقوم بألغاء العمود IsDeleted وذلك بالضغط على اسم العمود رسالة تخبرك بتأكيد عملية حذف العمود 7- اضغط على الزر Convert 8- تم تحويل الكود ونسخه، الان قم بلصقه في الأكسس واستخدمه الاستخدام النتيجة، تم ادراج البيانات بالجدول لنطبق على عملية تعديل البيانات: نفس الخطوات القديمة فقط من الاداة اختر نوع الاستعلام Update من المعروف ان عملية تعديل البيانات تتطلب معيار للتعديل WHERE COLUMN NAME = Number لذلك عندما نقوم بإنشاء الاستعلام نقوم بوضع عمود المعيار اخر عمود في الاستعلام هكذا من لديه ملاحظات أو اضافات تعطى للبرمج حصراً أحرم تعديل البرنامج بأحد ادوات الهندسة العكسية او نسبه لأي شخص تمت البرمجة حصرياً لمنتدى أوفسينا، اهداء الى معلمي العزيز @jjafferr تحياتي للجميع. SQL-VBA.rar
    1 point
  9. أيه يا عمنا ،،، دانا بتكلم عربي مية المية 😆 الخطوة الأولى : تنشئ جدول لتضع به روابط الصور .. أو تكتب كود يستورد لك الروابط بشكل مباشر .. الخطوة الثانية : تصمم نموذج وتضع به عناصر الصور (الغير مرتبطة طبعا) .. تسع أو ستة مربعات حسبما تراه مناسبا .. وتضع تحتها زرين (التالي) و (السابق) للإنتقال بين الصور الخطوة الثالثة : تربط مربعات الصور بالروابط عن طريق الكود .. عربي ده ولا مش عربي يا باشا ؟ 😅
    1 point
  10. لقد سبقتك يا رجل 🤭
    1 point
  11. لا ما يحتاج تعيد تصميمه أخي عمر ،، أعمله في نموذج فرعي داخل الصفحة
    1 point
  12. حياك الله مهندس سيمو .. 🙂 كلامك لا يخلو من الصحة مهندسنا ، ولا مجال للمقارنة بين ال HTML و الأكسس فكل فارس له ميدانه وإمكانياته .. وفي نفس الوقت الأكسس هو برنامج قوي في مجاله وخدمي ولا يستهان به ونحن نتأمل من المطورين في مايكروسوفت أن تتحسن الكثير من الإمكانيات للأفضل .. وبعض مما ذكرته هناك أشياء يمكن عملها ( بإمكانيات الأكسس المتواضعة طبعا ) وإبداع المصمم ونظرته .. فقد رأيت العديد من تصاميم برامج الأكسس تكاد لا تعرفها حتى ترى اشعار الأكسس عليها وذلك من شدة إتقان مصممها .. فرأيي في هذا الأمر أنه راجع لفنيات ومهارات مصمم البرنامج في النهاية 🙂 وتقبل تحياتي ،، 🙂 موسى
    1 point
  13. حاضر وكتر خيرك علي مساعدتي
    1 point
  14. طيب فى طريقتين الاسهل عمل حقل من النوع yes/no فى الجدول مصدر بيانات النموذج الفرعى وبناء عليه يكون المعيار فى التقرير من خلال الاكواد وتلك طريقة صعبة نوعا ما ايهما تريد ؟! وتلك مشاركة لى على الطريقة الثانية
    1 point
  15. تسلم وتعيش يارب هحاول ان شاء الله ربنا يحفظك يارب اشكرك اخى الكريم
    1 point
  16. وجزاكم مثله اخى الكريم على دعاؤك الطيب الحمد لله الذي بنعمته تتم الصالحات
    1 point
  17. ما شاء الله عليك أخي @hassona229 والله إنك كفووو جزاك الله كل خير ونفع الله بك المسلمين تسلم يالأمير 🤩
    1 point
  18. جزانا الله واياكم خيرا ان شاء الله .. شكرا على دعواتكم الطيبة اسأل الله تعالى ان يرزقكم فضلها بكرمه اضعافا مضاعفة
    1 point
  19. وعليكم السلام استاذ @محمد طاهر اولا كل الشكر والتقدير لمتابعة واهتمام حضرتك .. جزاكم الله خيرا ثانيا اعتذر لتأخرى فى الرد على حضرتكم بسبب حالة وفاة عندى ادت لانقطاعى عن دخول المنتدى لقترة قبصراحة نسيت متابعة الموضوع بعد عودتى واعقب ذلك انشغالى قليلا بموضوع الفاتورة الالكترونية للملكة العربية السعودية والحمد لله الذى هدانا فتقريبا لمنتدانا السبق بحل تلك الاشكالية مع الاكسس بفضل الله الحمد لله انتهت المشكلة بالفعل ولكن للعلم قمت بالفعل بتفريغ الكاش من المتصفح حتى اننى شككت بمتصفحى وقمت بتنصيب متصفح جديد اصلا وكانت المشكلة قائمة لذلك استاذى الجليل فضلا وكرما ان شاء الله مستقبلا افراغ الكاش من السيرفر مباشرة بعد التحديث لانه تقريبا كان سبب العطل كل الشكر والتقدير والامتنان لحضرتكم وللقائمين على امور هذا الصرح العظيم والكريم بأهله
    1 point
  20. هنا الكود كاملا Option Explicit Sub Delete_Row_If_Equal_A_Specific_Value() Dim WB As Workbook, WS As Worksheet, SH As Worksheet, sPath As String, sFile As String Dim C As Range, M As Long, R As Long Application.ScreenUpdating = False: Application.DisplayAlerts = False: Application.EnableEvents = False Set SH = ThisWorkbook.Worksheets("Sheet1") sPath = ThisWorkbook.Path & "\222\" sFile = Dir(sPath & "*.xls*") Do While sFile <> "" Set WB = Workbooks.Open(sPath & sFile, False) For Each WS In WB.Worksheets M = SH.Range("A" & Rows.Count).End(xlUp).Row For R = 2 To M Set C = WS.Range("A:A").Find(What:=SH.Range("A" & R).Value, LookAt:=xlWhole) If C Is Nothing Or IsEmpty(C) Then GoTo 1 WS.Rows(C.Row).Delete 1 Next R Next WS WB.Close SaveChanges:=True sFile = Dir Loop Application.ScreenUpdating = True: Application.DisplayAlerts = True: Application.EnableEvents = True End Sub
    1 point
  21. هذا شرح مختصر أخي أبا الحسن .. بكل بساطة تقوم بتغيير أسماء الأزرار .. وكل زر من الأزرار تقابله الصفحة الخاصة به جهة اليمين في التاب كونترول P1,P2,P3 وهكذا .. ثم تقوم بتصميم الصفحة الخاصة بكل قسم في ال TAP الخاص به ... بهذه البساطة 🙂
    1 point
  22. وعليك السلام ورحمة الله وبركاته أبا الحسن .. 🙂 لم توضح ما هي العناوين التي تريدها على الأزرار .. ؟ أو التقسيمات التي تريد إنشائها ؟
    1 point
  23. جعله الله في ميزان حسناتك يارب استاذنا الكريم
    1 point
  24. تفضل اخى الكود كاملا Private Sub CommandButton3_Click() Dim C As Range, SH As Worksheet, WS As Worksheet, A As String Set SH = ThisWorkbook.Worksheets("Sheet1") If SH.Range("I4").Value <> "" Then Set WS = ThisWorkbook.Worksheets("Sheet2") A = SH.Range("I4").Value Else Set WS = ThisWorkbook.Worksheets("Sheet4") A = WS.Range("L2").Value End If Set C = WS.Range("C:C").Find(What:=A, LookIn:=xlValues, LookAt:=xlWhole) With SH .Range("d6") = WS.Cells(C.Row, "b") .Range("d8") = WS.Cells(C.Row, "d") .Range("d10") = WS.Cells(C.Row, "e") .Range("d12") = WS.Cells(C.Row, "f") .Range("d14") = WS.Cells(C.Row, "g") .Range("d16") = WS.Cells(C.Row, "h") .Range("d18") = WS.Cells(C.Row, "i") .Range("g6") = WS.Cells(C.Row, "c") .Range("g8") = WS.Cells(C.Row, "j") .Range("g10") = WS.Cells(C.Row, "k") .Range("g12") = WS.Cells(C.Row, "l") .Range("g14") = WS.Cells(C.Row, "m") .Range("g16") = WS.Cells(C.Row, "n") .Range("g18") = WS.Cells(C.Row, "o") End With End Sub
    1 point
  25. السلام عليكم ورحمة الله استخدم الدالة المعرفة الاولى لدرجات المواد Function ColorSubject(Rng As Range) As Variant Dim i As Double, j As Integer Dim Color As Variant i = Rng.Value If i >= 25.5 And i <= 30 Then Color = "ازرق" '-------------- ElseIf i >= 19.5 And i < 25.5 Then Color = "اخضر" '-------------- ElseIf i >= 15 And i < 19.5 Then Color = "اصفر" '-------------- ElseIf i < 15 Then Color = "احمر" End If ColorSubject = Color End Function و الدالة المعرفة الثانية لدرجات المجموع الكلى Function ColorLastY(Rng As Range) As Variant Dim i As Double, j As Integer Dim Color As Variant i = Rng.Value If i >= 85 And i <= 100 Then Color = "ازرق" '-------------- ElseIf i >= 65 And i < 85 Then Color = "اخضر" '-------------- ElseIf i >= 50 And i < 65 Then Color = "اصفر" '-------------- ElseIf i < 50 Then Color = "احمر" End If ColorLastY = Color End Function و بعد ذلك استخدم التنسيق الشرطى على اسم كل لون و ينتهى الامر
    1 point
  26. السلام عليكم بالأمس تم تحميل اخر تحديث للمنتدى بعد التحديث عادة ما يواجه بعض الأخوة يعض المشاكل لفترة بسيطة و الحل يكون تفريغ الكاش من المتصفح يعد التنويه عن هذه المشكلة من بعض الأخوة. قمت فجر اليوم بافراغ الكاش من السيرفر ايضا و اتمنى ان تكون المشكلة قد انتهت الان
    1 point
  27. ان شاء الله، ترقب النسخة الثانية.
    1 point
  28. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته اخوتي / اخواتي لي الشرف ان انظم الى هذا الصرح العلمي ، سائلاً المولى جل وعلا ان يوفقني لما فيه الخير للجميع 🙂 في اول مشاركة لي ، اضع بين يديكم برنامج مسقط التقارير (مسمى صانع التقارير متداول كثيرا ، لذا احببت ان اسمي برنامجي بإسم مميز ، إسم مسقطنا الحبيبة 🙂 ). البرنامج في نسخته الاولى ، لذا ، فلا تتوقعوا الكثير منه 🙂 في احد المشاريع التي عملت عليها قريبا ، كان العمل لسجلات شؤون الموظفين ، ولم يكن بالامكان عمل تقرير محدد ، حيث كانت التقارير المطلوبة من الادارة بشتى انواع البيانات ، طولا وعرضا. لذا اضطررت العمل على صانع للتقارير (في الواقع مسقط التقارير يعتبر برنامجا بحد ذاته ، فالعمل كان ، برنامج في برنامج 🙂 ). مع ان البرنامج بسيط في طريقة عمله (وطبعا عندي الكثير من الاشياء الاخرى التي اود ان اضيفها ، لكن في وقتها ان شاء الله ، وبما ان البرنامج مفتوح المصدر ، فانا ارحب بمن يضيف عليه خصائص جديدة 🙂 ) ، فمع بساطة البرنامج ، إلا ان نتائجه مرضية 🙂 العمل على البرنامج ابسط بكثير من شرحه 🙂 يمكنك نقل هذه الكائنات السته الى برنامجك الخاص ، ومسقط التقارير سيعمل بدون الحاجة الى اي تغيير او كود: مسقط التقارير يعمل على الجداول والاستعلامات فقط ، واليكم طريقة العمل: جدول او استعلام: اختر من ايهم تريد ان تعمل تقريرك ، جدول او استعلام ، الاسم: على اساس الاختيار السابق ، ستظهر لك قائمة بجداولك او استعلاماتك ، وعندما تختار اسم جدول او استعلام ، فان النموذج الفرعي الذي اسفل الاسم سوف يمتلئ باسماء الحقول من الجدول او الاستعلام ، وكلها عليها اشارة اخفي (اي كلها ستكون مخفية من الظهور في النموذج الفرعي الذي بالاسفل) ، احذف اشارة الاخفاء عن الحقول/الخانات التي تريدها ، وستظهر لك في النموذج الفرعي الذي في اسفل النموذج. هذا النموذج هو شكل مبسط من التقرير ، فكما ترى الحقول وعرضها ، وعدد السجلات ، ستراها في التقرير. هناك خطان فوق النموذج الفرعي ، باللون الاصفر والاخضر ، اذا كانت بياناتك اقل من الخط الاصفر ، سيكون التقرير بالطول ، وإلا فانه سيكون بالعرض ، وهناك خطان صفر ، فالمسافة بينهم ستكون للترقيم التلقائي للتقرير (لاحظ ان التقرير لبيانات النموذج ادناه سيكون بالعرض ، لأننا تخطينا الخط الاصفر 🙂 يمكننا ان نمسك الحقول/الخانات بالزر الايسر من الفأرة ونغير ترتيبها يمينا ويسارا ، كما ان البرنامج يحترم عرض الحقل الذي تقوم بتعديله ، (لاحظ ان التقرير لبيانات النموذج سيكون بالطول ، لأننا في حدود الخط الاصفر 🙂 وهذا هو التقرير لبيانات النموذج السابق ، ولاحظ ان البرنامج يقوم بتغيير ارتفاع الصف تلقائيا ، حتى يمكن مشاهدة جميع بيانات الحقل. اذا قررت ان تتعدى الخط الاصفر ، فنفس شروط الخط الاصفر تنطبق على الخط الاخضر ، وهنا نرى باننا اضفنا عنوان لراس صفحة التقرير ، واضفنا معلومات عن موضوع التقرير ، بالاضافة الى معلومات في ذيل التقرير: وهذا هو تقرير لبيانات النموذج السابق ، ولاحظ ان البرنامج يوسع عمود الترقيم التلقائي ليسد المسافة: بعد اختيار الحقول التي نريدها في التقرير ، نستطيع ان نفرز الحقول بالطريقة التي نريد: وكذلك تصفية البيانات حسب الحاجة: وهذا هو تقرير لبيانات النموذج السابق ، لاحظ عدد السجلات قد تغير ، لأني طلبت ان ارى السجلات التي مبالغها اكبر من 500: البرنامج لا يحفظ التقارير (نعم ، عمل طريقة لحفظ اسم لكل تقرير ، على قمة قائمة التحديثات ان شاء الله 🙂 ) ارجوا ان تتقبلوا مني هذا العمل المتواضع 🙂 اسئلة/اقتراحات ، سأحاول الرد على قدر استطاعتي ان شاء الله 🙂 جعفر ملاحظة1: عمود المجموع لا يعمل ، وكان يجب ان اخفيه 😞 ملاحظة2: في الاساس كان عندي كمية كبيرة من صور الشرح ، إلا ان المنتدى لا يسمح بأكثر من 10 مرفقات ، فاختزلت الموضوع 🙂 ملاحظة3: ادراج فيديو لطريقة عمل التقرير: Muscat_Reports.zip
    1 point
  29. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله تعالى وبركاته اولا واخرا وقبل كل شئ سبحانك لا علم لنا الا ما علمتنا يارب لك الحمد كما ينبغى لجلال وجهك ولعظيم سلطانك الحمد لله الذى هدانا وما كنا لنهتدى لولا أن هدانا الله عزوجل أحبابى واخوانى الكرام أضع بين اياديكم تلك الهدية البسيطة المتواضعة راجيا من الله عزوجل تنال اعجابكم ورضاكم MultiSelectInContinuousForms (V2).mdb
    1 point
  30. بص أخي الكريم سيبك من الكود الأصلي اللي بالملف لأني شخصيا مش فاهمه قول لنا ايه المطلوب أو ايه اللي كان الكود بيعمله بالضبط وسيتم تنفيذه بالكود بإذن الله معك في هذا الموضوع عباقرة المنتدى ومنهم محمود وياسر وعبد الله
    1 point
  31. ما فهمته من الملف أن تريد حساب عدد ساعات العمل الرسمية والوقت الإضافي لكل قسم ولكن ما معنى رقم الوظيفة؟ ..... ولكي تحقق المطلوب ينبغي أن يحتوي الملف على عمود به رقم أو اسم القسم وعدد ساعات عمل كل موظف بداخله (الإضافي في عمود والرسمي في عمود) ... ساعتها يمكنك عمل احصائيات كما تريد أعد تصميم ملف بطريقة برمجية صحيحة أو اشرح لنا الأمر كاملاً من الألف إلى الياء وبالتفصيل الممل وسيساعدك الجميع إن شاء الله
    1 point
  32. عزيزي الموضوع مش محتاج كود ضع في الخلية h5 المعادلة الآتية =VLOOKUP(F5,ورقة2!B$3:D$10,2) ثم استخدم التعبئة التلقائية لباقي العمود وكذلك في الخلية j5 وضع بها المعادلة التالية =VLOOKUP(F5,ورقة2!B$3:D$10,3) ثم استخدم التعبئة التلقائية لباقي العمود .... جرب وأخبرني بالنتيجة
    1 point
  33. أخي سعد أشكرك على ثلاثة أولها تواضعك وثانيها فكرتك الرائعة وثالها ملفك وأكواده .... وفقك الله وإلى الأمام
    1 point
  34. ما شاء الله بارك الله لك أخي وأستاذي جمال الدغيدي
    1 point
  35. أخي الكريم النخيلي الموضوع مش بالعافية إصدار 2007 و 2010 لا يحفظان ملف به أكواد بصيغة عادية xlsx وإنما يحفظانها بصيغة xlsm كما اشار أخي عبد الله وأضيف لك أيضا لك حرية اختيار صيغة xls والتي كانت مستعمله في جميع إصدارات الأوفيس السابقة 97-2003 وفي هذه الحالة يتم حفظ الملف بأكواده في نفس الامتداد xls
    1 point
  36. أخي الكريم leprince2007 حينما نصمم برنامجاً نحتاج بعض الأساسيات ونمشي عليها وفي حالتك هذه ما الدافع وراء جعل اسم العامل وشركته في حقل واحد؟؟!! إذا كان لابد من وجودهما معاً يمكنك وضع كل واحد منهما في عمود مستقل ثم دمج الاثنين معاً في عمود ثالث ويتم التنسيق على العمود الأول (اسم العامل) وأعتقد بهذه الطريقة تم حل المشكلة ..... للعلم أنا لم أطلع على الملفات المقدمة منك أو من أخي أحمد زمان
    1 point
  37. اللهم أنبته نباتاً حسناً، واجعله قرة عين لوالديه واحفظه، وبارك لنا فيه واجعله من أهل الصلاح والتقوى بارك الله لك فيه أخي يحيى وبرّأه من النار وأحياك أنت ومن تحب بجنة الفردوس الأعلى
    1 point
  38. ياريت توضح أكثر ايه المطلوب من الكود؟ وانت عايز ايه منه وإن شاء الله ستجد ما يسرك
    1 point
×
×
  • اضف...

Important Information