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

أبو إبراهيم الغامدي

أوفيسنا
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    13

كل منشورات العضو أبو إبراهيم الغامدي

  1. هذه معرفات لقيم رقمية تخص معاملات الإجراء ExecWB في مستعرض الويب. كل معرف من هذه المعرفات له قيمة.. للاطلاع على الإجراء ExecWB والقيم التابعة له: اضغط بالزر اليمين على المعرف ومن ثم اختر (Definition) لا أدري ما الذي يقابلها بالعربي وسوف تظهر لك جميع المعرفات التي تخص المعامل الذي نقرت عليه....
  2. أهلا بكم.. نسيت أن أذكر شيئاً يتعلق بمواقع التوصل وهو الأمان المشفر، ومنصات IFrame التي يعمل من خلالها المستعرض لا تقدم هذه الميزات..
  3. لم يكون فتح المواقع داخل أكسس هو هدفي، ولا هو مضمون مشاركتي أيضا! فأرجو أن لا يكون هذا توقعكم ولا تتطلعاتكم.. بالنسبة لبرامج التواصل مثل الواتس والتليقرام فهذه لها APIs تعمل من خلاله، وتحتاج منك إلى اشتراك..
  4. هل من الممكن معرفة الطريقة استاذ @أبو إبراهيم الغامدي @jjafferr ؟؟؟؟ أهلا بكم.. حتى أنا لا أعرف ما الذي يرمي إليه الاستاذ جعفر! أما عن الوسم المشار إليه: فهو يؤهل مستعرض ويب للعمل بالتقنيات الجديدة (HTML5) و (CSS3)، في هاتين التقنيتين أشاء كثيرة منها (تشغيل ملفات الصوت والصورة) دون الحاجة إلى أدوات خارجية. معرفة المزيد أرجو مراجعة منظمة مقاييس W3 | ومدرسة W3
  5. أهلا بك أستاذ جعفر.. أشكرك على تشجيعك وأهتمامك.. وأرجو أن أكون قد وفقت في شرح وتبسيط طريقة الاستخدام
  6. أهلا بكم.. نأتي الآن على الجزء المهم في هذه المشاركة: الجافا سكربت.. # سبق الذكر أن رمز الاستجابة السريع يتم إنتاجة بواسطة مكتبة قدمها أحد مطويري جافا سكربت، وقد قمت بتضمينها إلى جدول شفرات الويب WebXCode Table لأتمكن من استخدامها ضمن صفحة الويب، وذلك عن طريق الحقن الصوري! بمعنى أنك لو ضغط بزر الفارة الأيمن على الصفحة ثم نقرت View Source لن ترى هذه المكتبة، لكن في الحقيقة إنها موجودة! لكن تعمل في الخلفية! -- يلحق تضمين المكتبة، الأعلان عن متغير غرضي يحمل نسخة من المكتبة يُعرّف بمكان وضع الرمز والخصايص التي يحملها.. var Xqrcode =new QRCode('qr-stamp',{text:'QR Code',colorDark:'DarkBlue',colorLight:'WhiteSmoke',width:120,height:120}); وقد تم تضمين المكتبة والتصريح عن المتغير بالطريقة التالية WD.getElementById("qr-code").innerHTML = WebCode(3) _ & ";var Xqrcode =new QRCode('qr-stamp'," _ & "{text:'QR Code',colorDark:'DarkBlue',colorLight:'WhiteSmoke',width:120,height:120});" qr-stamp: هو معرف وسم HTML الذي سيوضع فيه الرمز، والبيانات التالية هي الخصائص، هذا المعامل إلزامي text: يحمل قيمة نصية تمثل بيانات الرمز؛ قد تكون بيانات نصية بسيطة، وقد تكون بيانات نصية مرمزة. ما يمرر على هذا المتغير؛ هو ماسيظهر على الرمز، سوف نقوم بإدراج الرمز عن طريق وظيفة أخرى.. colorDark: يحمل قيمة اللون الغامق في الرمز؛ يراعى في هذا مقاييس HTML في تعريف الألوان.. colorLight: يحمل قيمة اللون الفاتح في الرمز؛..... width: يحمل قيمة رقمية تمثل عرض الرمز height: يحمل قيمة رقمية بالبكسل تمثل طول الرمز !! يجب أن تكون قيم الطول والعرض متساوية. أكبر قيمة هي 256 بكسل !! جميع هذه الخصائص اختيارية إلا أنها تحمل قيم افتراضية.. ؟؟ كيف استدعي المتغير وأمرر إلىه القيم، وأين أضعه المتغير Xqrcode الذي سبق وأن أعلنا عنه يمثل المكون الأبوي لتابعين هما Xqrcode.makeCode(var) // له معامل نصي واحد يمثل البيانات التي ستظهر في الرمز Xqrcode.clear() // يقوم بمحو البيانات السابقة // يتم استدعائها بالطريقة التالية // من داخل النموذح WD.script.Xqrcode.makeCode(var) // من خارج النموذج WF.WD.script.Xqrcode.makeCode() // WF غرض يمثل النموذج // WD غرض يمثل صفحةويب يمكن أن تضعه في أي مكان من النموذج. بالنسبة لي وضعته في حدث السجل الحالي.. !! لتكن على علم أن جافا سكربت حساس لحالة الأحرف..
  7. أهلا بكم.. من أكثر الأشياء التي تجعل مطوري أكسس يصرفون النظر عن استخدام إداة متصفح الويب؛ تحسسه الشديد للشفرة في الصفحات المحلية.. ولحل هذه الإشكالية هناك طريقتان فيما أعلم.. -- الأولى: حفظ الصفحة في مجلد السيرفر المحلي: IIS أوغيره من السيرفرات المحلية مثل: wamp.. -- الثانية: نقوم بإنشاء صفحة فارغة بالطريقة التالية.. Private Sub Form_Open(Cancel As Integer) WB.Navigate "about:blank" End Sub !! من المعلوم أن أداة متصفح الويب تعمل على منصة iefram.dll وهذه المنصة تدعم إلى الإصدر السابع فقط من متصفح Internet Explorer. هذه المنصة لا تدعم HTML5 و CSS3، لكن ميكروسوف قدمت حلا لهذه الإشكالية باضافة المعرف التالي إلى مكون (وسم) <head>.. <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> </head> # الخطوة التالية هي حشر (حقن Injection) وسوم HTML و وسوم CSS وشفرة JS إلى صفحة HTML الفارغة باستخدام دالة البيانات DLookup -- الوظيفة التالية تبسط استخدام دالة Dlookup Public Function WebCode(ID As Long) As String WebCode = DLookup("[Code Content]", "WebCode", "id=" & ID) End Function -- السجل الأول في جدول WebXCode يحتوي على وسوم HTML المطلوية.. <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> </head> <body> <div id="invoice-content" class="invoice-content"> <div class="qr-result"> <div id="qr-stamp" class="qr-stamp"></div> <div id="info" class="info"></div> <div id="menu" class="context-menu"></div> </div> </div> <style id="mycss"></style> <script id="qr-code"></script> <script id="myscript"></script> </body> وتطلب بهذه الطريقة: WebCode(1) وتوضع في حدث عند الفتح بهذه الطريقة Private Sub Form_Open(Cancel As Integer) WB.Navigate "about:" & WebCode(1) End Sub -- أما وسوم CSS وشفرة JS فيتم حقنها بعد إكتمال فتح الصفحة بهذه الطريقة Sub HTML() If WB.ReadyState = READYSTATE_UNINITIALIZED Then Exit Sub End If '-- html template Call InvoiceInfo '-- html library WD.getElementById("mycss").innerHTML = WebCode(2) WD.getElementById("qr-code").innerHTML = WebCode(3) _ & ";var Xqrcode =new QRCode('qr-stamp'," _ & "{text:'QR Code',colorDark:'DarkBlue',colorLight:'WhiteSmoke',width:120,height:120});" End Sub !! بهذه الطريقة نتجاوز تحذيرات المتصفح من وجود الشفرة البرمجة، كما أننا قمنا بتأهيل المتصفح للعمل بمواصفات متصفح Edge.. # فيما يتعلق بجزئيات الشفرة سوف أتحدث عنها لاحقا.. !! أجريت بعض التعدلات على المرفق لتحسين أداءه
  8. أهلا بكم.. :: نأتي الآن إلى التعريف بالشفرة المشغلة لمتصفح الويب وطريقة عملها.. !! في أكسس الإصدر العاشر وما بعده أصبح إداة متصفح الويب أحد أدوات أكسس الأساسية مع بقاء الأداة ضمن أدوات Microsoft ActiveX، وهذه الأخيرة هي المستخدمة في المشروع، كما أن الأداة المضمنة مع أكسس تختلف برمجتها قليلا عن أداة ActiveX. أرجو التنبه لهذا.. # مكتبات DLL: حتما إذا كنا نتعامل مع أدوات ActiveX سوف يكون هناك مكتبات DLL، ولذا عند إدراج الأداة في النموذج يقوم أكسس بالتأشير على المكتبات اللازمة للعمل، كما أن هناك مكتبات اختيارية تساعد في تحسين العمل، لكن ليست ضرورية. سوف أعرف بتلك المكتبات عند الحديث عن الشفرة التي تستختتذكردمها.. الجدير بالذكر؛ أن تكون على علم أن أكسس يفقد الإتصال بهذه المكتبات عند قص ولص الأداة، أو عند نقل النموذج المتضمن لهذه الأداة.. كن على ذكر من ذلك!! # مكتبات DLL: في الصورة التالية المكتبات التي المشار إليها سابقا؛ ذات اللون الأزرق ضرورية يتم التأشير عليها تلقائيا عن أضافة أداة متصفح الويب والتي أسفل منها اختيارية، بمعنى أننا نؤشر عليها باختيارنا من أجل تحسين أسلوب برمجة الشفرة، لكن إذا استخدمتها ضمن الشفرة فإنه يصبح من الضروري إعادة التأشير عليها.. # يتضمن النموذج ثلاث خصائص غرضية للتحكم في طبقات أداة المتصفح.. -- الخصيصة الأولى للتحكم في الطبقة الأولى من الأداة، والتي هي بمثابة متصفح الويب.. Public Property Get WB() As WebBrowser Set WB = Me.WebBrowser0.Object End Property -- الخصيصة الثانية للتحكم في الطبقة الثانية من الأداة، والتي هي بمثابة صفحة الويب.. Public Property Get WD() As HTMLDocument Set HD = Me.WebBrowser0.Document Set WD = HD End Property -- الخصيصة الثالثة للتحكم في الطبقة البينية بين متصفح الويب وصفحة الويب، وهي بمثابة النافذة الأم لصفحة الويب.. Public Property Get PW() As HTMLWindow2 Set PW = Me.WebBrowser0.Document.parentWindow End Property !! لاحظ أن الإعلان (التصريح) عن هذه الخصائص أخذ الإعلان العام Public وذلك من أجل إظهارها عند استخدامها من خارج النموذج..
  9. أهلا بك أستاذ أبو خليل.. أشكرك على إطرائك، كما أشكرك أيضا على تطمينك لي بسلامة العمل.
  10. أهلا بكم.. أعلم أن هذا الأسلوب جديد بعض الشيء لكن أعتقد أنه بالإمكان التأقلم معه! خاصة وأن الشفرة ليست بالمعقدة.. شفرة الجافا سكربت ليست بالصعبة بل في ظني أسهل بكثير من الفيجوال بيسك لأنها تتعامل مع المتغيرات كأغراض (Objects)، والغرض يقوم بخدمة ذاته دون الحاجة إلى وظائف خارجية.. كان القصد من هذه المقدمة الإطرائية هو إزالة الرهبة من استخدام أسلوب الدمج بين أكسس والويب.. لنعد إلى المشروع ونتعرف على مكوناته وطريقة عمله.. :: يحتوي الجدول (WebCode) على ثلاث سجلات؛ يحتوي كل منها على نص برمجي يقوم بتهيئة العمل على متصفح الويب.. -- السجل الأول يحتوي على نص HTML. يقوم هذا النص بتهيئة الصفحة للعمل.. ما يهمنا في هذا النص هو تبويب <head> الذي يحتوي التعليمات التي تجعل متصفح الويب يعمل كمتصفح Edge. -- السجل الثاني يحتوي على نص CSS يقوم هذا النص بتزيين الصفحة وترتيب مكوناتها.. سوف أشرح في وقت لاحق الفرق بين Id, Class، وعن كيفية الوصول إلى عناصر الصفحة من أجل تزيينها. -- السجل الثالث يحتوي على شفرة JavaScript المعني بتكوين رمز QR.. ما يهمنا من هذه الشفرة هو طريقة استخدامها فقط!.. :: تحتوي قاعدة البيانات على وحدين نمطيتين.. -- الأولى للتحويل من وإلى النظام العشري TLVModule -- الثانية للتحويل من وإلى نظام 64بت UTF8EncodeDecode كلتا الوحدتين مستعارة من الويب وليس لي فيها عمل..َ :: مصدر مكتبة الجافا سكربت: QRCode Library (JavaScript) :: مصدر الوحدات النمطية: TLV.QRCode.MSAccess.VBA
  11. لتتمكن من نقل هذه الأشياء إلى مشروعك بشكل سليم أنت بحاجة إلى فهم آلية عملها.. سوف أقوم بشرح ذلك قريبا..
  12. اعرض الملف الفاتورة السعودية المبسطة أهلا بكم.. محاولة متواضعة لتنفيذ الفاتورة السعودية المبسطة باستخدام الجافا سكريب ومتصفح الويب.. أرجو أن تنال استحسانكم.. صاحب الملف أبو إبراهيم الغامدي تمت الاضافه 03 ينا, 2022 الاقسام قسم الأكسيس  
  13. Version 1.0.0

    327 تنزيل

    أهلا بكم.. محاولة متواضعة لتنفيذ الفاتورة السعودية المبسطة باستخدام الجافا سكريب ومتصفح الويب.. أرجو أن تنال استحسانكم..
  14. أهلا بكم جميعا.. هذا مثال مصغر عن إمكانية الويب مع الأكسس وفلسفة التجاوب.. AccessWithWeb.accdb
  15. وأنا أضم صوتي إلى أصواتكم بالشكر والامتنان @د.كاف يار لمجهوده المميز، ومبادرته السريعة في الرد على تساؤلات الزملاء، مع دعم ذلك بالتوجيه والتثقيف والتعليم، المصحوب بالرفق واللين... شكرا لك @د.كاف يار
  16. أهلا بك.. عدل الشفرة التي أشرت إليها لتصبح كالتالي Private Sub crn_DblClick(Cancel As Integer) Dim File_Path As String, File_Name As String, Name_Path As String File_Path = Application.CurrentProject.Path & "\CONTACT\" File_Name = Dir(File_Path & Me.crn & "*.pdf") If File_Name = "" Then MsgBox "لا توجد مستندات محفوظة" Exit Sub End If While File_Name <> "" Name_Path = File_Path & File_Name Application.FollowHyperlink Name_Path File_Name = Dir() Wend End Sub النجمة في سطر المتغير File_Name تعود بأسماء جميع الملفات التي في بدايتها ذات الرقم. راجع ملف التعليمات لمزيد من التوضح حول التابع Dir
  17. أول خطوة قمت بها هي ضبط حدود الصفحة: وضعتها على 10 ملم (1سم) الخطوة الثانية هي تحديد عدد الأعمدة مع ضبط المسافة بين الأعمدة وبين الصفف على الصفر الخطوة الثالثة هي ضبط عرض التفصيل ارتفاعة على حجم الملصقة (25.4mm*48.5mm) وبالسنتميتر (2.54cm*4.85cm) في هذه الخطوة يأتي التباين في المقاس بين الورقة وبين التقرير؛ مقدار التباين يكون بالملي أو جزء منه.. ولكي نستطيع ضبط المقاس بشكل دقيق دون الحاجة إلى الطباعة من أجل التحقق نحن بحاجة إلى إطار يمثل مقاس الملصقة ومن ثم نضع حقول البيانات كما نريدها في الواقع الخطوة الأخير نقوم بعرض التقرير في وضعية (رؤية قبل الطباعة) للتأكد من أن البيانات سوف تطبع في مكانها الصحيح إذا تمت الإمور بالشكل الصحيح نقوم بتغيير لون الحدود إلى (شفاف)
  18. أهلا بك .. يمكن تطبيق الفكرة عن طريق عنصر WebBrowser زودني بقالب التقرير مع بعض البيانات إذا أردتَ
  19. أهلا بك أبو العقاب راجع المرفق التالي.. أرجو أن يكون مناسبا لمتطلباتك الحدود وضعت من أجل التصميم.. يمكنك إزالتها بتعديل خصائص لون الحدود إلى (شفاف) استخدمت الخطوط عوضا عن عنصر ActiveX طباعة ملصقات نهائي.zip
  20. أهلا بك محسن أجريت تعديلا على الملف الذي أشرت إليه Root-1001.zip
  21. أهلا بكم.. حسب معرفتي أن أجهزة المسح لها إعدادت انتقال مثل(ENTER, TAB, SPACEBAR) وغيرها من طرق الإدخال يتم برمجة الجهاز عن طريق مصورات (باركود) متوفرة في دليل الاستخدام إذا لم يكن دليل الاستخدام متوفر لديك أو كانت هذه الرموز غير متوفرة ضمن الدليل فيمكنك زيارة موقع الشركة للاطلاع على التعليمات المساندة..
  22. وعليكم السلام محمد.. الملفات الثنائية لها معرفات نصية في أول سطر من الملف! يمكن الاستفادة من هذه الميزة للتعرف على الملف الأصلي حتى لو غُيرت اللاحقة! افتح الملف بواسطة محرر النصوص التقليدي للحصول على معرف الملف ثم استخدم هذا المعرف في فحص القيمة.. في أكسس الشفرة التالية تفي بالغرض إن شاء الله Sub TestData() On Error Resume Next Dim fn, ft fn = CurrentProject.Path & "\testdata\testdata.msi" Open fn For Input Access Read As #1 Line Input #1, ft Close #1 If ft Like "*Standard ACE DB*" Then Name fn As Replace(fn, ".msi", ".accdb") End If End Sub
  23. أهلا بك.. يوجد في أكسس دالة مالية لهذا الغرض هي: DDB() Function اقرأ عنها!
×
×
  • اضف...

Important Information