اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم

مطلوب التعديل على الكود لجعله يقوم بملء خانة (اسم المستخدم) فى جدول المبيعات بقيمة tempvar المسمى mm

الكود موجود تحت زر (دفع) الموجود فى form2 ، علما بأنه تم اضافة tempvar بالفعل و له قيمة 

المحل نسخة تجريبية.rar

قام بنشر

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

 

بما انك ادخلت قيمة واحدة في tempVars ، فللحصول عليها ، يمكنك ان تستعمل

msgbox TempVars![mm]
  
  او
  
msgbox TempVars.Item(0)

 

جعفر

قام بنشر
13 ساعات مضت, MOamen Selema said:

اريد وضعها في خانة جدول

 

تفضل طريقة تحويل جملة الاستعلام SQL من الكود الى استعلام ، ومن ثم من الاستعلام الى الكود مرة اخرى :

 

1. ادخل في نموذج login حتى يكون لدينا اسم المستخدم في المتغير TempVars!mm في ذاكرة الكمبيوتر (وتظل هذه القيمة في ذاكرة الكمبيوتر الى اغلاق برنامج الاكسس) ، ولنختار المستخدم محمد مثلا (ومافي داعي للنقر على زر "دخول")  :

image.png.48f5db65e454915636d6820ad1f09e3c.png

.

2. نفتح النموذج form2 ، ونذهب الى حدث النقر على الزر "ادفع" حتى نرى الكود :

DoCmd.RunSQL "INSERT INTO المبيعات ( [كود الصنف], [اسم الصنف], المورد, [سعر البيع], اللون, المقاس, التاريخ, [نظام الدفع] )  SELECT فرعى.[كود الصنف], فرعى.[اسم الصنف], فرعى.المورد, فرعى.[سعر البيع], فرعى.اللون, فرعى.المقاس, Date() AS D, ""نقدي"" AS s  FROM فرعى;"

.

نريد ان نعمل تغيير في جملة SQL هذه ، ونضيف "اسم المستخدم" فيها ، والموجدو في المتغير TempVars!mm ،

أ. نعطي جملة SQL الى متغير ، ولنسميه mySQL ، ثم في اسفل نافذة الكود VBE ، في نافذة Immediate (ولفتح هذه النافذة Ctrl+G) ، نرى جملة الـ SQL كما يراها البرنامج :

dim mySQL as string

mySQL= "INSERT INTO المبيعات ( [كود الصنف], [اسم الصنف], المورد, [سعر البيع], اللون, المقاس, التاريخ, [نظام الدفع] )  SELECT فرعى.[كود الصنف], فرعى.[اسم الصنف], فرعى.المورد, فرعى.[سعر البيع], فرعى.اللون, فرعى.المقاس, Date() AS D, ""نقدي"" AS s  FROM فرعى;"

debug.print mySQL

DoCmd.RunSQL mySQL

.

ب. انقر على الزر "ادفع" ، فنرى جملة SQL في النافذة :

image.png.f8a73201e7e9b181ba1f8844f43d8e57.png

.

ج. ننسخ هذه الجملة (بما ان الجملة فيها كلمات عربية ، فيجب ان تكون لغة لوحة المفاتيح بالعربية ، حتى نرى الكلمات العربية بالطريقة الصحيحة ، وإلا فهذه الكلمات ستتحول الى حروف اغريقية!!)

اذا تم نسخ الجملة التي فيها كلمات عربية ، ولوحة المفاتيح بالانجليزي:

image.png.768bcea39205e20cf304c0097b3a07a2.png

.

فعند لصقها في الاستعلام (او حتى في المنتدى) ، ستكون هكذا:

image.png.d65e150107222f244a82f878eb00f011.png

.

لذا يتوجب تغيير لوحة المفاتيح الى العربية

image.png.530fb5e6e8f696ef47afaea7d0a90e94.png

.

د. نفتح استعلام جديد ، ونطلب منه فتح نافذة الاستعلام في وضع SQL

image.png.657ccbca236e967bc482f9f3639edee3.png

.

image.png.db7357ff1d0c1888dd3c919875263074.png

.

هـ. ثم نلصق جملة SQL التي نسخناها من نافذة VBE Immediate ، الى هذا الاستعلام:

image.png.228d01ce7b8c094911de084c8e9d7822.png

.

ثم نعرض الاستعلام بوضع التصميم ، حتى يسهل علينا فهم جملة SQL :

image.png.85686713f7ed9c7f9e7324d286de6f41.png

.

فيصبح الاستعلام هكذا:

image.png.cb02ab8fd7e23aa4a8cc5aba0d6d71ec.png

.

و. وبتغيير كلمة "نقدي" الى 'نقدي' (لأننا في الاستعلام نستخدم الخط الواحد ' وليس خطين " للنص) ، واضفنا حقل "اسم المستخدم"

image.png.c9bd4f21cbb954476d0806f176e44da8.png

.

ز. والآن نحول الاستعلام الى جملة SQL ، وننسخه الى الكود في VBE (ولو اني دائما افضل استعمال الاستعلام بدل الكود ، ولكن الامر راجع اليك) :

image.png.b467e5c7c4e75594a26eb0d370c5854f.png

.

image.png.57d10e18240940594346664b3b832bc4.png

.

ح. ونضعه في الكود :

    
    'mySQL = "INSERT INTO المبيعات ( [كود الصنف], [اسم الصنف], المورد, [سعر البيع], اللون, المقاس, التاريخ, [نظام الدفع] )  SELECT فرعى.[كود الصنف], فرعى.[اسم الصنف], فرعى.المورد, فرعى.[سعر البيع], فرعى.اللون, فرعى.المقاس, Date() AS D, ""نقدي"" AS s  FROM فرعى;"
    mySQL = "INSERT INTO المبيعات ( [كود الصنف], [اسم الصنف], المورد, [سعر البيع], اللون, المقاس, التاريخ, [نظام الدفع], [اسم المستخدم] )"
    mySQL = mySQL & " SELECT فرعى.[كود الصنف], فرعى.[اسم الصنف], فرعى.المورد, فرعى.[سعر البيع], فرعى.اللون, فرعى.المقاس, Date() AS D, 'نقدي' AS s, '" & [TempVars]![mm] & "' AS T"
    mySQL = mySQL & " FROM فرعى;"
    
    Debug.Print mySQL
    
    DoCmd.RunSQL mySQL

.

مع ملاحظة تغيير المتغير الى نص ، حتى يأخذ قيمته مباشرة من TempVars!mm :

image.png.692324e36d221430611e77c45f10293d.png

.

.

والآن نستخدم النموذج form2 ونجرب الزر:

image.png.01d1851094a326039d986fbb6905386d.png

.

والنتيجة :

image.png.d728d1446e8bed77e35a8df7f206d7e8.png

.

 

جعفر

1275.المحل نسخة تجريبية.accdb.zip

  • Like 1
قام بنشر
22 ساعات مضت, jjafferr said:

 

تفضل طريقة تحويل جملة الاستعلام SQL من الكود الى استعلام ، ومن ثم من الاستعلام الى الكود مرة اخرى :

 

بارك الله فيك و نفع بك و أكرمك و جزاك من خيره الوافر

شاكر جدا لمجهودك

18 ساعات مضت, ابو عارف said:

عذرا لخطاء ارفاق ملف دون حفظه في ارشيف و هذا ملف الجديد

 

جزاكم الله خيرا أخي الكريم

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