لدى حقل رقمي يتكون من تسعة أرقام وأرغب بتوزيع الأرقام على تسعة حقول في التقرير ... فهل من طريقة لذلك ؟
توزيع محتوى حقل رقمي
السلام عليكم
يجب عليك تحويل هذا الحقل الرقمي الى حرفي
ومن ثم تقطع هذه الارقام بواسطة الامر MID
ولتقطيع رقم مكون من تسعة ارقام الى تسعة مقاطع
اتبع الطريقة التالية :
Mid(Trim(Str(XNUM)), 1, 1)
Mid(Trim(Str(XNUM)), 2, 1)
Mid(Trim(Str(XNUM)), 3, 1)
Mid(Trim(Str(XNUM)), 4, 1)
Mid(Trim(Str(XNUM)), 5, 1)
Mid(Trim(Str(XNUM)), 6, 1)
Mid(Trim(Str(XNUM)), 7, 1)
Mid(Trim(Str(XNUM)), 8, 1)
Mid(Trim(Str(XNUM)), 9, 1)
ضع بدل XNUM حقلك الرقمي
شكرا جزيلا لك أخي العزيز ( قاصد كريم ) راجيا من الله عز وجل أن يوفقك ويزيدك علما وخيرا ويبارك لك
اخي العزيز قاصد كريم
السلام عليكم
يمكن شرح Trim من فضلك
نعم اخي
الـ trim عبارة عن دالة تقوم بحذف الفراغات التي على يمين العبارة الحرفية او يسارها .
مثلا لو كان عندك سلسلة حرفية بالشكل التالي :
" 123456789 "
يصبح بعد استخدام العبارة التالية "123456789"
لاحظ حذفنا الفراغات التي على اليمن واليسار
أخوي قاصد كريم هل من الممكن عمل مثال على ما قلته ووضعه هنا فالمثال مفيد جدا جدا شاكراً لك جهودك وبالتوفيق دوماً إن شاء الله
أقصد مثال على :-
Mid(Trim(Str(XNUM)), 1, 1)
Mid(Trim(Str(XNUM)), 2, 1)
Mid(Trim(Str(XNUM)), 3, 1)
Mid(Trim(Str(XNUM)), 4, 1)
Mid(Trim(Str(XNUM)), 5, 1)
Mid(Trim(Str(XNUM)), 6, 1)
Mid(Trim(Str(XNUM)), 7, 1)
Mid(Trim(Str(XNUM)), 8, 1)
Mid(Trim(Str(XNUM)), 9, 1)
وإذا حصل منك مثال على :-
===============
الـ trim عبارة عن دالة تقوم بحذف الفراغات التي على يمين العبارة الحرفية او يسارها .
مثلا لو كان عندك سلسلة حرفية بالشكل التالي :
" 123456789 "
يصبح بعد استخدام العبارة التالية "123456789"
============
فأنت رجل كريم ونحن نستاهل .. شاكراً لك مقدما ما تقدمه للجميع جعله الله في ميزان حسناتك
بارك الله فيك اخي قاصد كريم
شكرا لك(f) (f) (f)
' انشىء فورم جديد
' انشىء زر امر وضع في الحدث ( عند النقر )الكود التالي
Dim varX As Variant
Dim XNUM As Double
XNUM = InputBox("ادخل الرقم : ")
MsgBox Mid(Trim(Str(XNUM)), 1, 1)
MsgBox Mid(Trim(Str(XNUM)), 2, 1)
MsgBox Mid(Trim(Str(XNUM)), 3, 1)
MsgBox Mid(Trim(Str(XNUM)), 4, 1)
MsgBox Mid(Trim(Str(XNUM)), 5, 1)
MsgBox Mid(Trim(Str(XNUM)), 6, 1)
MsgBox Mid(Trim(Str(XNUM)), 7, 1)
MsgBox Mid(Trim(Str(XNUM)), 8, 1)
MsgBox Mid(Trim(Str(XNUM)), 9, 1)' الرقم الاول عبارة عن موقع بداية المقطع
' الرقم الثاني عبارة عن طول المقطع
أخي قاصد كريم
السلام عليكم
جرتب طريقتك وهي ناجحة وممتازة ولي سؤال أحتاج الإجابة عليه
عندي أربع حقول في نموذج ستوزع كل وحدة منها على 10 حقول أخرى بنفس طريقتك وجربت الطريقة وهي ناجحة ولكني لم أعرف كيف استخدمها لأربعة حقول في نفس الوقت ربما أخطيء في الكود لأني مبتدأ جداً وكذلك في نفس النموذج لدي حقلين تاريخ وسيوزع كل واحد منهم على ثلاثة حقول فكيف يوزع التاريخ .
ملاحظة هامة
العمل سيكون في نمذج وليس تقرير
النموذج يأخذ بياناته من استعلام ويتكون من أكثر من سجل وبالتالي أريده أن يعيد توزيع الأرقام بعد تغير قيمها في كل سجل ووضعت الكود في حدث عند الفتح والتنشيط والتحميل وكلها تعطي نفس الرقم في اول سجل وعند الانتقال إلى السجل الثاني لا يوزع الرقم الجديد بل يظل القديم ثابت .
أرجوا ألا أثقل عليك:o
هذا الموضوع مغلق.