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

الردود الموصى بها

قام بنشر

السلام عليكم 

لدي استعلام يقوم بتحديث حقل في جدول بناء على قيمة الحقل 

مثلا

القيمة بالجدول ناجح يتم تحديثها الى رقم 1

الى هنا الامور كلها تمام 

اريد اضع شروط اخرى للتحديث 

مثلا

اذا كانت قيمة الحقل فاشل  يتم تحديث الحقل الى رقم 2

اذا كانت قيمة الحقل Na يتم تحديث الحقل الى رقم 3

استطيع عملها بعدد ثلاثة استعلامات ولكن اريد اختصارها الى استعلام واحد فقط 

 

qryi.accdbFetching info...

قام بنشر
  في 14‏/11‏/2022 at 09:22, jjafferr said:

ايش رأيك بشرح مفيد عن الدالة iif ، وان شاء الله يساعدك في مرادك 

 

Expand  

شكرا استاذ 

الشرح عن الدالةiif في محرر الاكواد vba 

الجهاز اللي راح اضع عليه البرنامج متصل بسيرفر 

لايقبل تنفيذ اي استعلام من خلال الكود 

لذلك محتاج تنفيذ التحديث من خلال الاستعلام مباشرة 

لو امكن المساعده في هذه الجزئية 

  • Haha 1
قام بنشر

الشرح عن طريقة عمل الامر iif في الاستعلام ،

ولكني عملتها في VBA وكنت استطيع عملها في برنامج Notepad ، فقط لأشرح طريقة عملها بخطوات سهله ، ثم تجميعها (بحذف علامة _ )  وجعل الجملة في سطر واحد ، ثم اخذها الى الاستعلام 🙂

  • Like 2
قام بنشر

السلام عليكم ورحمة الله تعالى وبركاته

وبعد اذن استاذى الجليل ومعلمى القدير و والدى الحبيب الاستاذ @jjafferr :fff: تسهيلا على اخونا السائل 

على اعتبار ان الحقل اسمه ff

  • اولا باستخدام دالة Switch
Switch(IsNull(Trim([ff])),3,[ff]="Na",3,[ff]="ناجح",1,[ff]="فاشل",2)

 

  • ثانيا باستخدام دالة iif
IIf(IsNull(Trim([ff])),3,IIf([ff]="Na",3,IIf([ff]="ناجح",1,IIf([ff]="فاشل",2))))

 

وطبعا انا افضل دالة Switch لا يصير منها لخبطة مع كثرة عدد الحروف بالكود وبخاصة مع كثرة المتغيرات واستخدام الاحرف العربية اللى تشقلب الكود رأسا على عقب وتجيب لمحرر الاكواد صداع :biggrin:

  • Like 1
قام بنشر
  في 14‏/11‏/2022 at 13:57, ابو جودي said:

 تسهيلا على اخونا السائل 

Expand  

تمام 

الدالتين ادت المطلوب 

فقط هناك ملاحظة 

لوكانت هناك قيمة بالجدول غير 

ناجح  فاشل  Na

يتم تحديثها الى فراغ 

انظر الصورة والمرفق 

ثpng.png

fr.rarFetching info...

قام بنشر
  في 14‏/11‏/2022 at 15:30, alsihran said:

تمام 

الدالتين ادت المطلوب 

فقط هناك ملاحظة 

لوكانت هناك قيمة بالجدول غير 

ناجح  فاشل  Na

يتم تحديثها الى فراغ 

انظر الصورة والمرفق 

ثpng.png

Expand  

طيب انت اخدت الاجابة تفصيلا بالتمام والكمال بناء على طلبك :yes:
لم تذكر شئ عن قيم أخرى :eek2:

ومع ذلك يمكنك اضافة ما تشاء بالدالتين على نفس النهج و السياق ولا قدر الله ان تعثرت فى التطبيق فقط أخبرنى كل المتغيرات التى سوف يتم التعامل معاها لوضعها فى الحسبان الله يرضى عليك وعلى والديك الكرام :fff:

  • Like 1
قام بنشر
  في 14‏/11‏/2022 at 16:10, ابو جودي said:

طيب انت اخدت الاجابة تفصيلا بالتمام والكمال بناء على طلبك

Expand  

كلامك صحيح استاذ

  في 14‏/11‏/2022 at 16:10, ابو جودي said:

الله يرضى عليك وعلى والديك الكرام 

Expand  

جميعا ان شاء الله جزاك الله خير 

  في 14‏/11‏/2022 at 16:10, ابو جودي said:

ولا قدر الله ان تعثرت فى التطبيق فقط أخبرنى كل المتغيرات التى سوف يتم التعامل معاها لوضعها فى الحسبان

Expand  

استاذي البيانات يتم استيرادها من ملف أكسل وهي نصوص احتمالية خطأ المستخدم  في ادخال النص المطلوب بالتحديد وارده بنسبة 50%

فلو كان هناك امكانية تحديث اي نص اخر غير   ناجح'    فاشل'   Na'    الى رقم 3 

شاكر ومقدر لك تعاونك 

قام بنشر

ملاحظة ايضا اثناء التجربة 

لاحظت ان الاستعلام يقوم بحذف القيم التي تم تحديثها سابقا 

 

قام بنشر

وعليكم السلام 🙂

 

مشاركة مع اخي ابو جودي 🙂

image.png.ffe199986a00c6e16a5f3da47ab96125.png

.

image.png.e7105ef819f2185d27afcf6d855aafcd.png

.

وهذه هي الدالة في الوحدة النمطية :

Function Get_R(txt As String) As String

    If txt = "نجاح" Then
        Get_R = 1
        
    ElseIf txt = "فشل" Then
        Get_R = 2
        
    ElseIf txt = "Na" Then
        Get_R = 3
        
    Else
        Get_R = 3
        
    End If
    
End Function

 

جعفر

fr.zipFetching info...

  • Like 2
قام بنشر
  في 15‏/11‏/2022 at 06:32, jjafferr said:

مشاركة مع اخي ابو جودي

Expand  

الله يعطيك العافية 

المشكلة معاااي ذكرتها في مشاركة سابقة 

  في 14‏/11‏/2022 at 10:31, alsihran said:

لجهاز اللي راح اضع عليه البرنامج متصل بسيرفر 

لايقبل تنفيذ اي استعلام من خلال الكود 

لذلك محتاج تنفيذ التحديث من خلال الاستعلام مباشرة 

Expand  

شكل المسألة عويصه 😇

  • تمت الإجابة
قام بنشر

سيدي الفاضل 🙂

الرابط اللي اعطيتك ، فيه الطريقة اللي انا شخصيا استخدمها في برامجي ، وها انا ذا استخدمها هنا كذلك :

 

في VBE او Notepad او الوورد او اي برنامج ، قم بتفكيك الامر iif الى سطور ، حتى يكون الامر سهل لك في فهم ما تقوم به ، وحتى الكلمات العربية ما تتداخل وسط الكود ويصبح الكود غير مفهوم :

image.png.9f079411e04e329378aae93e73bbd342.png

.



        IIf([ff] = "نجاح", 1, _
            IIf([ff] = "فشل", 2, _
            IIf([ff] = "Na", 3, _
            IIf([ff] <> "نجاح" And [ff] <> "فشل" And [ff] <> "Na", 3, ""))))
        
        
 IIf([ff] = "نجاح", 1, IIf([ff] = "فشل", 2, IIf([ff] = "Na", 3, IIf([ff] <> "نجاح" And [ff] <> "فشل" And [ff] <> "Na", 3, ""))))
        

.

وفي النهاية ، احذف العلامة _ وضع الكود في سطر واحد (اوقف على نهاية السطر الاول ، واحذف العلامة _ ، ثم انقر على زر Del على لوحة المفاتيح حتى يأتي السطر الثاني في نهاية السطر الاول ، ويبقى لدينا سطر واحد فقط ، والذي سنأخذ نسخة منه الى الاستعلام مباشرة)

Make_iif.thumb.gif.fd8f3d1fcd61208866157aa5339e6f84.gif

.

لاحظ في الاستعلام انه بالفعل قلب لنا المتغيرات والحقول ، بسبب اللغة العربية :

image.png.41785944f42200303c202ecaebd14adf.png

.

image.png.606e426a19dc25187c9b83779457c745.png

.

رجاء احتفظ بملف النص ZZ.txt ، فكلما اردن ان تعمل تعديل على معادلة الاستعلام ، اعملها في ملف النص ، ثم انسخها الى الاستعلام 🙂
اما انا ، فبدل ان يكون عندي ملف اضافي في هذا المشروع ، فأقوم بعمل هذه الخطوات في VBE (طبعا ما اناديها برمجيا ولا استعملها) ، واللي تكون جزء من البرنامج 🙂

 

جعفر

ZZ.zipFetching info... fr.zipFetching info...

  • Like 1
قام بنشر
  في 15‏/11‏/2022 at 07:57, jjafferr said:

سيدي الفاضل 🙂

الرابط اللي اعطيتك ، فيه الطريقة اللي انا شخصيا استخدمها في برامجي ، وها انا ذا استخدمها هنا كذلك :

Expand  

الله يعطيك العافية استاذ 

عذراً منك لاني أسأت الفهم 

تمام شكرا لك 

قام بنشر
  في 14‏/11‏/2022 at 10:31, alsihran said:

الجهاز اللي راح اضع عليه البرنامج متصل بسيرفر 

لايقبل تنفيذ اي استعلام من خلال الكود 

Expand  

أخي @alsihran لدي فضول حول هذه النقطة .. 🙂 

لماذا لا يقبل السيرفر تشغيل الأوامر البرمجية VBA ؟

هل بسبب تعطيل الصلاحيات من قبل فنيي الحاسب الآلي ؟

قام بنشر
  في 16‏/11‏/2022 at 05:22, Moosak said:

لماذا لا يقبل السيرفر تشغيل الأوامر البرمجية VBA ؟

هل بسبب تعطيل الصلاحيات من قبل فنيي الحاسب الآلي ؟

Expand  

نعم استاذنا الكريم 

تقوم ادارة تقنية المعلومات بالمنشأه بايقاف التعليمات البرمجية ( تنفيذ الاكواد البرمجية )

عن الاجهزة المرتبطة بالسيرفر الرئيسي في الفرع الرئيسي 

ومن ضمنها الاسكربت وتثبيت البرامج و . .و .. و الخ 

قام بنشر
  في 16‏/11‏/2022 at 08:14, jjafferr said:

والجواب على مشاركتي انا انا ، هل حلت المشكلة 🙂

 

Expand  

نعم استاذ حلة المشكلة الى نوع ما 

لانه اذا اعدت تشغيل الاستعلام مره ثانية يقوم بتحويل رقم 1 ورق 2 الى رقم 3 حسب الشروط

تحياتي وتقديري شكرا لك 

قام بنشر
  في 18‏/11‏/2022 at 07:11, jjafferr said:

من يقوم بهذا التحويل؟

Expand  

عفواً 

اقصد تحديث 

نفسها جملة الاستعلام التي قمنا من خلالها بتحديث النصوص نجاح فشل Na الى ارقام 

عند تشغل الاستعلام مرة اخرى قوم بتحول رقم 1 و 2 الى رقم 3  

بسبب ان تشغيل الاستعلام مرة اخرى سيجد ان رقم 1 و 2 لاتساوي نجاح فشل يقوم بتحديثها الى رقم 3

هذه الجملة من الاستعلام المسؤولة عن الامر

IIf([ff] <> "نجاح" And [ff] <> "فشل" And [ff] <> "Na", 3,

 

قام بنشر

اذا استعملنا اسماء الحقول اللي في ملفي (طبعا هذا جدول اخوي ابو جودي 🙂 )،

فنحن نتحقق من الحقل ff ، ولكننا نحدث حقل آخر ،

فما مهم اي عدد من المرات تقوم بهذا التحديث ، فالنتيجة دائما تكون نفسها (نعم جربت في البرنامج قبل ان اكتب هنا 🙂 ).

واذا اردت المساعدة اكثر ، فرجاء ارفاق برنامجك وفيه حقول وبيانات صحيحة ، وخلينا نشوف وين المشكلة 🙂

 

جعفر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information