فروم تخصصی - پشتیبانی CPSD
جداسازی اعداد از یکدیگر - نسخه‌ی قابل چاپ

+- فروم تخصصی - پشتیبانی CPSD (http://cpsd.ir/forum)
+-- انجمن: آموزش (/forumdisplay.php?fid=9)
+--- انجمن: عمومی (/forumdisplay.php?fid=21)
+---- انجمن: توابع و کدهای مفید (/forumdisplay.php?fid=28)
+---- موضوع: جداسازی اعداد از یکدیگر (/showthread.php?tid=229)



جداسازی اعداد از یکدیگر - CPSD Admin - ۲۲ دي ۱۳۹۰ ۰۹:۵۱ عصر

با سلام

در برخی موارد این نیاز وجود داره که در اسناد ( گزارشات ) ارقام به صورتی مجزا به نمایش در بیان ( به صورت ذیل )

[تصویر:  Dividing%20Nums.png]

راه حل ساده و بسیار کارآمدی که در این خصوص وجود داره استفاده از دستور حلقه هستش
کد:
For i = 1 To 9
       Me("p" & i) = Mid(StrReverse(txtNum), i, 1)
Next i
دستور فوق اقدام به جداسازی اعداد 9 رقمی خواهد نمود در صورتی که مایل بودید تعداد ارقام رو تغییر بدید شما تنها نیاز دارید عدد 9 رو به عدد مد نظر تغییر داده و TextBox های متناظر رو در داخل گزارش به جهت جایگیری عدد ایجاد کنید

کد:
For i = 1 To 12
       Me("p" & i) = Mid(StrReverse(txtNum), i, 1)
Next i

[attachment=16]

موفق باشید Smile


RE: جداسازی اعداد از یکدیگر - chemvoice - ۲۲ اسفند ۱۳۹۰ ۰۹:۴۱ صبح

سلام دوست عزیز
لطفا در صورت امکان راهنمایی فرمایید چگونه این تابع را به تابعی تبدیل کنم که همین کار را برای حروف انجام دهد(مثلا برای تفکیک نام و نام خانوادگی در فرم ها)
در ضمن این نکته حائز اهمیت است که تعداد کاراکترهای نام و نام خانوادگی متغیر و متفاوت است مثلا اگر حلقه را 10 بار تکرار کنم ممکن است "نام" 7 کاراکتر داشته باشد.Huh
با تشکر از شما


RE: جداسازی حروف از یکدیگر - CPSD Admin - ۲۲ اسفند ۱۳۹۰ ۰۶:۱۵ عصر

سلام

دوست گرامی تنها تغییری که نیاز دارید حذف تابع StrReverse و تغییر کد به صورت زیر هستش

کد:
For i = 1 To 9
       Me("p" & i) = Mid(txtNum, i, 1)
Next i

در خصوص تعداد کاراکتر هم , همونطوری که در بخش اول هم توضیح داده شد , شما بر اساس احتمال بیشترین طول تعداد کاراکتر نام و نام خانوادگی , اقدام به ایجاد TextBox های متناظر در داخل گزارش خودتون کنید , تابع جایگزینی مناسب رو به عمل خواهد آورد

موفق باشید