-
Posts
10018 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
مع الاعتذار ، فانا مسافر من يوم غد 🙂
-
اعتقد الجواب موجود في اصل الموضوع :
-
المعذرة اخي الفاضل ، كان لازم اكتب توضيح لتعجبي 🙏 برمجيا ، مرفقك يؤدي الغرض من هذا التحدي ، بإستثناء : اين الخطأ في هذا السجل : . غير معروف مكان الخطأ ، مما يضطر المستخدم الى البحث يدويا في كل حقل !!
-
1. انت دخلت في جدول محظور الدخول فيه ، ولم اقرأ اي محترف ان تجرأ وقام بالتعديل عليه ، 2. رسائل الخطأ غير واضحة ، حيث انها جزء من رسالة خطأ الاكسس ، 3. يجب ان تكون المعادلات ورسائل الخطأ سهل الوصول اليها ، وسهل تغييرها ، 3. وحتى اذا تم قبول المشاركة ، فالشرط الاساس لا ينطبق عليها: ان الجدول يتضمن جميع الشروط . فقد نقلت الجدول الى قاعدة بيانات اخرى ، ولم تعمل الشروط عليه (للعلم ، فقد قمت بهذا العمل لبقة المرفقات ، وعمل الجدول بطريقة صحيحة 🙂 ) . اعتقد التحدي القادم يجب ان يكون ساحة مفتوحة لإستعمال اي طريقة ، سواء بالبرنامج نفسه او حتى الاستعانة ببرامج خارجية
-
انا اميل الى اشعار المستخدم بالخطأ على مستوى الحقل وليس على مستوى السجل ، حتى يتمكن من التعديل مباشرة ، لهذا السبب طرق @Debug Ace و @Moosak اعلاه هي افضل من طريقتي ، ولكن طريقتي باب الى عمل الكثير في الحقول والسجلات على مستوى الجداول المحلية. ولما يسمح لنا اخوي @Foksh ، بنتكلم عن الطريقة ان شاء الله 🙂
-
وعليكم السلام اخوي ابوخليل مايكروسوفت اوقفت او في طريقها لإيقاف: عن الاكسس كائنات ActiveX والذي يشمل على سبيل المثال: شجرة الحسابات ، والباركود ، عن الوندوز كود VBscript والذي يشمل على سبيل المثال: VBScript RegExp libraries على ان توفر مايكروسوفت بديل لهذه الجزئية. وعليه محتاجين الى بدائل اخرى ، مثل ما تفضلت به هنا ، شكرا جزيلا 🙂
-
السلام عليكم وتماشيا مع روح الشروط (وليس تماشيا مع الشروط 🙂 ) ، وهي ثغرة قانونية استندت عليها في المرفق 🙂 هممم ، اعتقد هذه العبارة ذو اكثر من تأويل ، فإذا استعملناها بحذافيرها ، فيمكن ان نعمل المطلوب ولكن الكود سيكون غير واضح بسبب إستعمال عدد كبير من iif في بعضها البعض !! ولذلك من مرفقات الشباب اعلاه ، ارى انهم لم يلتزموا بالعمل على مستوى إعدادات الجدول فقط ، وانما انتقلوا الى إعدادات الحقول ايضا 🙂 Challange_01_02.zip
-
للعلم ، انا استعمل جميع انواع الذكاء الاصطناعي المجاني ، وخصوصا الذي بواصل معي و لا يتوقف عن الرد بسبب نفاذ حصتي منه اليوم بعد تجاربي ، استعمل ChatGPT 5.2 ، لأنه اذا صدر خطأ في السؤال او بدأ الذكاء الاصطناعي بتوجيهي بطريقة غير التي اريدها ، ببساطة لا اعطيه توجيه جديد ، بل ارجع الى آخر توجيه صحيح ، واستمر من هناك. Copilot لا يملك هذه الخاصية 🙂 هذه الخاصية موجودة في معظم شركات الذكاء الاصطناعي.
-
وبعيدا عن الاكسس ، فقد كنت اضغط على احد اولادي (والذي لايعرف يبرمج) بإستعمال الذكاء الاصطناعي ، واليكم تجربته (حسب ما اتذكر) : كان مسؤولا عن ادارة مؤسسة تعليمية: ادارة ، طلبة ، مدرسين ، تقارير ، حضور/غياب ، رواتب ، ... اشترك في Claude ai - Code اخبر الذكاء الاصطناعي طلباته كاملا وبالتسلسل ، ثم طلب يحاوره في خطة العمل ، وانواع البرامج الممكن استعمالها خصوصا انه بحاجة الى ادارة الموقع عن بُعد ، ثم بدأ العمل بنصيحة وكود الذكاء الاصطناعي 100%. كلما انتهى من جزئية معينة ، قام بتجربتها (وللتذكير فهو غير مبرمج ، فكان الذكاء الاصطناعي يخبره عن مكان حفظ الكود او اعطائه ملف كامل للاستعمال). اخذ منه حوالي شهر واحد (كان يعمل عليه ليلا فقط) ، حتى اكمل العمل.
-
السلام عليكم يجب على كل مبرمج ، سواء مبتدئ او محترف او يريد ان يبرمج ، ان يستعمل الذكاء الاصطناعي ليساعده في البرمجة بين الحين والآخر. الاُمي في هذا الزمان هو من لا يستعمل الذكاء الاصطناعي ، والذي يبدأ استعمال الذكاء الاصطناعي من اليوم فهو متأخر بضع سنين عن مبرمجين الغرب. المحترف: قد لا يحصل على كل كود يتمناه ، ولكن يمكنه الاستفادة بجزء من الكود او من الافكار التي يحصل عليها. قد لا يحصل على الكود الذي يستطيع به تحريك الكائنات في النموذج في وضع العرض ، ولكنه يستطيع الحصول على كود التأكد من وجود الانترنت ، او حساب عدد ملفات pdf الموجودة في مجلد الموظف. المبتدئ: ولأنه مبتدئ ، فطبيعي ان طلباته ستكون على مستوى يستطيع الذكاء الاصطناعي الرد عليها. الذي لا يعرف البرمجه ويريد ان يبرمج: اذا طلب من الذكاء الاصطناعي عمل شيء معين ، وبعد التجربة رأى ان الكود يعمل ، فقد حصل على مراده ، واذا لم يعمل ، فيستمر في طلبه وتجربته. وهذا الكود لن يكون مختلفا عن عمل الكثير والكثير المبرمجين المبتدئين الموجودين الان والتي برامجهم تملئ المكاتب بمئات المرات اكثر من برامج المحترفين ، وجزء كبير من الكود الذي يستعملوه هو عبارة عن نسخ/لصق ، ولا عيب في هذا مادام استطاع بالفعل ان يعمل برنامج يعمل بطريقة صحيحة. هناك اختلافات بين برامج الذكاء الاصطناعي ، وبين كل نسخة ، وبين كل تحديث. وبالتجربة تستطيع ان تعرف الانسب لك ، مثلا: هل استعمل ChatGPT 5.2 ، او استعمل Copilot والذي يستخدم ChatGPT 5.2 ؟ الجواب يأتي بالتجربة.
-
⭐ هدية ~ QR ملون بطريقة جديدة بدون إكسل - 2025⭐
jjafferr replied to Foksh's topic in قسم الأكسيس Access
حياك الله -
⭐ هدية ~ QR ملون بطريقة جديدة بدون إكسل - 2025⭐
jjafferr replied to Foksh's topic in قسم الأكسيس Access
هذا اذا استعملت الكود كاملا !! رجاء انظر الى الرابط الذي وضعته في مشاركتي الاولى ، وهذا كود عمل Vcard الموجود هناك ، ولكني استعملت حقول الاسم الاول ومكان العمل ورقم الهاتف وتاريخ الميلاد فقط ، واوفقت الباقي (بهذه الطريقة انت اختار الحقل اللي تريدها) : Function Add_Items() Dim VCard_Text As String 'clear field VCard_Text = "" VCard_Text = "BEGIN:VCARD" & vbCrLf VCard_Text = VCard_Text & "VERSION:3.0" & vbCrLf ' VCard_Text = VCard_Text & "N:" & Me.[Family Name] & ";" & Me.[Given Name] & ";" & Me.[Additional Name] & ";" & Me.[Name Prefix] & ";" & vbCrLf VCard_Text = VCard_Text & "FN:" & Me![Name] & vbCrLf VCard_Text = VCard_Text & "ORG:" & Me.[Organization 1] & vbCrLf VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 1 - Type] & ",VOICE:" & Me.[Phone 1 - Value] & vbCrLf ' VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 2 - Type] & ",VOICE:" & Me.[Phone 2 - Value] & vbCrLf ' VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 3 - Type] & ",VOICE:" & Me.[Phone 3 - Value] & vbCrLf ' VCard_Text = VCard_Text & "ADR;:" & ";;" & Me.[Address 1] & ";;;;" & vbCrLf VCard_Text = VCard_Text & "BDAY:" & Me.[Birthday] & vbCrLf ' VCard_Text = VCard_Text & "EMAIL;TYPE=" & Me.[E-mail 1 - Type] & ":" & Me.[E-mail 1 - Value] & vbCrLf ' VCard_Text = VCard_Text & "EMAIL;TYPE=" & Me.[E-mail 2 - Type] & ":" & Me.[E-mail 2 - Value] & vbCrLf ' VCard_Text = VCard_Text & "NOTE:" & Me.Notes & vbCrLf ' VCard_Text = VCard_Text & "URL:" & Me.[Website 1] & vbCrLf VCard_Text = VCard_Text & "END:VCARD" Add_Items = VCard_Text End Function -
⭐ هدية ~ 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
وعليكم السلام هنيئا لنا اخوي محب العقيدة هذه الترقية 🙂 وشكرا جزيلا اخوي ابوخليل على تواصلك المستمر في في اختيار الخبراء -
اه حضرتك تقصد كود الوحدة النمطية العامة نعم، لا يمكنك عمل:
-
انا عندي 3 خطوط (دفاعية) لفتح نموذج او تقرير: 1. الاستعلام ، ويكون مصدر البيانات ، ويكون فيه الفرز (للنموذج فقط ، بينما التقرير لا يحترم فرز الاستعلام وانما يجب عمله في التقرير مباشرة) والتصفية ، 2. وقد احتاج الى تصفية اخرى عند فتح النموذج/التقرير ، او اذا عملت على استعلام/نموذج/تقرير ، ولا احبذ تغيير الاستعلام (لأنه هناك نماذج/تقارير اخرى تعتمد عليه) ، هنا اعتمد على الفرز/التصفية عند فتح النموذج/التقرير ، 3. وفي حالات خاصة (جدا خاصة وجدا قليلة) ، اعتمد على وضع شروط عند فتح النموذج/التقرير في كود فتح النموذج/التقرير. فعليه : وفي جميع الحالات اعلاه ، عمل اخوي ابو جودي (لا يعمل في صيغة mde او accde ، لأنه لا يمكن فتح النموذج/التقرير في وضع التصميم) واخوي منتصر يعملان ، وفي بعض الاحيان كنت احتاج الى معرفة اذا هناك سجلات قبل طباعة تقرير (كان يتأخر في الطباعة) ، وكنت معتمد على الاستعلام كمصدر بيانات ، فكنت استعمل الكود التالي (والذي في اعتقادي هو اسرع من فتح التقرير وانتظار حصول الرسالة منه ، ولكن اذا كانت هناك سجلات ، فالتأخير يكون مرتين ، مرة للتأكد من عدد السجلات ، والمرة الاخرى في طباعة السجلات) : if DCount("*","Query Name")=0 then msgbox "لا توجد سجلات للطباعة" else docmd.openreport "Report Name" end if
-
وانا كذلك ، ولكن تبقى ايقونة الطباعة بقرب ساعة الكمبيوتر لثوان ، ثم تختفي. يقوم بحذف لملف السابق (إن وُجد) ، ولا يعمل ملف جديد بصفحة فارغة (انا كذلك اعطاني ايحاء ان الصفحة الفارغة تم طباعتها ، ولكني اكمل الخطوات ولم اجد الملف اصلا).
-
لا لا لا ، ابدا مافي تراجع 🙂 لذا في موضوع أخر لأخوي ابوخليل ، وانت كنت مشارك فيه ، انا كتبت: . قلت: . وفي مشاركتي اعلاه ، اختصرت النصيحة في الجملة التالية (والتي تشمل بعدم استخدام دوال المجال في الاستعلام وبقية الامور التي كتبتها في مشاركاتي في المنتدى 🙂 ) : . اذا تلاحظ ، فمشاركاتي وتفاعلي مع مواضيع البرمجة والتعامل مع البيانات والاتمتة ، جل خبرتي في التعامل مع مئات الآلاف من السجلات ، في بيئة يعمل فيها مجموعة بين 10-25 مستخدم لحظيا ، وتحت ضغط شديد لإتمام العمل في اقل وقت ممكن ، والحمدلله وبسبب تنوع البرامج المستخدمة والاجهزة ، ففي كل بيئة عمل ابدأ العمل من الصفر كالتالي: بعد معرفتي للمطلوب عمله ، ابحث في الانترنت عن اعمال مشابهة (وفي الفترة الاخيرة اسأل الذكاء الاصطناعي واللي فائدته لي جدا قليلة ، ورجاء لا احد يكلمني اني ما اعرف طريقة طلب السؤال ، لأني عندي اشتراك في احدهم كذلك للحصول على التجربة الكاملة ، ومن كثرة اسئلتي له صرت استطيع ان اميز الاكواد الموجودة في المنتدى ، لمن ) ، واقارنها بفكرتي ، ثم ابدأ بتجربة بعض الافكار ، وآخذ الافضل للعمل الذي في يدي ، ومو لازم العمل كاملا يكون في الاكسس. نعم بعض النصائح السابقة والتي كانت تعتمد على سرعة الحاسبات القديمة ، تم استبدالها بالتجربة الجديدة 🙂