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

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

  1. ناقل

    ناقل

    الخبراء


    • نقاط

      9

    • Posts

      578


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      4

    • Posts

      12,445


  3. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      3

    • Posts

      1,588


  4. محمود حموده

    محمود حموده

    عضو جديد 01


    • نقاط

      2

    • Posts

      14


Popular Content

Showing content with the highest reputation on 18 ديس, 2024 in all areas

  1. جرب المرفق open.accdb Private Sub Form_Load() Call CopyText("Pa@ 12345678") End Sub Public Function CopyText(ByVal Text As Variant) As Boolean CopyText = CreateObject("htmlfile").ParentWindow.ClipboardData.SetData("Text", Text) End Function
    2 points
  2. كود VBA باستخدام Windows API وبدون تفعيل مكتبة Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long Private Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long Private Declare PtrSafe Function SetClipboardData Lib "user32" (ByVal uFormat As Long, ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As LongPtr Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As LongPtr) As LongPtr Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As LongPtr) As Long Const CF_TEXT As Long = 1 Const GMEM_MOVEABLE As Long = &H2 Sub CopyToClipboard(Text As String) Dim hGlobal As LongPtr Dim lpGlobal As LongPtr ' فتح الحافظة If OpenClipboard(0&) Then ' تفريغ الحافظة EmptyClipboard ' تخصيص ذاكرة للنص hGlobal = GlobalAlloc(GMEM_MOVEABLE, Len(Text) + 1) If hGlobal Then ' قفل الذاكرة وتعبئتها بالنص lpGlobal = GlobalLock(hGlobal) If lpGlobal Then CopyMemory ByVal lpGlobal, ByVal StrPtr(Text), Len(Text) GlobalUnlock hGlobal ' نسخ النص إلى الحافظة SetClipboardData CF_TEXT, hGlobal End If End If ' إغلاق الحافظة CloseClipboard End If End Sub Private Sub Form_Load() ' نسخ النص "P@12345678" عند تحميل النموذج CopyToClipboard "P@12345678" MsgBox "تم نسخ النص إلى الحافظة!", vbInformation, "نسخ النص" End Sub ملاحظات: الكود يدعم الأنظمة 64 بت (استخدم PtrSafe و LongPtr). إذا كنت تعمل على نظام 32 بت، يمكنك استبدال LongPtr بـ Long وحذف الكلمة PtrSafe. لا يحتاج إلى مكتبات خارجية.
    2 points
  3. وعليكم السلام ورحمة الله تعالى وبركاته ادا كان هدا ما تقصده جرب هدا =IFERROR(TEXT(DATE(2000+LEFT(B2,2),MID(B2,3,2),RIGHT(B2,2)),"DD/MM/YYYY"),"") او Option Explicit Sub ConvertDate() Dim lr As Long, r As Long, xDate As String, n As String Dim scWS As Worksheet: Set scWS = Sheets("Sheet1") lr = scWS.Cells(scWS.Rows.Count, "B").End(xlUp).Row For r = 2 To lr xDate = scWS.Cells(r, "B").Value If xDate <> "" Then n = Format(DateSerial(2000 + Left(xDate, 2), _ Mid(xDate, 3, 2), _ Right(xDate, 2)), "dd/mm/yyyy") scWS.Cells(r, "D").Value = n End If Next r End Sub New Microsoft Excel Worksheet.xlsx
    2 points
  4. والله شيخنا الجليل الدوام الكثير وكثرة البرمجة تجعل الانسان لاقل سبب تافه فى البرمجة يتضجر ويتحسر سامحنى استاذى ومعلمى / ابو خليل انا عارف انك تستخدم معى اسلوب المعلم مع طالبه اذا تكاسل فيلقنه جملة قوية حتى يلتفت لدروسة ونفسة فعلا مشى معايا مصبوظ جزاكم الله كل خير ـ وجعله فى ميزان حسناتك
    1 point
  5. اين المحاولة والاجتهاد والتجربة .. اصبحت يادكتور طالب اتكالي تنسخ من زميلك التحقق من الصحة ضع اي ثلاثة ارقام واي حرف .. 123M او 111G ........ الخ ثم انقر انتر فقط اضفت امر الاغلاق ان كان صحيح سيغلق والا لن يسمح لك بمغادرة الحقل الا بالخروج الغير قانوني وهذا هو المناسب حسب فكرتك : تريده يغلق ويفتح نموذج آخر حقل غير منضم3.rar
    1 point
  6. مشاركة مع الاحبة بطريقة اخرى في الخصائص حقل التحقق من الصحة اكتب التالي : Like "[0-9][0-9][0-9][A-Z]" لاحظ انها بالترتيب ثلاثة ارقام وحرف .. يمكنك ضبطها حسب بيانات الحقل حقل غير منضم2.accdb
    1 point
  7. تفضل .............. Dim UserInput As String Dim IsValid As Boolean ' احصل على النص المدخل UserInput = Me.y.Value ' تحقق من وجود حروف وأرقام فقط IsValid = Not UserInput Like "*[!A-Za-z0-9]*" And _ UserInput Like "*[A-Za-z]*" And _ UserInput Like "*[0-9]*" If IsValid Then ' أغلق النموذج إذا كان الإدخال صحيحًا DoCmd.Close Else ' إظهار رسالة خطأ MsgBox "الرقم المدخل غير صحيح. يجب أن يحتوي الإدخال على حروف وأرقام فقط.", vbCritical, "خطأ" ' تفريغ مربع النص Me.y.Value = "" End If
    1 point
  8. تفضل هذه الطريقة تستخدم لتخصيص المداخل .. بمعنى كل مستخدم يمكنك تخصيص ازرار محددة له طبعا مع تغيير بسيط في الاعلان عن المتغير open2.rar
    1 point
  9. مشاركة مع اخي وحبيبي الأستاذ ناقل علما انك لم تضف المكتبة التي اشار اليها الاستاذ ناقل Microsoft Forms 2.0 Object Library اذا تريد كلمة معرفة على مستوى المشروع تعمل في اي نموذج وبدون اي حدث اكتب في اي وحدة نمطية لديك في رأس الوحدة النمطية هذا السطر Public Const myPassWord = "P@12345678" وكلمة myPassWord هي التي تستخدمها لللأزرار
    1 point
  10. MSForms.DataObject يحتاج إلى تفعيل مكتبة Microsoft Forms 2.0 Object Library
    1 point
  11. تفضل .... Private Sub Form_Load() ' نسخ النص إلى الحافظة Dim clipboard As Object Set clipboard = CreateObject("MSForms.DataObject") ' النص الذي تريد نسخه clipboard.SetText "P@12345678" clipboard.PutInClipboard MsgBox "تم نسخ النص إلى الحافظة!", vbInformation, "نسخ النص" End Sub
    1 point
  12. السلام عليكم ورحمة الله وبركانه تم وضع خيار نعم في العمود e لتحديد المرسل اليهم زر لتحديد الكل قي العمود e زر لمسح الكل قي العمود eا اظافة للكود لنجاوز اي رقم لا يملك واتس او لايتمكن من الارسال اليه ليس لدي واتس لاقوم بالتجربة واتساب رسائل المستأجرين-نسخة.xlsm
    1 point
  13. طيب لاحظ الشرح التالي ::::::::::::::::::::::::::::: اولا:: الجدول tbl_MenhaRules يجب كتابة اسم المنحة ورقم المنحة ونوع المنحة كما هو موجود بالجداول الموجودة لديك دون تغيير ( اوكد دون تغير لا في الرقم ولا في الاسم ولا في نوع المنحة) كما في الصورة ثانيا:::: المنح التي يكتب في هذا الجدول فقط التى عليها شروط ( 1 تعني سنه - 2 تعني سنتان وهكذا - اما التي تصرف مرة واحدة فسجلها 100 ) ثالثا::: بقية المنح لا تسجل ابدا في هذا الجدول ( يعني في النهاية سوف يون لديك عدد سجلات بسيطة في هذا الجدول الجديد tbl_MenhaRules ) رابعا :::: طبق على المثال المرفق واعلمنا بالنتيجة BAR_A.mdb
    1 point
  14. هذا كلام الذكاء الاصطناعي ... ولم اجربه نعم، يمكن استخدام VBA (Visual Basic for Applications) في Access لإنشاء QR Code يحتوي على بيانات صورة مشفرة (مثل صيغة Base64). ومع ذلك، لأن VBA لا يحتوي على مكتبة مدمجة لتوليد QR Codes، ستحتاج إلى مكتبة خارجية لتوليد الأكواد مثل zxing أو QR Code ActiveX Control. خطوات إنشاء QR Code باستخدام VBA: 1. تحويل الصورة إلى Base64 باستخدام VBA: يمكنك تحويل الصورة إلى نص Base64 داخل VBA باستخدام مكتبة مثل Microsoft XML 6.0. Function ConvertImageToBase64(filePath As String) As String Dim objStream As Object Dim objEncoder As Object ' فتح الصورة كـ Binary Set objStream = CreateObject("ADODB.Stream") objStream.Type = 1 ' Binary objStream.Open objStream.LoadFromFile filePath ' تحويل الصورة إلى Base64 Set objEncoder = CreateObject("MSXml2.DOMDocument").createElement("b64") objEncoder.DataType = "bin.base64" objEncoder.NodeTypedValue = objStream.Read ConvertImageToBase64 = objEncoder.Text ' تنظيف الكائنات objStream.Close Set objStream = Nothing Set objEncoder = Nothing End Function 2. إنشاء QR Code باستخدام مكتبة خارجية: يمكنك استخدام مكتبة QR Code جاهزة مثل QR Code ActiveX Control أو zxing. أضف المكتبة إلى مشروع Access الخاص بك. مثال لإنشاء QR Code Sub GenerateQRCode(base64Data As String, outputPath As String) Dim qrControl As Object ' إنشاء كائن QR Code من المكتبة الخارجية Set qrControl = CreateObject("YourQRCodeLibrary.QRCode") ' إدخال بيانات الصورة بصيغة Base64 qrControl.Text = base64Data ' حفظ الكود كصورة qrControl.SaveAsImage outputPath ' تنظيف الكائنات Set qrControl = Nothing End Sub 3. دمج الخطوات: قم بقراءة الصورة وتحويلها إلى Base64 باستخدام ConvertImageToBase64. استخدم النص المشفر لتوليد QR Code باستخدام GenerateQRCode. ملاحظات: تأكد من تثبيت المكتبة اللازمة لتوليد QR Code. حجم البيانات المشفرة (Base64) يمكن أن يكون كبيرًا، مما يجعل QR Code أكثر تعقيدًا. يُفضل تقليل حجم الصور المضغوطة قبل البدء.
    1 point
  15. السلام عليكم ورحمه الله وبركاته اسعد الله اوقاتكم بكل خير تكمله لما سبق :-- عملية برمجة نظام إدارة الفواتير الضريبية: دراسة تفصيلية تم بحمدالله تصميم وتطوير نظام صغير لإدارة الفواتير الضريبية والإشعارات الخاصة بهيئة الزكاة والضريبة والجمارك، كان الهدف الأساسي هو بناء حل برمجي يلبي جميع متطلبات الهيئة، بما في ذلك تصدير الفواتير بتنسيق XML، التوقيع الرقمي، إنشاء رموز QR، وتصدير الفواتير بصيغة PDF. فيما يلي تفاصيل العمليات البرمجية التي تمت أثناء تطوير النظام: 1. إنشاء قاعدة بيانات شاملة باستخدام Microsoft Access تصميم الجداول: تم إنشاء جداول تحتوي على معلومات العملاء، المنتجات، تفاصيل الفواتير، والضرائب. تم تصميم هذه الجداول بطريقة مترابطة باستخدام المفاتيح الأساسية (Primary Keys) والمفاتيح الخارجية (Foreign Keys) لضمان التكامل بين البيانات. تصميم النماذج (Forms): استخدمت النماذج كواجهة للمستخدم لإدخال بيانات الفواتير بسهولة. تم إضافة ميزات التحقق من صحة البيانات (Validation Rules) للتأكد من إدخال البيانات بطريقة صحيحة ودقيقة. 2. تصدير الفواتير إلى صيغة XML التحليل الأولي لتنسيق XML المطلوب: تمت دراسة هيكلية الملفات المطلوبة من هيئة الزكاة والضريبة لتحديد جميع العناصر والمكونات مثل الرقم الضريبي، المبالغ، ونسب الضريبة. كتابة الأكواد لتوليد XML: باستخدام VBA (Visual Basic for Applications)، تمت كتابة الأكواد اللازمة لتحويل بيانات الفواتير المخزنة في قاعدة البيانات إلى ملف XML. تم استخدام مكتبة MSXML. 3. إضافة التوقيع الرقمي إلى الفواتير دمج شهادات التوقيع الرقمي: استخدمت مكتبة خارجية لدعم عملية التوقيع الإلكتروني. تضمنت العملية قراءة شهادة رقمية (Digital Certificate) وربطها بالبيانات المصدرة لضمان تأكيد صحة الفواتير وصلاحيتها. 4. إنشاء رموز QR للفواتير تحليل متطلبات QR Code: يحتوي رمز QR على بيانات مثل الرقم الضريبي، إجمالي الفاتورة، وتاريخ الإصدار. تم تشفير هذه البيانات باستخدام صيغة معتمدة من الهيئة. توليد QR Code برمجيًا: تم استخدام مكتبة خارجية لإنشاء رموز QR. تم تصميم الكود بحيث يتم توليد رمز QR وحفظه كصورة (Image) وربطه بملف الفاتورة. 5. تصدير الفاتورة إلى PDF إعداد التقارير (Reports): تم تصميم تقارير داخل Access لعرض الفواتير بشكل منظم واحترافي. تصدير التقرير إلى PDF: تم استخدام أمر DoCmd.OutputTo لتصدير التقرير بصيغة PDF. دمج رمز QR مع التقرير: تمت برمجة التقرير ليعرض رمز QR بشكل تلقائي داخل الملف المصدر. 6. معالجة الأخطاء وتحسين الأداء التعامل مع الأخطاء البرمجية: أثناء التطوير، ظهرت أخطاء تم كتابة أكواد لإدارة الأخطاء (Error Handling) والتأكد من تنفيذ الأوامر بسلاسة. تحسين الأداء: تم تحسين الأكواد لضمان تنفيذ العمليات بكفاءة، خاصة عند التعامل مع ملفات XML والفواتير الكبيرة. التحديات البرمجية توافق البيانات مع متطلبات الهيئة: كان من الضروري ضبط كل تفاصيل الفواتير لتطابق متطلبات هيئة الزكاة. تكامل العمليات: تنسيق العمليات المختلفة (XML، QR، PDF) وضمان عملها بانسجام شكل تحديًا تقنيًا، وتم تحقيقه بحمدالله النهاية النظام الناتج يعكس عملية برمجية متكاملة، تم فيها المزج بين التحليل الدقيق، كتابة الأكواد الفعالة، وحل التحديات بطريقة مبتكرة. ساهم هذا المشروع في بناء أداة عملية تلبي احتياجات الأعمال وتحقق الالتزام الكامل بلوائح الفوترة الإلكترونية. =========رابط الشرح جاري الرفع :- الملفات :- https://drive.google.com/file/d/1nhStXOT_w1OlTANO4KnI9l_asDIFcIE1/view?usp=drive_link ملحوظه:- الفديوهات هتكون طويله شويه بالتوفيق للجميع
    1 point
  16. شكرا اخي Foksh تعديلات ع ملف الاكسس تم عمل تعديلات ع بعض الدوال لضامن اداء افضل مع تعدد الاجهزه https://drive.google.com/drive/folders/1D2EMCe5fVybdrrzPWZT57uKNcTQbwMx7?usp=drive_link FinalTestZatca-v1.2.rar
    1 point
  17. يمكنك تعديل كود عرض الأعمدة بترتيب العناصر على الشكل التالي Private Sub ContrArr(tmp As Long) Dim controls As Variant, columns As Variant, i As Integer controls = Array("TextBox7", "ComboBox1", "ComboBox2", "ComboBox3", "ComboBox4", _ "TextBox3", "TextBox4", "TextBox5", "TextBox6", "ComboBox5") columns = Array(2, 4, 5, 6, 7, 8, 9, 10, 11, 12) If Me.TextBox8.Text = "" Then ClearControls Else Me.TextBox8.Tag = tmp For i = LBound(controls) To UBound(controls) Me.controls(controls(i)).Text = WS.Cells(tmp, columns(i)).Value Next i tblUpdate tmp End If End Sub البحث والتنقل.rar
    1 point
  18. في حالة الكود العام ... يتم إغلاق كل عنصر موجود في النموذج مثلا ازرة وغيرها .... فلذلك خصص ما تريد إغلاقه فقط افضل
    1 point
×
×
  • اضف...

Important Information