View Full Version : سوال: جدا کردن کاراکتر "/" در کوئری
IMANAZADI
جمعه 04 مرداد 1392, 22:36 عصر
با سلام
یک جدول داریم شامل یک فیلد بنام شماره نقشه که بصورت 2/1 یا 3/2 وارد شده
چطوری میشه یک کوئری نوشت که کاراکتر "/" رو جدا کرد و دو عدد رو متمایز در دو ستون نمایش داد
ممنون
IMANAZADI
شنبه 05 مرداد 1392, 12:43 عصر
دوست عزیز منظورم اینطوری نبود اینو میخوام
IMANAZADI
یک شنبه 06 مرداد 1392, 13:01 عصر
دوست عزیز به عنوان یک برنامه نویس باید دیدت تو برنامه وسیع باشه
حال اگر جدول ما دارای دیتای زیر باشه بازم درست جواب میده
123/200
35445/96531
211/65465465
چطوری میشه فهمید که کاراکتر "/" چندمین کاراکترمون هست
من خیلی با replace , mid, len, right,left سرو کله زدم موفق نشدم
آیا تابعی هست که بگه کاراکتر "/" چندمین کاراکتر تکسمون هست
من با vba و دستور for انجام دادم ولی میخوا م بدونم تو کوئری و توابع داخلی چطور میشه انجام داد
hramezani
یک شنبه 06 مرداد 1392, 13:22 عصر
این کد رو پیدا کردم
Dim i As Integer Dim Pos As Integer Dim FindChar As String Dim SearchString As String SearchString = "teste" FindChar = "s" For i = 1 To Len(SearchString) If Mid(SearchString, i, 1) = FindChar Then Pos = i End If Next i MsgBox FindChar & " was Found at position " & Pos
و
Split(stringval,"/")(0)
IMANAZADI
یک شنبه 06 مرداد 1392, 13:42 عصر
دوست عزیز ممنون ولی گفتم با vba انجام داده بودم در کوئری میخواستم که خودم پیداش کردم
در یک ستون کوئری این تابع رو مینویسیم
Expr3: Left([mapcode];(InStr(1;[mapcode];"/")-1))
در ستون دیگه
Expr4: Right([mapcode];Len([mapcode])-(InStr(1;[mapcode];"/")))
تابع instr() هم برای پیدا کردن یک کاراکتر در رشته که مقدار عدد جایگاه رشته رو برمیگردونه
عجب کدی نوشتم نباید خودمو دسته کم بگیرم:تشویق::چشمک:
salambeshoma
یک شنبه 06 مرداد 1392, 22:33 عصر
سلام دوست عزیز طاعات عبادات قبول : شرمنده اگه بخوایم مثلا عدد 98912 رو به 0912 جدا کنه و بهمون بده چطور میشه اگه امکانش باشه روی فایلی که تو این تایپیک هست اصلاح بفرمایین ممنون
IMANAZADI
دوشنبه 07 مرداد 1392, 12:38 عصر
دوست عزیز منظورتون زیاد واضح نیست
اگر فقط همین 98912 هست
که باید این کد رو بنویسی
Expr2: "0"+Mid("98912";3;Len("98912"))
اگر کد ماقبل از 912 زیاد یا کم بشه باید تغییرات ایجاد کنی
salambeshoma
دوشنبه 07 مرداد 1392, 16:06 عصر
ممنون دوست خوبم درسته من ناقص عنوان کردم همینه که شما میفرمایید اعداد زیاد و متغیر هستش میشع براش کاری کرد بطور مثال 98912658741
IMANAZADI
سه شنبه 08 مرداد 1392, 12:45 عصر
دوست عزیز کد بالا که گذاشتم روی کد 98912658741 هم به درستی جواب میده
در پست بالا هم عرض کردم اگر کد ماقبل تغییر کنه باید کد رو دستکاری کنید
کد بعد از 98 هر چه باشد درست عمل میکند
ولی اگر کد ماقبل از 912 که 98 هست تعداد کاراکترهایش تغییر کند مثلا بشود 098 اونوقت کد درست جواب نمیده و باید به ازای هر کاراکتر اضافه یکی به 3 در کد بالا اضافه کنی
مثال
Expr: "0"+Mid("098912115533";4;Len("98912"))
salambeshoma
سه شنبه 08 مرداد 1392, 14:10 عصر
دوست عزیز ممنون کد رو تو کوئری ارسال می کنم ولی خطا میده میشه تو نمونه پیسوتی خودتون یه نگاه بکنین شاید من منظروم رو نتونستم برسونم ببینید من فقط میخوام 98 حذف شه و بجاش به بقیه اعداد صفر اضافه بشه متشکر
IMANAZADI
چهارشنبه 09 مرداد 1392, 12:51 عصر
دوست گرامی نمونه اصلاح شد
خدمت شما
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.