PDA

View Full Version : اشکال font فارسی در Win2000



majid325
شنبه 21 مرداد 1385, 16:59 عصر
سلام :
مشکل من این است که در روی قسمت Details فرمم یک گرید دارم که به محض وارد کردن ID در قسمت Master , آن گرید در ستون اولش 100 رکورد که شامل یکسری اسامی که خودم در کد به صورت String ثابت تعریف کردم ثبت میشود , حالا فونت این String ها که به صورت فارسی است
در ٌWinXP و Win2003 که روی سیستم خودم است مشکلی ندارد ولی در Win2000 که برای کاربر است مشکل دارد و به صورت " إبری"( أجق وجق) نوشته می شود . با تشکر

majid325
شنبه 21 مرداد 1385, 22:36 عصر
دوستان حالا که سئوالم اینقدر سخت است که کسی نتونست کمکم کنه حالا اگر میشه من را راهنمایی کنید که برای نداشتن مشکل فونت فارسی در Win2000 چه چیز هایی باید در Win2000 اعمال شود (لطفأ به طور کامل) با تشکر

سنبله کار
یک شنبه 22 مرداد 1385, 08:57 صبح
دوست عزیز مشکل شما فونت نیست همین اشکالی که گفتید را در winxp هم می تونید داشته باشید به شرطی که زبان سیستم را فارسی نکرده باشید و در تب سوم regional and language option گزینه فارسی را انتخاب نکرده باشید .
نتیجه می گیریم اگر عکس این کار را در win2000 انجام بدهید قاعدتا باید مشکل رفع شود .
البته اگر اسامی مورد نظرتون رو در یک جدول میگذاشتید و با اجرای SP اونها رو به مقصد مورد نظرتون می فرستادید بهتر بود .

majid325
یک شنبه 22 مرداد 1385, 12:56 عصر
جناب سنبله کار عزیز:
اول دست شما درد نکند ....دوم در تب سوم regional and language option گزینه فارسی را انتخاب شده.من هم دنبال همچین راه حلی میگشتم ولی به جایی نرسیدم لطفأ در مورد اون جدول و اجرای SP بیشتر توضیح چون من تا حالا با این روش کار نکردم..
با تشکر

سنبله کار
یک شنبه 22 مرداد 1385, 13:06 عصر
شما می توانید SP خود را به این صورت تعریف کنید تا از Table1 که در آن اسامی را در فیلد Name قرار داده اید به Table2 و فیلد Name2 وارد کند .

INSERT INTO dbo.Table2 (Name2 )
SELECT Name
FROM dbo.Table1
موفق باشید

majid325
یک شنبه 22 مرداد 1385, 14:20 عصر
جناب سنبله کار دست شما خیلی خیلی درد نکند ولی من این کوئری را دقیقأ کجا باید بنویسم
در ضمن من db را به صورت cuorendb تعریف کردم وبا یک Recordset کار میکنم.با تشکر فراوان

سنبله کار
یک شنبه 22 مرداد 1385, 14:45 عصر
خواهش می کنم
شما می توانید کد بالا را داخل گیومه "..." بعد از دستور docmd.runsql در قسمت کد نویسی vba بکار ببرید .

majid325
یک شنبه 22 مرداد 1385, 16:47 عصر
جناب سنبله کار من این دستور را برای تست داخل یک Command نوشتم ولی Syntax Error از من گرفت
DoCmd.RunSQL "INSERT INTO dbs1.Tb_bar(Mavad) SELECT Mavad FROM dbs1.Tb_mavad(mavad)"
1-dbs1 آیا نام Connection است ؟
2-من باید بعد از وارد شدن ID در master درگریدم 130 اسم در یک ستون وارد کنم..آیا این کد
جواب میده یا بعد از هر Insert باید Update هم بکنم و اینکه برای ترتیب قرار گرفتن اسمها ,من در جدول Tb_mavad فیلد ID هم گزاشتم ,شرط where را برای برقراری این ترتیب چگونه باید بگزارم ؟ با تشکر

majid325
یک شنبه 22 مرداد 1385, 22:14 عصر
لطفأ اگر امکانش است یک نمونه کوچک از access بزارید...چون کارم خیلی خیلی گیر است
با تشکر.

majid325
دوشنبه 23 مرداد 1385, 08:16 صبح
این نمونه کدی که من استفاده میکنم حالا کد شما را کجا باید به کار ببرم؟
Private Sub ID_BeforeUpdate(Cancel As Integer)
Z = 0
For Z = 1 To 138

rs_bar.AddNew

rs_bar("CODE") = Z
rs_bar("ID") = Form_Tb_name.ID.Text

Select Case Z
Case 1
rs_bar("mavad") = ""

Case 2
rs_bar("mavad") = "äÇä ÈÑÈÑí"
Case 3
rs_bar("mavad") = "äÇä Óäß"
Case 4
rs_bar("mavad") = "äÇä ÊÇÝÊæä"
Case 5
rs_bar("mavad") = "äÇä ÈǐÊ"
Case 6
.
.
.
.
Case 135
rs_bar("mavad") = "ÍáæÇ ÔßÑí"
Case 136
rs_bar("mavad") = "پíÑÇÔßí"
Case 137
rs_bar("mavad") = "چÇí"
Case 138
rs_bar("mavad") = "Þåæå"

End Select

rs_bar.Update
Next Z

End Sub

سنبله کار
دوشنبه 23 مرداد 1385, 09:08 صبح
جناب سنبله کار من این دستور را برای تست داخل یک Command نوشتم ولی Syntax Error از من گرفت
DoCmd.RunSQL "INSERT INTO dbs1.Tb_bar(Mavad) SELECT Mavad FROM dbs1.Tb_mavad(mavad)"
1-dbs1 آیا نام Connection است ؟
2-من باید بعد از وارد شدن ID در master درگریدم 130 اسم در یک ستون وارد کنم..آیا این کد
جواب میده یا بعد از هر Insert باید Update هم بکنم و اینکه برای ترتیب قرار گرفتن اسمها ,من در جدول Tb_mavad فیلد ID هم گزاشتم ,شرط where را برای برقراری این ترتیب چگونه باید بگزارم ؟ با تشکر
1- کدتون باید به این صورت اصلاح بشه
Private Sub ID_BeforeUpdate(Cancel As Integer)
DoCmd.RunSQL "INSERT INTO Tb_bar ( Mavad )SELECT Tb_mavad.mavad FROM Tb_mavad;"
End Sub
2-dbs1 ضروری نیست شما هم ازش استفاده نکنید
3-این کد همه اطلاعات را در یک لحظه insert می کند پس نیازی به update ندارید .
4- شرط where در انتهای کد می آید .

majid325
دوشنبه 23 مرداد 1385, 09:31 صبح
با سلام :
آقای سنبله کار عزیز:
دست شما درد نکنه ولی این پیغام را میده:

سنبله کار
دوشنبه 23 مرداد 1385, 09:35 صبح
تعداد رکورد موجود در table مرجعتون 148 تا بوده که می تونید اصلاحش کنید .
اگه می خواهید این پیغام نیاد setwarning را قبل از کد off کنید و بعد دوباره on کنید .

majid325
دوشنبه 23 مرداد 1385, 09:38 صبح
خیلی ممنون.... ولی هیچ فیلدی در گیرید من ثبت نمیشود

سنبله کار
دوشنبه 23 مرداد 1385, 09:42 صبح
به جدول مقصد نگاه کنید اگه اطلاعات insert شده باید زیرفرم را requery کنید اگه باز هم دیده نشد معلوم میشه فیلد ارتباطی با فرم اصلی در جدول مقصد پر نشده .

majid325
دوشنبه 23 مرداد 1385, 09:43 صبح
مرسی امتحان میکنم.

سنبله کار
دوشنبه 23 مرداد 1385, 09:46 صبح
اگه باز جواب نداد من در خدمتم

majid325
دوشنبه 23 مرداد 1385, 09:47 صبح
با این دستور:
DoCmd.Requery (Form_Tb_bar1)

خواهش میکنم آقای سنبله کار خدمت از ماست شما لطف میکنید.

سنبله کار
دوشنبه 23 مرداد 1385, 09:48 صبح
آفرین همینه

majid325
دوشنبه 23 مرداد 1385, 09:57 صبح
به این خط که میرسه Error میگیره
DoCmd.Requery (Form_Tb_bar1)

mohammadgij
دوشنبه 23 مرداد 1385, 10:01 صبح
با این دستور



Form_Tb_bar1.Requery

سنبله کار
دوشنبه 23 مرداد 1385, 10:06 صبح
بله این کد بهتره اینو امتحان کنید .

majid325
دوشنبه 23 مرداد 1385, 10:08 صبح
با دستوری که آقای محمد داد هم که اجرا میکنم Error نمیگیره ولی باز هم در Tabel ثبت میشه ولی در گیرید نمیاد...آقا محمد دست شما بابت راهنمایی درد نکنه

سنبله کار
دوشنبه 23 مرداد 1385, 10:10 صبح
اصلا یک بار فرم را باز و بسته کنید ببینیم اسامی وارد دیده می شن یا نه اگه نشد باید ببینید relastion صحیح است یا نه .
اگه دست آخر نشد یک نمونه اینجا بگذارید تا با هم درستش کنیم .

majid325
دوشنبه 23 مرداد 1385, 10:17 صبح
جناب سنبله کار دست شما درد نکنه در ضمن میشه چک کنید ببینید که چرا Z مواقع از صفر شروع نمیشه؟

سنبله کار
دوشنبه 23 مرداد 1385, 10:19 صبح
ببخشید من متوجه منظورتون نشدم

majid325
دوشنبه 23 مرداد 1385, 10:23 صبح
جناب سنبله کار دست شما درد نکنه در ضمن میشه چک کنید ببینید که چرا Z بعضی مواقع از صفر شروع نمیشه؟

نمیدون چرا فایل ضمیمه آپلود نمیشه؟
لطفأ بزارید یک بار دیگر سعی کنم آپلود بشه!

majid325
دوشنبه 23 مرداد 1385, 10:42 صبح
نمیدانم چرا موقع آپلود Invalid File میده فایل من هم zip است.

majid325
دوشنبه 23 مرداد 1385, 10:46 صبح
ببخشید.....حالا شد.

سنبله کار
دوشنبه 23 مرداد 1385, 10:47 صبح
می بینمش به محض گرفتن نتیجه پاسخ می دم

majid325
دوشنبه 23 مرداد 1385, 10:51 صبح
خیلی ممنون..

سنبله کار
دوشنبه 23 مرداد 1385, 10:59 صبح
بله مشکل همونی بود که حدس می زدم شما رکورد ID را خالی گذاشتید با این کد درست میشه نیازی هم به Z ندارید .
Private Sub ID_BeforeUpdate(Cancel As Integer)
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Tb_bar ( Mavad, ID )SELECT Tb_mavad.mavad, " & ID & " FROM Tb_mavad;"
Form_Tb_bar1.Requery
DoCmd.SetWarnings True
End Sub

majid325
دوشنبه 23 مرداد 1385, 11:05 صبح
جناب سنبله کار واقعأ دست شما درد نکند شما بابت مشکل من خیلی زحمت کشیدین
ومشکل من حل شد .. انشاالله در همه کارهایتان موفق باشید...

majid325
دوشنبه 23 مرداد 1385, 11:36 صبح
جتاب سنبله کار با عرض معذرت میشه راجع به استراکچر کد هم توضیح بدهید..با تشکر
1- Tb_bar ( Mavad, ID )
2- SELECT Tb_mavad.mavad, " & ID & "
3- آیا & ID & از Master می آید
4- اگر بخواهیم Tb_bar.code با فیلد Tb_mavad.id پر شود آنوقت چطور... خیلی ممنون

majid325
دوشنبه 23 مرداد 1385, 11:51 صبح
جناب سنبله کار دست شما درد نکنه متوجه شدم..خیلی ممنون

سنبله کار
دوشنبه 23 مرداد 1385, 14:18 عصر
موفق باشید

majid325
سه شنبه 24 مرداد 1385, 08:14 صبح
http://www.barnamenevis.org/forum/showthread.php?t=50616جناب آقای سنبله کار لطفا میشه بیاین به این لینک.... با تشکر


مطالب زیر ادامه لینک بالا است............

majid325
سه شنبه 24 مرداد 1385, 09:16 صبح
بله دقیقأ همینطور است که شما میگید .

majid325
سه شنبه 24 مرداد 1385, 09:21 صبح
ببخشید آقای سنبله کار میشه یک نگاهی به برنامه بکنید؟
بعد از اینکه روی combo ملاحظات که در رکورد 21 قرار دارد کلیک میکند یک فرم دیگه باز میشه
که من این کد را برای آن فرم میخوام.....با تشکر فراوان

سنبله کار
سه شنبه 24 مرداد 1385, 09:35 صبح
جالبه لطفا مشکلتون رو یکبار دیگه بگید
ضمنا password ؟

majid325
سه شنبه 24 مرداد 1385, 09:42 صبح
فکر کنم اگر اگر کد را نگاه کنید راحت تر متوجه مشکل میشوید تا من توضیح دهم!
Password = 5230028

سنبله کار
سه شنبه 24 مرداد 1385, 10:16 صبح
خیلی پیچیده نوشتید :گیج:
آیا شما می خواهید وقتی Form21 باز شد رکورد جاری همان code 21 باشد تا تغییرات را روی اون انجام بدهید .

majid325
سه شنبه 24 مرداد 1385, 10:26 صبح
ببخشید دیگه .... کد یه خورده مبتدی نوشته شده...
بله هم code21 هم id جاری.....

سنبله کار
سه شنبه 24 مرداد 1385, 10:43 صبح
بعد از این کد DoCmd.OpenForm stDocName
اینها رو اضافه کنید
Form_Form21.RecordSource = "SELECT Tb_bar.* FROM Tb_bar WHERE (((Tb_bar.ID)='" & ID & "') AND ((Tb_bar.code)='" & code & "'));"
Form_Form21.Requery

majid325
سه شنبه 24 مرداد 1385, 10:46 صبح
در ضمن یک اشتباه در کد Form_21 است فیلد m1 برای Check1 و Check2 است و به طور اشتباه
من برای همهCheck ها قرار دادم...ببخشید ...با تشکر

majid325
سه شنبه 24 مرداد 1385, 10:54 صبح
ببخشید آقای سنبله کار من این کد را هم اضافه کردم ولی هنوز مثل قبل است و در رکورد مورد نظر ثبت نمیشود.... با تشکر

سنبله کار
سه شنبه 24 مرداد 1385, 12:07 عصر
ولی برای من جواب داد .
نمونه اصلاح شده رو اینجا گذاشتم .

majid325
سه شنبه 24 مرداد 1385, 12:27 عصر
خیلی ممنون با نمونه شما تست میکنم........

majid325
سه شنبه 24 مرداد 1385, 12:38 عصر
دست شما درد نکنه .....ولی شما هم جدول Tb_bar را چک کنید در جدول ثبت میشه ولی نه
در رکوردی که code آن مساوی با 21 است و ID جاری .........خیلی ممنون

سنبله کار
سه شنبه 24 مرداد 1385, 12:48 عصر
چک کردم code 25 و ID 1 فیلد m2 برابر true شد

majid325
سه شنبه 24 مرداد 1385, 13:04 عصر
شاید شما منظور من را متوجه نشدید....در گرید ما بیشتر از 100 رکورد است که در جدول Tb_bar ذخیره میشوند ,حالا ما میخواهیم وقتی کاربر روی combo ملاحظات( که محتوای آن در m1 ذخیره میشود )کلیک کرد یک فرم باز شود و m1 از آن فرم مقدار دهی شود , خوب در این حالت ما در واقع میخواهیم رکوردی از جدول Tb_bar.m1 را که رکورد جاری است (که همیشه فیلد code این رکورد مساوی با 21 است و ID هم که ID جاری است)را edit کنیم بطوری که فقط
m1 مقدار جدید در این رکورد بگیرد ..... با تشکر


چک کردم code 25 و ID 1 فیلد m2 برابر true شد

ولی اینطور نیست ... شما خود جدول Tb_bar را نگاه کنید.... با تشکر

سنبله کار
سه شنبه 24 مرداد 1385, 13:17 عصر
یعنی می خواهید m1 جبای m2 مقدار true بگیرد ؟

majid325
سه شنبه 24 مرداد 1385, 13:30 عصر
نه فعلا راجع به m2 بحث نمیکنیم ... m2 وضعییتش مثل m1 هست ... ولی اصلا فیلد m1 در رکوردی کهID برابر باشه با ID جاری و code برابر باشه با 21 مقدار نمیگیره بلکه در یک رکورد جدید
که مقدار id و سایر فیلد ها برابر با null مقدار میگیره و من نمیخوام به این صورت باشه میخوام در رکوردی که ID برابر باشه با ID جاری و code برابر باشه با 21 مقدار بگیره ... خیلی ممنون

سنبله کار
سه شنبه 24 مرداد 1385, 13:37 عصر
من این فایلو تست کردم و چیزی را که شما میخواستید جواب داد .
حال اگر برای شما کار نمی کند پیشنهاد می کنم از دیگر دوستان بخواهید چک کنند و نتیجه را اعلام کنند .

majid325
سه شنبه 24 مرداد 1385, 13:44 عصر
دست شما در نکنه شما خیلی خیلی زحمت کشیدید ولی به عکس زیر نگاه کنید
چرا در جدول من به این صورت است؟ با تشکر فراوان

سنبله کار
سه شنبه 24 مرداد 1385, 13:50 عصر
خواهش می کنم شما هم یک نگاه به این بکنید

majid325
سه شنبه 24 مرداد 1385, 13:54 عصر
ببخشید آقای سنبله کار متوجه نشدم منظورتون چی هست ....

سنبله کار
سه شنبه 24 مرداد 1385, 13:57 عصر
شما وقتی روی m1 که یک چک باکس هست کلیک می کنید مقدار منهای 1 یا tyrue مده اما توی تصویر شما چیز دیگری اومده بود و در تصویر من مقدار در مقابل رکورد با ID 1 و code 21 درست وارد شده .
شما باید برای رسیدن به منظورتون که در تصویر نشون دادید راه دیگری را بروید .
بهر حال اگه جدولی رو که تصویرش رو نشان دادید پیینشو نگاه کنید این نکته را خواهید دید .

majid325
سه شنبه 24 مرداد 1385, 14:03 عصر
بله حق با شماست ولی در کد زیر من گفتم (در شرطم ) که مقدار فیلد combo.text که 1id آن برابر با 3001 (با پوست) در m1 ذخیره شود ولی همان طور که در عکس بالا مشاهده میکنید مقدار(با پوست) در رکورد null ذخیره شده.
در ضمن نمیدانم در برنامه متوجه شدید که چند جدول به صورت hide درآمده و جلوی چشم نیست( از جمله جدول combo)

INSERT INTO Tb_bar ( m1 ) SELECT combo.text FROM combo Where id1 in (3001) AND Tb_bar.ID = " & Form_Tb_name.ID

در ضمن این کوئری زمانی اجرا میشود که چک باکس تیک خورده باشد.
و من اصلا نمدانم منهای یک چرا و چگونه ثبت میشود منهای یک فقط قرار است
عملگر شرط باشد.

majid325
سه شنبه 24 مرداد 1385, 14:59 عصر
شما باید برای رسیدن به منظورتون که در تصویر نشون دادید راه دیگری را بروید .

ببخشید این تایپیک هم به خاطر سئوال های پی در پی من خیلی طولانی شد و هم خیلی سر شما را درد آوردم آقای سنبله کار ....با عرض معذرت اگه راه دیگه ای بای برم میشه من را راهنمایی کنید ... من میخوام جای اون منهای یک, یک String فارسی بره ... با تشکر

سنبله کار
سه شنبه 24 مرداد 1385, 15:04 عصر
ببخشید من دارم میرم جایی اگه دوستان دیگه تونستند کمکتون می کنن اگه نه فردا در خدمتتون هستم .

majid325
سه شنبه 24 مرداد 1385, 15:07 عصر
خواهش میکنم ... شما لطف دارین..
خدمت از ماست .... شما زحمت میکشین

سنبله کار
چهارشنبه 25 مرداد 1385, 08:59 صبح
سلام
الان که نگاه کردم فهمیدم منظورتون چیه
شما باید بجای insert از update استفاده کنید
اگر یک query از نوع update درست کنید می تونید روش کار رو پیدا کردهد و sql اونرو داخل کد قرار بدید .

majid325
شنبه 28 مرداد 1385, 19:40 عصر
با سلام آقای سنبله کار :
با عرض شرمندگی میشه بگین چی جوری این کوئری را تبدیل به update بکنم .... با تشکر



"INSERT INTO Tb_bar ( m1 ) SELECT combo.text FROM combo Where id1 in (3000) AND Tb_bar.ID = " & Form_Tb_name.ID

majid325
شنبه 28 مرداد 1385, 22:08 عصر
آقای سنبله کار خواهشن در حاشیه مطالب قبلی که شما در جریانشان هستید میشه یک سری به این لینک بزنینhttp://www.barnamenevis.org/forum/showthread.php?p=257538#post257538
با تشکر