PDA

View Full Version : یه مشکل عجیب در Access و vb



riyahiyan
پنج شنبه 04 خرداد 1385, 08:52 صبح
من یک جدول با دو فیلد "کد" و "کالا" دارم,وقتی مقادیر نام رو در Access با همان مقادیر در VB مقایسه میکنم برابر نیستند.به کد زیر توجه کنید:



سبزی ' st1=ts!Nam
(vbtestCompare,"سبزی", p=strcomp(st1



در اینجا اگر p=0 باشه یعنی این دو برابرند ولی همواره p<>0 است.
نکته اینکه این مشکل وقتی ظاهر میشه که من عبارت "سبزی" رو در جدول بطور دستی درج میکنم و اگر توسط vb در جدول قرار بگیره مشکلی پیش نمیاد.

MM_Mofidi
چهارشنبه 10 خرداد 1385, 13:38 عصر
اینها را چک کن
1- trim
2- codepage

Milad Mohseny
چهارشنبه 10 خرداد 1385, 15:07 عصر
من هم همین مشکل رو هم با اکسس و هم با SQL داشتم و علت آن هم این است وقتی دستی اطلاعات رو وارد میکنید به صورت یونی کد ذخیره نمی شود .

riyahiyan
چهارشنبه 10 خرداد 1385, 19:51 عصر
اینها را چک کن
1- trim
2- codepage

مشکل از Trim نیست اما CodePage چیه؟

riyahiyan
چهارشنبه 10 خرداد 1385, 19:56 عصر
من هم همین مشکل رو هم با اکسس و هم با SQL داشتم و علت آن هم این است وقتی دستی اطلاعات رو وارد میکنید به صورت یونی کد ذخیره نمی شود .
شما چطور این مشکلو حل کردید؟

Milad Mohseny
چهارشنبه 10 خرداد 1385, 23:39 عصر
شما چطور این مشکلو حل کردید؟
از داخل ویبی اطلاعات را به بانک فرستادم . و در SQL هم حتماً قبل از ارسال مقداربه فیلد های متنی مثل Nvarchar گذاشتن N را فراموش نکنید . 'تست'N

riyahiyan
پنج شنبه 11 خرداد 1385, 09:59 صبح
میلاد جان از راهنمایی مفیدت ممنونم آیا در مورد CodePage که دوستمون MM_Mofidi گفتند اطلاعاتی داری.

MM_Mofidi
پنج شنبه 11 خرداد 1385, 12:04 عصر
CodePage به نحوه ذخیره سازی (استاندارد) مربوطه اتلاق میشود Unicode یک کدپیج است که شامل تمام کاراکتر های زبانهای گونا گون میشود برای اطلاعات بیشتر و زبانهای مورد پشتیبانی هر CodePage به msdn مراجعه کنید.
برای رفع این مشکل پیشنهاد میکنو در MSACCESS جدول خودتون را با CodePage مورد نظر ساخته و ذخیره کنید تا هنگام ورود دستی هم دچار مشکل نشوید مثلا از UTF-8 استفاده کنید.
یا در برنامه vb قبل از مقایسه تبدیل کنید به مثلا Unicode بعد مقایسه کنید.

riyahiyan
پنج شنبه 11 خرداد 1385, 12:17 عصر
MM_Mofidi جان ممنون کم کم بحث داره روشن تر میشه . CodePage در اکسس چطوری تنظیم میشه و در VB چطور یونی کدها رو تبدیل میکنن؟

MM_Mofidi
پنج شنبه 11 خرداد 1385, 12:57 عصر
سوال سخت نکن حال ندارم توضیح بدم.
در مورد اولی یکم همینجا بگرد فکر کنم شاپرک قبلا توضیح داده بود چه جوری CodePage در
اکسس تنظیم میشه
برای تبدیل هم هم میشه از Api استفاده کرد هم برای Unicode از ChrW و تباوبع مربوطه

riyahiyan
پنج شنبه 11 خرداد 1385, 23:23 عصر
سوال سخت نکن حال ندارم توضیح بدم.
فکر نکنم نیازی باشه ما رو از روحیاتت باخبر کنی


برای تبدیل هم هم میشه از Api استفاده کرد هم برای Unicode از ChrW و تباوبع مربوطه
ممنون