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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

jjafferr had the most liked content!

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

9435 Excellent

عن العضو jjafferr

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

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

اخر الزوار

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

Important Information