اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

jjafferr last won the day on يناير 22

jjafferr had the most liked content!

السمعه بالموقع

9439 Excellent

عن العضو jjafferr

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    مهندس مدني مستقيل
  • البلد
    سلطنة عُمان

اخر الزوار

26645 زياره للملف الشخصي
  1. وبعيدا عن الاكسس ، فقد كنت اضغط على احد اولادي (والذي لايعرف يبرمج) بإستعمال الذكاء الاصطناعي ، واليكم تجربته (حسب ما اتذكر) : كان مسؤولا عن ادارة مؤسسة تعليمية: ادارة ، طلبة ، مدرسين ، تقارير ، حضور/غياب ، رواتب ، ... اشترك في Claude ai - Code اخبر الذكاء الاصطناعي طلباته كاملا وبالتسلسل ، ثم طلب يحاوره في خطة العمل ، وانواع البرامج الممكن استعمالها خصوصا انه بحاجة الى ادارة الموقع عن بُعد ، ثم بدأ العمل بنصيحة وكود الذكاء الاصطناعي 100%. كلما انتهى من جزئية معينة ، قام بتجربتها (وللتذكير فهو غير مبرمج ، فكان الذكاء الاصطناعي يخبره عن مكان حفظ الكود او اعطائه ملف كامل للاستعمال). اخذ منه حوالي شهر واحد (كان يعمل عليه ليلا فقط) ، حتى اكمل العمل.
  2. السلام عليكم يجب على كل مبرمج ، سواء مبتدئ او محترف او يريد ان يبرمج ، ان يستعمل الذكاء الاصطناعي ليساعده في البرمجة بين الحين والآخر. الاُمي في هذا الزمان هو من لا يستعمل الذكاء الاصطناعي ، والذي يبدأ استعمال الذكاء الاصطناعي من اليوم فهو متأخر بضع سنين عن مبرمجين الغرب. المحترف: قد لا يحصل على كل كود يتمناه ، ولكن يمكنه الاستفادة بجزء من الكود او من الافكار التي يحصل عليها. قد لا يحصل على الكود الذي يستطيع به تحريك الكائنات في النموذج في وضع العرض ، ولكنه يستطيع الحصول على كود التأكد من وجود الانترنت ، او حساب عدد ملفات pdf الموجودة في مجلد الموظف. المبتدئ: ولأنه مبتدئ ، فطبيعي ان طلباته ستكون على مستوى يستطيع الذكاء الاصطناعي الرد عليها. الذي لا يعرف البرمجه ويريد ان يبرمج: اذا طلب من الذكاء الاصطناعي عمل شيء معين ، وبعد التجربة رأى ان الكود يعمل ، فقد حصل على مراده ، واذا لم يعمل ، فيستمر في طلبه وتجربته. وهذا الكود لن يكون مختلفا عن عمل الكثير والكثير المبرمجين المبتدئين الموجودين الان والتي برامجهم تملئ المكاتب بمئات المرات اكثر من برامج المحترفين ، وجزء كبير من الكود الذي يستعملوه هو عبارة عن نسخ/لصق ، ولا عيب في هذا مادام استطاع بالفعل ان يعمل برنامج يعمل بطريقة صحيحة. هناك اختلافات بين برامج الذكاء الاصطناعي ، وبين كل نسخة ، وبين كل تحديث. وبالتجربة تستطيع ان تعرف الانسب لك ، مثلا: هل استعمل ChatGPT 5.2 ، او استعمل Copilot والذي يستخدم ChatGPT 5.2 ؟ الجواب يأتي بالتجربة.
  3. هذا اذا استعملت الكود كاملا !! رجاء انظر الى الرابط الذي وضعته في مشاركتي الاولى ، وهذا كود عمل 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
  4. السلام عليكم بعض الاجهزة لا تقرأ الـ QR العربي (مو عربي فقط ، وانما ما يقرأ Unicode ، ما يقرأ اي لغة غير الانجليزي/اللاتيني) ، ولا يمكن تعديل هذا الشيء في الجهاز!! فاذا طلبك عمل QR انجليزي فقط ، فتأكد من عدم استخدام الامر eci=24 عند عمل QR : .
  5. اخي فادي جميل عندما يستفيد الآخرين من عمل معين ، ويضاف عليه لمسات جميلة 🙂 شكرا لك.
  6. السلام عليكم اخوي موسى بارك الله في جهودك، خطوة جبارة في الاتجاه الصحيح🙂 من بعض تجاربي مع الذكاء الاصطناعي، فتجربته مع لغة 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. جعفر
  7. السلام عليكم 🙂 ولو اني مشغول لقمة رأسي ومسافر غدا ان شاء الله ، ولكني اردت المشاركة تفاعلا مع اخي ابوخليل 🙂 . وطريقتي: بالاشارة الى موضوعي ، الجزء الاول: واليك الجزء الثاني من الموضوع: 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 . وحصلت على النتيجة 🙂 جعفر
  8. وعليكم السلام ورحمة الله وبركاته اخوي موسى، دائما افكارك عملية وفيها تحدي، شكرا لك 🙂 وهي نفس ملاحظتي 🙂 في رأيي الشخصي ، هذه الملصقات يجب ان تكون جزء من برنامج تذكير (او برنامج متابعة المهام) ، وفي برنامج التذكير يكون عندنا يوم/وقت (يمكن التوسع في الاعدادات) لظهور هذه الملاحظات للمستخدم الذي عمل الملاحظة ، ويستطيع المسؤول عمل هذه الملاحظات ايضا لتظهر لمستخدم معين او جميع المستخدمين. فكرت استعمال هذه الملاحظات عن طريق الوندوز بواسطة برنامج Sticky Notes عن طريق CMD او PowerShell ، ولكن الوندوز 7 يختلف عن الوندوز 10 ، وتحتاج ان يسمح النظام لفتح هذه الملفات!! الفكرة الان هي: 1. بث نموذج الملاحظات (مثلا في زاوية البرنامج اعلى اليسار) ، بحيث يمكن استعمال نفس النموذج الفرعي ، ويمكن ان تكون هناك ملاحظة ، ثم تتبعها ملاحظة اخرى تحتها ، وهكذا ، 2. او الاستفادة من نموذج واحد لعدة ملاحظات (عرض نفس النموذج عدة مرات ، بحيث يستطيع المستخدم تحريك كل ملاحظة بطريقة مستقلة) ، هكذا : 3. او يمكن استعمال الرسالة التي تخرج فوق الساعة Ballon Tip : . كنت اتمنى اقدر اعمل هذه الملاحظات في برنامج ، ولكن للاسف لا يسمح لي وقتي الان 😞 جعفر
  9. وعليكم السلام هنيئا لنا اخوي محب العقيدة هذه الترقية 🙂 وشكرا جزيلا اخوي ابوخليل على تواصلك المستمر في في اختيار الخبراء
  10. اه حضرتك تقصد كود الوحدة النمطية العامة نعم، لا يمكنك عمل:
  11. انا عندي 3 خطوط (دفاعية) لفتح نموذج او تقرير: 1. الاستعلام ، ويكون مصدر البيانات ، ويكون فيه الفرز (للنموذج فقط ، بينما التقرير لا يحترم فرز الاستعلام وانما يجب عمله في التقرير مباشرة) والتصفية ، 2. وقد احتاج الى تصفية اخرى عند فتح النموذج/التقرير ، او اذا عملت على استعلام/نموذج/تقرير ، ولا احبذ تغيير الاستعلام (لأنه هناك نماذج/تقارير اخرى تعتمد عليه) ، هنا اعتمد على الفرز/التصفية عند فتح النموذج/التقرير ، 3. وفي حالات خاصة (جدا خاصة وجدا قليلة) ، اعتمد على وضع شروط عند فتح النموذج/التقرير في كود فتح النموذج/التقرير. فعليه : وفي جميع الحالات اعلاه ، عمل اخوي ابو جودي (لا يعمل في صيغة mde او accde ، لأنه لا يمكن فتح النموذج/التقرير في وضع التصميم) واخوي منتصر يعملان ، وفي بعض الاحيان كنت احتاج الى معرفة اذا هناك سجلات قبل طباعة تقرير (كان يتأخر في الطباعة) ، وكنت معتمد على الاستعلام كمصدر بيانات ، فكنت استعمل الكود التالي (والذي في اعتقادي هو اسرع من فتح التقرير وانتظار حصول الرسالة منه ، ولكن اذا كانت هناك سجلات ، فالتأخير يكون مرتين ، مرة للتأكد من عدد السجلات ، والمرة الاخرى في طباعة السجلات) : if DCount("*","Query Name")=0 then msgbox "لا توجد سجلات للطباعة" else docmd.openreport "Report Name" end if
  12. وانا كذلك ، ولكن تبقى ايقونة الطباعة بقرب ساعة الكمبيوتر لثوان ، ثم تختفي. يقوم بحذف لملف السابق (إن وُجد) ، ولا يعمل ملف جديد بصفحة فارغة (انا كذلك اعطاني ايحاء ان الصفحة الفارغة تم طباعتها ، ولكني اكمل الخطوات ولم اجد الملف اصلا).
  13. فكرة ابو جودي هي الافضل، وللعلم ، فجدول 2 لا يمكن يكون اكثر من ايام السنة 365 سجل ، وقد جربت هذه الطريقة بدل 365 ، جربت 3,000,000 وكانت سريعة ، وكانت السرعة ممتازة: . .
×
×
  • اضف...

Important Information