بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
10005 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
407
jjafferr last won the day on يناير 12
jjafferr had the most liked content!
السمعه بالموقع
9433 Excellentعن العضو jjafferr

البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
مهندس مدني مستقيل
-
البلد
سلطنة عُمان
اخر الزوار
26567 زياره للملف الشخصي
-
⭐ هدية ~ QR ملون بطريقة جديدة بدون إكسل - 2025⭐
jjafferr replied to Foksh's topic in قسم الأكسيس Access
السلام عليكم بعض الاجهزة لا تقرأ الـ QR العربي (مو عربي فقط ، وانما ما يقرأ Unicode ، ما يقرأ اي لغة غير الانجليزي/اللاتيني) ، ولا يمكن تعديل هذا الشيء في الجهاز!! فاذا طلبك عمل QR انجليزي فقط ، فتأكد من عدم استخدام الامر eci=24 عند عمل QR : . -
تقبل الله
-
اخي فادي جميل عندما يستفيد الآخرين من عمل معين ، ويضاف عليه لمسات جميلة 🙂 شكرا لك.
-
السلام عليكم اخوي موسى بارك الله في جهودك، خطوة جبارة في الاتجاه الصحيح🙂 من بعض تجاربي مع الذكاء الاصطناعي، فتجربته مع لغة VBA ليست كما نتمناها، وبما انك دكتور هذه الاداة، فاليك بعض ملاحظاتي والتي يمكنك تلقينها له: 1. عند كتابة جملة SQL طويلة، فيجب مراعاة طول الجملة، وقد اعطاني مرارا جمل اطول من تلك التي يدعمها VBA، فكنت احصل على خطأ برمجي واضطر الى تعديلها يدويا. كما نرى من جملة SQL التي عملها اخوي ابوخليل اعلاه، بأنه تم تقطيع السطر الى 4 اسطر، حتى يكون الكود واضحا للمستخدم، واتضح لي ان العدد الاكبر لهذه الاسطر هي 24 سطر، بينما كان عندي استعلام موحد يدمج 3 استعلامات في الكود بطول 73 سطر. فالطريقة الصحيحة لعمله هو: strSql = "SELECT TOP 1 tblCheckINOut.id, tblCheckINOut.EmpUser, tblCheckINOut.chekInOut, tblCheckINOut.chkio, tblCheckINOut.ftra_id " strSql = strSql & "FROM tblCheckINOut " strSql = strSql & "WHERE (((tblCheckINOut.EmpUser)='" & EmpUserid & "')) " strSql = strSql & "ORDER BY tblCheckINOut.id DESC;" . 2. يجب اخبار ai انه عند طلب عمل دالة، فيجب عليه استعمال Function بدلا عن Sub. جعفر
-
السلام عليكم 🙂 ولو اني مشغول لقمة رأسي ومسافر غدا ان شاء الله ، ولكني اردت المشاركة تفاعلا مع اخي ابوخليل 🙂 . وطريقتي: بالاشارة الى موضوعي ، الجزء الاول: واليك الجزء الثاني من الموضوع: 1. عملت ملف اكسس فارغ، وعملت فيه الاستعلام التالي لقراءة جدول MSysObjects برنامجك ، والذي يحتوي على جميع جداول البرنامج : SELECT MSysObjects.* FROM [D:\temp\1642.HideTBL V1-32.accde].MSysObjects ORDER BY MSysObjects.DateUpdate DESC; . والسبب في الفرز التنازلي ، هو لحقل تاريخ تحديث الجداول ، يعني اخر جداول عملت عليها التحديث (فقط علشان سهولة الوصول للجدول المطلوب). وحتى لو ما عملت الفرز ، فكان بإمكاني عمل كود لفحص الجداول فردا فردا 🙂 وحصلت على الجداول التالية: . ومنها جربت الجدول AccessTbl : SELECT AccessTbl.* FROM [D:\temp\1642.HideTBL V1-32.accde].AccessTbl . وحصلت على النتيجة 🙂 جعفر
-
📌📒 الملاحظات اللاصقة | سلسلة هدايا الأكسس | 07 | 🎁
jjafferr replied to Moosak's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته اخوي موسى، دائما افكارك عملية وفيها تحدي، شكرا لك 🙂 وهي نفس ملاحظتي 🙂 في رأيي الشخصي ، هذه الملصقات يجب ان تكون جزء من برنامج تذكير (او برنامج متابعة المهام) ، وفي برنامج التذكير يكون عندنا يوم/وقت (يمكن التوسع في الاعدادات) لظهور هذه الملاحظات للمستخدم الذي عمل الملاحظة ، ويستطيع المسؤول عمل هذه الملاحظات ايضا لتظهر لمستخدم معين او جميع المستخدمين. فكرت استعمال هذه الملاحظات عن طريق الوندوز بواسطة برنامج Sticky Notes عن طريق CMD او PowerShell ، ولكن الوندوز 7 يختلف عن الوندوز 10 ، وتحتاج ان يسمح النظام لفتح هذه الملفات!! الفكرة الان هي: 1. بث نموذج الملاحظات (مثلا في زاوية البرنامج اعلى اليسار) ، بحيث يمكن استعمال نفس النموذج الفرعي ، ويمكن ان تكون هناك ملاحظة ، ثم تتبعها ملاحظة اخرى تحتها ، وهكذا ، 2. او الاستفادة من نموذج واحد لعدة ملاحظات (عرض نفس النموذج عدة مرات ، بحيث يستطيع المستخدم تحريك كل ملاحظة بطريقة مستقلة) ، هكذا : 3. او يمكن استعمال الرسالة التي تخرج فوق الساعة Ballon Tip : . كنت اتمنى اقدر اعمل هذه الملاحظات في برنامج ، ولكن للاسف لا يسمح لي وقتي الان 😞 جعفر -
تهنئة اخونا محب العقيدة لانضمامه الى مجموعة الخبراء
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
وعليكم السلام هنيئا لنا اخوي محب العقيدة هذه الترقية 🙂 وشكرا جزيلا اخوي ابوخليل على تواصلك المستمر في في اختيار الخبراء -
محمد محمود حسين محمد started following jjafferr
-
اه حضرتك تقصد كود الوحدة النمطية العامة نعم، لا يمكنك عمل:
-
انا عندي 3 خطوط (دفاعية) لفتح نموذج او تقرير: 1. الاستعلام ، ويكون مصدر البيانات ، ويكون فيه الفرز (للنموذج فقط ، بينما التقرير لا يحترم فرز الاستعلام وانما يجب عمله في التقرير مباشرة) والتصفية ، 2. وقد احتاج الى تصفية اخرى عند فتح النموذج/التقرير ، او اذا عملت على استعلام/نموذج/تقرير ، ولا احبذ تغيير الاستعلام (لأنه هناك نماذج/تقارير اخرى تعتمد عليه) ، هنا اعتمد على الفرز/التصفية عند فتح النموذج/التقرير ، 3. وفي حالات خاصة (جدا خاصة وجدا قليلة) ، اعتمد على وضع شروط عند فتح النموذج/التقرير في كود فتح النموذج/التقرير. فعليه : وفي جميع الحالات اعلاه ، عمل اخوي ابو جودي (لا يعمل في صيغة mde او accde ، لأنه لا يمكن فتح النموذج/التقرير في وضع التصميم) واخوي منتصر يعملان ، وفي بعض الاحيان كنت احتاج الى معرفة اذا هناك سجلات قبل طباعة تقرير (كان يتأخر في الطباعة) ، وكنت معتمد على الاستعلام كمصدر بيانات ، فكنت استعمل الكود التالي (والذي في اعتقادي هو اسرع من فتح التقرير وانتظار حصول الرسالة منه ، ولكن اذا كانت هناك سجلات ، فالتأخير يكون مرتين ، مرة للتأكد من عدد السجلات ، والمرة الاخرى في طباعة السجلات) : if DCount("*","Query Name")=0 then msgbox "لا توجد سجلات للطباعة" else docmd.openreport "Report Name" end if
-
وانا كذلك ، ولكن تبقى ايقونة الطباعة بقرب ساعة الكمبيوتر لثوان ، ثم تختفي. يقوم بحذف لملف السابق (إن وُجد) ، ولا يعمل ملف جديد بصفحة فارغة (انا كذلك اعطاني ايحاء ان الصفحة الفارغة تم طباعتها ، ولكني اكمل الخطوات ولم اجد الملف اصلا).
-
لا لا لا ، ابدا مافي تراجع 🙂 لذا في موضوع أخر لأخوي ابوخليل ، وانت كنت مشارك فيه ، انا كتبت: . قلت: . وفي مشاركتي اعلاه ، اختصرت النصيحة في الجملة التالية (والتي تشمل بعدم استخدام دوال المجال في الاستعلام وبقية الامور التي كتبتها في مشاركاتي في المنتدى 🙂 ) : . اذا تلاحظ ، فمشاركاتي وتفاعلي مع مواضيع البرمجة والتعامل مع البيانات والاتمتة ، جل خبرتي في التعامل مع مئات الآلاف من السجلات ، في بيئة يعمل فيها مجموعة بين 10-25 مستخدم لحظيا ، وتحت ضغط شديد لإتمام العمل في اقل وقت ممكن ، والحمدلله وبسبب تنوع البرامج المستخدمة والاجهزة ، ففي كل بيئة عمل ابدأ العمل من الصفر كالتالي: بعد معرفتي للمطلوب عمله ، ابحث في الانترنت عن اعمال مشابهة (وفي الفترة الاخيرة اسأل الذكاء الاصطناعي واللي فائدته لي جدا قليلة ، ورجاء لا احد يكلمني اني ما اعرف طريقة طلب السؤال ، لأني عندي اشتراك في احدهم كذلك للحصول على التجربة الكاملة ، ومن كثرة اسئلتي له صرت استطيع ان اميز الاكواد الموجودة في المنتدى ، لمن ) ، واقارنها بفكرتي ، ثم ابدأ بتجربة بعض الافكار ، وآخذ الافضل للعمل الذي في يدي ، ومو لازم العمل كاملا يكون في الاكسس. نعم بعض النصائح السابقة والتي كانت تعتمد على سرعة الحاسبات القديمة ، تم استبدالها بالتجربة الجديدة 🙂
-
. هناك عدة طرق للتعامل مع هذا التأخير: أ. يجب اعادة النظر في الاستعلام ، ومن متابعتي لردودك ، فأنت عندك هوس/ولع غير طبيعي في الكود ، بينما الاستعلام هو العمود الفقري لقواعد البيانات ، وهو الاسرع. فيجب النظر في تحويل الكود الى استعلامات ، وقد يكون عليك استبدال الكود الواحد الى استعلام واحد اثنين عشرة ... لا يهم ، المهم هو سرعة البرنامج ، ب. او تصدير نتائج هذا الاستعلام الى جدول ، ويكون الجدول هو مصدر بيانات النموذج/التقرير ، فالتأخير سيكون مرة واحدة فقط (عند تصدير الاستعلام ومعالجته الحسابات المعقدة ، الى الجدول) : بما ان الاكسس لا يستطيع عمل اكثر من شيء واحد في نفس الوقت ، اي انه ينتظر حتى تكتمل عمليه معينة ، حتى يقوم بعملية اخرى. مثلا ، اذا اردت عند فتح البرنامج ان يقوم اكسس بتصدير بيانات اسنعلامك البطئ الى جدول ، فعند نقرك زر التصدير ، فلا تستطيع عمل شيء آخر في الاكسس الى ان ينتهي العمل من التصدير ، لذا وبعد النقر على زر التصدير ، اظهر رسالة للمستخدم بترك البرنامج يعمل ، ولما ينتهي البرنامج من التصدير ، تستطيع استخدامه (اعطيه فرصة يشرب قهوة الصباح 🙂 ). الطريقة الاخرى ، والتي لن تجد احد يتكلم عنها (لأنها غير مألوفة) ، بأن تشغل برنامج اكسس آخر (رقم2) والذي فيه الاستعلام البطئ ، فيشغل الاستعلام بأخذ بياناته من برنامجك ، وتصدير البيانات الى جدول ، وفي هذا الوقت وبينما يعمل رقم2 ، يستطيع مستخدمين رقم1 من العمل بطريقة عادية ، ثم يستعملون بيانات الجدول. بمعنى آخر ، اجعل البرامج تشتغل بطريقة متوازية. ولكني اعتقد ان حل التأخير في النقطة أ. وبعد اتباع الطريقة الصحيحة في عمل الاستعلام ، معظم تأخير الاستعلامات هي في الفرز والتصفية ، وحتى اذا عملت فهرسة لحقل ثم في الاستعلام استعملت بيانات الحقل بطريقة اخرى ، فانت في الواقع لا تستفيد من فهرست الحقل ، مثلا عندك حقل تاريخ مفهرس myDate ، ثم قمت في الاستعلام بطلب السنة: Y: Year([myDate]) وعملت له فرز او تصفية لسنة معينة (مثلا 2010) ، فانت في الواقع لا تستفيد من فهرست الحقل ، لذا فالحل هو استعمالك التاريخ كما هو في الحقل ثم عمل التصفية بنفس طريقته ، مثل: myDate>31-12-2009 and myDate<1-1-2011 بكلام آخر ، اعرض الحقول في الاستعلام كما هي في الجدول ، فترى سرعة عرض الاستعلام لبياناته ، واحفظ هذا الاستعلام للرجوع اليه كمصدر لمقارنة سرعتة بالاستعلامات الاخرى ، ثم وفي نسخة اخرى منه ، ابدأ بإضافة حقل واحد (سواء حقل معادلة ، او فرز او تصفية) وابدأ بالامور السهلة ، فاذا لاحظت بطئ في الاستعلام ، فيجب معالجتها ثم الانتقال الى الحقل الآخر ، وهكذا. وكلمة اخيرة ، فالاكسس عنده امكانيات معينة ونقاط ضعف ، ولا يمكنك دائما التغلب على نقاط الضعف.
-
الاستاذة @منتصر الانسي و @hanan_ms تم عمل موضوع خاص لمشاركاتكم