-
Posts
685 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
13
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أبو إبراهيم الغامدي
-
للتخلص من استخدام مكتبة الأوفس ومشكلة عدم التوافق يمكن عمل التالي -- الإعلان عن متغير غرضي عام (Object) بدلا من التخصيص لشريط الأدوات أو قائمة الأدوت (CommandBar, CommandBarControl). -- عمل قائمة دلالية بأرقم خيارات موقع الأدوات أو استخدام الرقم مباشرة.. Public Enum MsoBarPosition msoBarBottom = 3 '..Command bar is docked at the bottom of the application window. msoBarFloating = 4 '..Command bar floats on top of the application window. msoBarLeft = 0 '..Command bar is docked on the left side of the application window. msoBarMenuBar = 6 '..Command bar will be a menu bar (Macintosh only). msoBarPopup = 5 '..Command bar will be a shortcut menu. msoBarRight = 2 '..Command bar is docked on the right side of the application window. msoBarTop = 1 '..Command bar is docked at the top of the application window. End Enum '--- يكون الأعلان بهذه الطريقة Sub MyMenu2() Dim Mnu As Object, Itm As Object Set Mnu = CommandBars.Add("", MsoBarPopUp, , True) Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To PDF": Itm.OnAction = "amr3" Set Itm = Mnu.Controls.Add: Itm.Caption = "Export To Excel": Itm.OnAction = "amr4" Mnu.ShowPopup End Sub
-
هل يمكن رفع قاعدة البيانات على قوقل درايف Google Drive
أبو إبراهيم الغامدي replied to ابوخليل's topic in قسم الأكسيس Access
أعتذر إليك أستاذ أبو خليل لأني لم استطع أن أجد طريقة سهلة يمكن لمبرمج أكسس التعامل معها في تطبيق مفهوم Google Drive API -
هل يمكن رفع قاعدة البيانات على قوقل درايف Google Drive
أبو إبراهيم الغامدي replied to ابوخليل's topic in قسم الأكسيس Access
أهلا بكم.. أعتقد أنه يمكن ذلك عن طريق استخدام Google Drive API أحاول أجهز مثال على أكسس وأشرح طريقته إن شاء الله -
رسومات بيانية باستخدام لغة الجافا من الانترنت
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
جعلت عملية الاختيار تتم عن طريق مربع التحرير والسرد في صفحة الويب.. إذا أردت أن أجعل الاختيار يتم عن طريق أزرار الاختيار في النموذج فهذا أسهل للفهم.. لكني أفضل أن يكون التعامل مع صفحة البيانات مباشرة! طريقة عمل التبديل بين المخططات تمرير قيمة نصية باسم نوع المخطط إلى المعامل ChartType ضمن الإجراء CHARTS(ChartLabels, ChartData, ChartType) Public Sub CHARTS(ChartLabels, ChartData, CharType) Dim J As String ' ------- All these codes implemented in Web browser document '------- Chart container J = J & "var ctx=document.getElementById('chart-bar').getContext('2d');" '------- Chart Type J = J & "var myChart=new Chart(ctx,{type:'" & CharType & "'," '------- Chart Data J = J & "data:{labels: [" & ChartLabels & "]," J = J & "datasets: [{label: 'Count Of Transaction Type',data: [" & ChartData & "]," '------- Styling Chart components J = J & "backgroundColor:" J = J & "['rgba(255, 99, 132, 0.2)','rgba(54, 162, 235, 0.2)','rgba(255, 206, 86, 0.2)'," J = J & "'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)','rgba(255, 159, 64, 0.2)']," J = J & "borderColor:" J = J & "['rgba(255,99,132,1)','rgba(54, 162, 235, 1)','rgba(255, 206, 86, 1)'," J = J & "'rgba(75, 192, 192, 1)','rgba(153, 102, 255, 1)','rgba(255, 159, 64, 1)']," J = J & "borderWidth: 1}]}," '------- Chart options added here,refer to ChartJS documentation for more practicing J = J & "options: {responsive:true,scales:{yAxes:[{ticks:{beginAtZero:true}}]}}});" '--- Execute JScript code WF.PW.execScript (J) End Sub الإجراء سابق الذكر لا يقوم بتنفيذ رسم المخطط بذاته ولكن يقوم بتجميع شفرة JavaScript وكتابتها في صفحة الويب وهذه الأخيرة تقوم بتنفيذه.. والأفضل أن نقوم بكتابة شفرة JavaScript في بنية الصفحة ضمن الجدول WebCode ثم نقوم باستدعاءها من داخل أكسس بعد تمرير قيم المعاملات إليها.. وسبب كون الخيار الثاني هو الأفضل .. صعوبة الأول: لأن كتابة شفرة جافا بهذه الطريقه يوقع في الخطأ لا محالة.. .. أما الثاني: سهولة كتابة الشفرة مباشرة، لكونها أسهل شفرة يمكن كتابتها بين الشفرات البرمجية! كما أنه يمكن اقتباسها من الويب ولصقها في الجدول من دون قلق! أقول هذا لأني وقعت في اشكال بسيط واحتجت معه إلى استدعاء أحد إجراءات الشفرة.. ولتوضيح السبب.. حيث أننا قمنا باستعاء الإجراء CHARTS مرتين: مرة عند إقلاع النموذج، والمرة الثانية عند اختيار نوع المخطط؛ فإن شفرة الجافا تقوم بإشاء رقعة الرسم مرتين، مرة للمخطط الأساسي ومرة للرسم المختار من القائمة.. عند المرور بالمؤشر على رقعة الرسم فسوف نرى أن الصفحة تقوم بالتبديل بين الرسمين! وهذا أمر سيء للغاية، ولذا احتجنا إلى انهاء الأول قبل رسم الثاني وذلك باستخدام إجراء متعلق بالمخطط اسمه Destroy قبل اختيار المخطط الجديد Private Sub WebBrowser0_TitleChange(ByVal Text As String) If Not Text Like "about:*" Then JS.mychart.destroy ' انهاء الرسم السابق Call CHARTS(TransData.Labels, TransData.Data, Text) End If End Sub المرفق بعد التعديل.. Web Charts3.zip -
المسألة متعلقة بخصائص RichBox كونها محدودة؛ حتى مع الألون!
-
للتخلص من هذه المشكلة؛ اكتب اسم الون (Blue, red, Green, Orange, Black) بدلا من رقمه وهذه قائمة بأسماء الألون مجمعة حسب اللون.. أسماء الألوان من W3Schools
-
لا تشغل بالك! كنت حضرت هذه الدالة مع صاحباتها في الوحدة النمطية MTextUtilities لاختزال الشفرة التي تفضلت بها أنت. لكن عندما رجعت إلى زر أمر التلوين وجدك سبقتني لذلك! فأخذت الشفرة من تحت زر الأمر ووضعتها في الوحدة النمطية خاصتك وسميتها بنفس الاسم.. إلا أني غيرت في اسم الدالة خاصتي بزيادة شرطات سفلية في نهايتها حتى لا يحدث تعارض بين الأسماء.. أما عن Public: فجميع الإجراءات والدالات التي تكتب تحت الوحدة النمطية فإنها تأخذ الوضع Public كوضع افتراضي.. وبناءً عليه كتبتها أو لم تكتتبها؛ سيان.. لا تحزن.. فضيفك لم يعتد السمين من الطبخ! ولم يألف سوى الإقط والسمن! وأخشى أن يغص بالسمين...
-
نحن في انتظارك!
-
هذا الكلام موجه لك، ولا أعتقد أن فيه مايشير إلى الاستاذ @Khalf وطالما أني فتحت هذا الباب فسوف أسده بإذن الله.. في المرفق قمت بإجراء بعض التعديلات غير المخلة بما تفضل به الأستاذ @Khalf من الفكرة الرائعة.. وطبقت ما أشار إليه الأستاذ @jjafferr أعلاه.. هذا المرفق هو تطبيق لما سبق أن ذكرت من مقتراحات.. Colorizing (1).accdb
-
هذه الأيقونة لملف يحمل بيانات نصية بها اسم الكمبيوتر واسم مسئول قاعدة البيات! وليس منها ضرر أبداً.. إذا لم يغلق تلقائيا فلا تحاول حذف هذا الملف أبداً يمكن فتح هذا الملف بإي محرر نصوص لتعرف مابداخله
-
حتى يكون هذا العمل مثمراً أقترح عليك التالي.. -- ابتعد عن حفظ إجراءات تلوين الحواشي في الجدول لأن هذا سيؤثر على حجم الجدول وبطيء من أداءه! وفي الواقع أن تحتاج إلى الحاشية الملونة فقط عند عرض البيانات.. لحل هذا اللازم أقترح عليك إنشاء استعلام من جدول Book، وتعرف فيه عامودا جديد باسم النص الملون وتربطه بدالة تلوين النص، مع التأكد من تغيير خاصية نوع النص في العامود إلى RichText.. -- قبل هذا أنت بحاجة إلى اختزال دالة تلوين النص في دالة واحدة حتى تتمكن من ربطها في الاستعلام.. يلزمك قبل استخدام هذه الدالة جلب قيم سجل التلوين باستخدام تابع تجميع البيانات Dlookup على الأقل لاختزال دالة تلوين النص نستخدم عبارة شرطية If.. كالتالي Public Function ColorTxtOnePeace(myData As String, ColorTxtStart As String, _ Optional ColorTxtEnd As String = vbNullString, Optional ColorCode As String = 0) If ColorTxtEnd = vbNullString Then myData = Replace(myData, ColorTxtStart, "<b><font color=" & ColorCode & ">" & ColorTxtStart & "</font></b>") Else myData = Replace(myData, ColorTxtStart, "<b><font color=" & ColorCode & ">" & ColorTxtStart) myData = Replace(myData, ColorTxtEnd, ColorTxtEnd & "</font></b>") End If ColorTxtOnePeace = myData End Function -- ما يتعلق باختلاف الحواشي بين الكتب فأقترح استخدام طريقة التحزيم: وهي أن تجعل لكل نوع من الحواشي حزماً من الألون وفقاً للطريقة التي وضعاها صاحب التحشية.. لتحقيق هذا المطلب يلزمك إضافة حقل بيانات جديد إلى جدول التلوين برقم معرف المحشي.. تنشيء جدولا جديدا بحقلين على الأقل: الأول رقم معرف بصاحب التحشية، والثاني باسم صاحب التحشية كمثال.. المعرف رقم: 1 اسم صاحب التحشية: الألباني المعرف رقم: 2 اسم صاحب التحشية: زهير
-
لا أضاع الله تعبك وجهدك أستاذ @Khalf .. فعلا حل ذكي! مع بساطته وسهولته.. وأشهد أنه أحد نوادرك.. شكراً لك..
-
سِحر جداول الاكسس في تسجيل الوقائع
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
أستاذ @jjafferr بل لك وافر الشكر والامتنان على تقبلك مداخلاتي -
أهلا بك @أبو عبدالله الحلوانى نعم ممكن.. لكن في مثالك لن تكون القيمة ثابتة! بل مجرد تحديث الصفحة سوف يرجع إلى وضعه الطبيعي، لكون الحقول غير مرتبطة بجدول بيانات.. الشفرة كالتالي -- نقوم بتحديد صفوف الجدول أولا لأن لنا معها أمران: الأول القيمة المطابقة للبحث وهي في الحقل الثاني من الصف، وللوقوف على الحقل المطابق يلزمنا عمل دوارة فحص.. الثاني إذا تطابقت البيانات نحدد الحقل الذي به صندوق الاختيار ومن ثم نعطيه القيمة True Sub IsChecked() Dim I As Integer Dim tr As Object Set tr = WD.querySelectorAll("table tr") For I = 1 To tr.length - 1 '-- check if second cell in the row matched textbox value If tr(I).childNodes(1).innerText = Me.Text0 Then '-- if true: in fifth cell in the row set checked property true tr(I).childNodes(4).childNodes(0).Checked = True End If Next End Sub TestCheckBoxOnHtml.zip
-
سِحر جداول الاكسس في تسجيل الوقائع
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
طلبي كان إعادة تجربة الشفرة بعد إدخال البيانات فقط نعم هناك طرق كثيرة لمعالجة البيانات وأبسط بكثير من RegExp إذا كانت البيانات في المقطع الأخير نصية وبها فراغات فإن استخدام Split في الدورة الثانية سوف يحدث خللا في البيانات وبما أن السجل التاريخي ذو بيانات ثابتة إلى المقطع الأخير فيمكن استخدام الطريقة التالية Sub SplitHistory() Dim XHistory Dim L, D, T, V XHistory = Split(Application.ColumnHistory("Products", "List Price", "id=1"), vbCrLf) For Each L In XHistory Debug.Print L D = Mid(L, 12, 10) ' Date T = Mid(L, 23, 8) ' Time V = Mid(L, 34) ' Value Debug.Print D, T, V Debug.Print Next End Sub -
سِحر جداول الاكسس في تسجيل الوقائع
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
أهلا أستاذ جعفر.. المثال مطبق على قاعدة البيانات المرفقة.. أرجو منك تكرماً تعديل بيانات الحقل List Price لسجل معين أكثر من مرة ثم إعادة تجربة الشفرة.. لا تنس تحديد قيمة لمعامل معيار التصفية -
كنت أتمنى أن تبدأ مشاركة جديدة حتى أتمكن من مساعدك! هذا مثال آمل أن تتمكن من معرفة آلية عمله وإذا احتجت إلى مزيد من المعلومات أرجو فتح مشاركة جديدة HTML Table.accdb
-
سِحر جداول الاكسس في تسجيل الوقائع
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
من الأشياء المتعلقة بهذا الموضوع (تتبع التغيرات).. في الإصدار 2007 البيانات من نوع ( ملاحظات Memo) وما بعده من الإصدارات (النصوص الطويلة Long Text) يوجد خاصية ضمن خواص هذا النوع من البيانات اسمها (Append Only)، عند ضبطها على (On) تقوم بتكديس البيانات السابقة للحقل في الخلفية بالتاريخ والوقت ولإعادة طلب البيانات نستخدم التابع Application.ColumnHistory، يأخذ هذا التابع ثلاثة عوامل: العامل الأول اسم الجدول، والثاني اسم الحقل، والثالث معيار التصفية ويعيد هذا التابع التاريخ والوقت والبيانات المتغيرة للحقل XHistory = Application.ColumnHistory("Products", "List Price", "id=1") [Version: 30/01/2022 09:55:41 ] 20 [Version: 30/01/2022 10:07:44 ] 30 يمكن معالجة البيانات باستخدام الإجراء التالي للحصول على بيانات نظيفة Sub XColHist() Dim RE As New RegExp Dim R, M As Match Dim XHistory As String, P As String '-- Refer to Microsoft Docum for more info XHistory = Application.ColumnHistory("Products", "List Price", "id=1") '-- Data History before processing Debug.Print XHistory Debug.Print '-- Data History after processed by RegExp P = P & "(\d{1,2}/\d{1,2}/\d{2,4})\s" ' date of change P = P & "(\d{1,2}:\d{1,2}:\d{1,2})\s\]\s" ' time of change P = P & "([A-Z0-9]+)" ' value of change '--Refer to regexp docum for more info RE.Pattern = P RE.IgnoreCase = True RE.Global = True '-- For Each M In RE.Execute(XHistory) For Each R In M.SubMatches Debug.Print R; Tab; Next Debug.Print Next End Sub Data History before processing [Version: 30/01/2022 09:55:41 ] 20 [Version: 30/01/2022 10:07:44 ] 30 Data History after processed by RegExp 30/01/2022 09:55:41 20 30/01/2022 10:07:44 30 لمزيد من المعلومات أرجو زيارة الرابط التالي Docs.Microsoft.ColumnHistory AppendOnly.accdb -
syntax dlookup شرح مبسط دوال المجال : Syntax DLookup
أبو إبراهيم الغامدي replied to ابو جودي's topic in قسم الأكسيس Access
أهلا بكم.. DLookup (Expr, Domain, Criteria) -- في معامل Expr: يمكن أن نستخدم Last First Count أو أي تابع من توابع أكسس أو تنشئ دالة تقوم بحساب أو فحص شئ ما. -- في معامل Criteria: يمكن أن نمرر إلى الحد الأيسر من المعيار أي من توابع أكسس مثل توابع التاريخ DateDiff أو Format أو Cstr. On Immediate Window ?Dlookup("UCase(First([Last Name]&', '&[First Name]))","Customers","City='Boston'") GRATACOS SOLSONA, ANTONIO ?Dlookup("UCase(Last([Last Name]&', '&[First Name]))","Customers","City='Boston'") AUTIER MICONI, CATHERINE ?Dlookup("'Count Records: '&Count([Last Name]&', '&[First Name])","Customers","City='Boston'") Count Records: 2- 6 replies
-
- 3
-
- dlookup
- dlookup function
- (و9 أكثر)
-
شاركوني في تهنئة فريق العمل بنجمها الجديد ، ابو جودي
أبو إبراهيم الغامدي replied to jjafferr's topic in قسم الأكسيس Access
أهلا بك أبا جودي في الفريق العمل.. عضو فاعل وصاحب مبادرات غير مسبوقة.. أتمنى لك مزيدا من التألق والعطاء.. -
أهلا بك.. كانت مدالخلتي في هذه المشاركة لكون اسمي ذكر فيها! والمرفق كانت لغرض محدد فقط وهو توضيح فكرة تجاوب مكونات HTML.. لتحويل الواجه من اليسار إلى اليمين، كل ماعليك هو تعديل بسيط على التابع WD ليصبح كالتالي Public Property Get WD() As HTMLDocument Set WD = Me.WebBrowser0.Document "WD.Dir = "rtl End Property
-
مكتبة الموقع - الفاتورة السعودية المبسطة
أبو إبراهيم الغامدي replied to أبو إبراهيم الغامدي's topic in قسم الأكسيس Access
أهلا بك.. مع أني اقتبست مشاركتك وأدرجتها في مشاركتي، إلا أنّ تركيزي كان منصب على QR الوفيديو الذي طلبت.. أعتذر عن ذلك.. سوف أقوم بعمل مشاركة بهذا الخصوص في أقرب فرصة إنشاء الله.. -
مكتبة الموقع - الفاتورة السعودية المبسطة
أبو إبراهيم الغامدي replied to أبو إبراهيم الغامدي's topic in قسم الأكسيس Access
أهلا بك.. للأسف لم يسبق لي أن سجلت فيديو من قبل! إذا كان تعلم الويب صعبا عليك فيمكنك استخدام أداة QRCodeAX كبديل.. قم بفك ضغط المرفق التالي في \:C ومن افتح قاعدة البيانات.. تسطيع نقل قاعدة البيانات لكن لا تسطيع نقل الأداة أو تغيير اسم المجلد! إلا إذا كنت تريد تسجيل الأداة من جديد Saudi Invoice With QRCodeAX.zip