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

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

قام بنشر (معدل)

السلام عليكم ورخمة الله وبركاته اعضاء ومشرفي المنتدي الكرام  كل عام وانتم بخير 

عندي جدول به حقل للدينار وحقل للفلس اريد ازالة الصفر والنقطه من الافلاس 

مثلا 0.5 اريد ازالة الصفر والنقطه في عدة سجلات كيف ذلك

وطلب اخر وهو كيف وضع علامة %  علي يمين رقم  في حقل النسبة في عدة سجلات

وشكرا

TEST1.accdb

تم تعديل بواسطه حسين العربى
قام بنشر

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

بما أن الحقل في الجدول نوع الرقم أو حجم الرقم = Double
فأنصحك بتحويل القيمة عند ادخالها الى عدد صحيح ، مثلاُ بدلاً من أن تكون القيمة = 0.5 = 5 فلسات مثلاً اجعلها من المصدر تأتي رقم صحيح = 5 .

هذا لأنه عند تغييرك من Double الى Integer على سبيل المثال ، سيتم تعويض القيمة من 0.5 الى 1 بالتقريب لأقرب 1 صحيح .

أو أن تجعل نوع الحقل من رقمي الى نصي ، وهنا تستطيع كتابة اي قيمة تريدها دون التعديل في مصدر الحقل ( حسب النموذج والحقل الذي هو مصدره هذه الحقل )

 

هذا من وجهة نظري والله أعلم ,

 

قام بنشر
36 دقائق مضت, Foksh said:

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

بما أن الحقل في الجدول نوع الرقم أو حجم الرقم = Double
فأنصحك بتحويل القيمة عند ادخالها الى عدد صحيح ، مثلاُ بدلاً من أن تكون القيمة = 0.5 = 5 فلسات مثلاً اجعلها من المصدر تأتي رقم صحيح = 5 .

هذا لأنه عند تغييرك من Double الى Integer على سبيل المثال ، سيتم تعويض القيمة من 0.5 الى 1 بالتقريب لأقرب 1 صحيح .

أو أن تجعل نوع الحقل من رقمي الى نصي ، وهنا تستطيع كتابة اي قيمة تريدها دون التعديل في مصدر الحقل ( حسب النموذج والحقل الذي هو مصدره هذه الحقل )

 

هذا من وجهة نظري والله أعلم ,

 

استاذي الفاضل انا علي علم بما تقول ولاكن الهدف من ذلك شي ثاني انا فقط اريد ازالة ماقبل الرقم عن طريق استعلام 

قام بنشر
10 دقائق مضت, حسين العربى said:

استاذي الفاضل انا علي علم بما تقول ولاكن الهدف من ذلك شي ثاني انا فقط اريد ازالة ماقبل الرقم عن طريق استعلام 

في ظل نوع الحقل الحالي ، لا اعتقد ذلك للأسف ، ما لم يكن هناك رأي آخر لمعلمينا والأساتذة الأفاضل :smile: .

قام بنشر

إذا قصدك تكون النتيجة هكذا image.png.9bb3162973f2589762092e6cba354f4a.png

فتكتب هذي الصيغة في مصدر بيانات حقل التنسيق :

=Mid([Text1];InStr(1;[Text1];".")+1) & " %"

🙂 

قام بنشر (معدل)

استاذي الفاضMoosak

للتوضيح انا بسجل البيانات في جدول وبرحلها في جدول ثاني  علشان اظبط فيها حقول الافلاس من 0.5 الي 5 وحقل النسبة من مثلا 23 الي %23

وللتوضيح اكثر 

انا عندي 1000 سجل  كل سجل به حقل رقم  مسجل به افلاس مثل 0.5 وهكذ وحقل نسبة مثلا مثجل به 23 

اريد في حقل الافلاس ازالة 0. من الرقم ليصبح 5 وكل سجل به رقم مختلف طبعا 

وفي حقل النسبة مسجل مثلا رقم 23 اريد اضافة علامة في % علي يمين الرقم في كل سجل  وفي كل سجل مسجل رقم مختلف

 

يعني انا عندي بيانات مسجلة من قبل اريد تعديلها

تم تعديل بواسطه حسين العربى
قام بنشر
4 ساعات مضت, حسين العربى said:

للتوضيح انا بسجل البيانات في جدول وبرحلها في جدول ثاني  علشان اظبط فيها حقول الافلاس من 0.5 الي 5 وحقل النسبة من مثلا 23 الي %23

جرب هذا الكود ..............

Sub UpdateRecords()
    Dim db As DAO.Database
    Dim strSQL As String
    
    ' تعيين قاعدة البيانات الحالية
    Set db = CurrentDb

    ' تحديث حقل ITEM_PRES_DK (إزالة 0. والاحتفاظ فقط بالرقم بعد العلامة العشرية)
    strSQL = "UPDATE TAEBOL_TEST SET ITEM_PRES_FK = ITEM_PRES_FK * 10 WHERE ITEM_PRES_FK < 1;"
    db.Execute strSQL, dbFailOnError

    ' تحديث حقل النسبة (إضافة % إلى الرقم)
    strSQL = "UPDATE TAEBOL_TEST SET NASBA_2 = NASBA_2 & '%';"
    db.Execute strSQL, dbFailOnError

    ' تحرير الذاكرة
    Set db = Nothing

    MsgBox "تم تحديث السجلات بنجاح!", vbInformation
End Sub

 

  • Like 1
  • Thanks 1
قام بنشر (معدل)
' تحديث حقل ITEM_PRES_DK (إزالة 0. والاحتفاظ فقط بالرقم بعد العلامة العشرية)
    strSQL = "UPDATE TAEBOL_TEST SET ITEM_PRES_FK = ITEM_PRES_FK * 10 WHERE ITEM_PRES_FK < 1;"
    db.Execute strSQL, dbFailOnError

تحديث النسبة شغال ولاكن تحديث الفلس  اذا كان اكثر من رقم يتحول خطأ مثلا لو المبلغ 0.99 يحوله الي 9.9 ولو 0.995 يحوله 9.95 واي مبلغ اكثر من ثلاث ارقام في الافلاث

تمام استاذي الفاضل بس ياريت يكون استعلام تحديث

تم تعديل بواسطه حسين العربى
قام بنشر
27 دقائق مضت, ابو عارف said:

هذا مثال حسب فهمي من السؤال 

من جدول

image.png.75675e2333071ce2c503bc1f4b1503c2.png

الى استعلام

image.png.663852605050c34542f3463a47cac5d9.png

المرفق

TEST1.accdb 488 kB · 1 download

تمام استاذي الفاضل هذا هو المطلوب بس ياريت يكون استعلام تحديث

7 ساعات مضت, kanory said:

جرب هذا الكود ..............

Sub UpdateRecords()
    Dim db As DAO.Database
    Dim strSQL As String
    
    ' تعيين قاعدة البيانات الحالية
    Set db = CurrentDb

    ' تحديث حقل ITEM_PRES_DK (إزالة 0. والاحتفاظ فقط بالرقم بعد العلامة العشرية)
    strSQL = "UPDATE TAEBOL_TEST SET ITEM_PRES_FK = ITEM_PRES_FK * 10 WHERE ITEM_PRES_FK < 1;"
    db.Execute strSQL, dbFailOnError

    ' تحديث حقل النسبة (إضافة % إلى الرقم)
    strSQL = "UPDATE TAEBOL_TEST SET NASBA_2 = NASBA_2 & '%';"
    db.Execute strSQL, dbFailOnError

    ' تحرير الذاكرة
    Set db = Nothing

    MsgBox "تم تحديث السجلات بنجاح!", vbInformation
End Sub

 

كود ممتاذ شكرا لك استاذي الفاضل 

قام بنشر (معدل)

إذا الكسر مقتطع من رقم كسري مثلا 6.5 فهذا يعني ستة دينار ونصف الدينار وبما أن الدينار يساوي 1000 فلس فنصفها يعني 500 فلسا وليس خمسة فلوس.

ثم أن جمع فلس فلوس وليس أفلاس
عموما وجود الفاصلة العشرية في الفلوس شيء غريب.
على كل كان الحل عندك وبأكثر من خيار ولكن يبدو أنك لم "تهضمه".
يفضل أن لا تتجاهل أي واحد ممن سعى لخدمتك حتى وإن لم تجد في محاولته مبتغاك، كلامي للكل وليس لي.

جرب أن تشغل الاستعلام أكثر من مرة وأعد مراجعة النتائج.
موفق.

تم تعديل بواسطه AbuuAhmed
  • Thanks 1
قام بنشر

كل الشكر والتقدير والاحترام لك ولجميع من ساهم في طرح الحلول ..

من وجهة نظري الشخصية المتواضعة ؛-

1.  بناء على الحلول فإنه لا فائدة من إبقاء الحقل الخاص بالفلس بوحدة "Double" !!

2.  جرب مثلاً ان تكون إحدى القيم 0,05 على سبيل المثال لا الحصر ، كم ستكون النتيجة !!!

3.  أعتقد - واعتقادي غير ملزم - بأن الصحيح والمنطقي هو الإهتمام بمصدر بيانات الحقل ، فهو كفيل بتحقيق أهدافك دون الحاجة لعناء إجبار الحقل على تحديث قيمه من خلال استعلام. ولكن بما أنك أوضحت أن المصدر هو سجلات موجودة مسبقاً ، فقد تسقط لديك هذه النقطة.

 

شكراً لكم ، والحمد لله انك وجدت الحل 😇🤗 .

  • Thanks 1
قام بنشر

استاذي ومعلمي الفاضل AbuuAhmed لك كل الشكر والتقدير مني والشكر لكل من ساهم في حل موضوعي  وكلكم مشاء الله قدمتم حلول جميله ولكم مني كل الاحترام والتقدير

ولكن انا اختر مايناسب طلبي  بارك الله فيكم جميعا وجزاكم الله خيرا الجزاء وساموحني ان كنت اسأت في شي

قام بنشر (معدل)
15 ساعات مضت, شايب said:

عد تنفيذ الاستعلام 4 مرات

حسب طلب صاحب موضوع لديه 1000 سجل مراد تعديله و لكن اذا اراد تشغيل استعلام بين فترات على نفس جدول يمكن يستسني قيم معدلة مسبقا و تعديل الاستعلام الى:

UPDATE TAEBOL_TEST SET TAEBOL_TEST.ITEM_PRES_FK = IIf([ITEM_PRES_FK]<1 And 
[ITEM_PRES_FK] Like "*.*",[ITEM_PRES_FK]*(1 & String(Len([ITEM_PRES_FK])
-InStr([ITEM_PRES_FK],"."),"0")),[ITEM_PRES_FK]), TAEBOL_TEST.NASBA_2 =
 IIf([NASBA_2] Like "*%*" Or Len(Nz([NASBA_2]))=0,[NASBA_2],[NASBA_2] & "%");

 

تم تعديل بواسطه ابو عارف

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