View Full Version : سوال: مشکلات بوجود آمده پس از ارتقاء ویندوز XP به 7 در برنامه
G.hemati
سه شنبه 28 مرداد 1393, 15:22 عصر
با سلام خدمت تمامی اساتید و دوستان گرامی
من در برنامه ای که در شرکت با آن مشغول به کار هستیم پس از ارتقاء ویندوز XP به 7 در برنامه به مشکلاتی برخورد کردم که ممنون میشم راهنمایی بفرمایین.
- در نمودارهایی که من طراحی کرده بودم در ویندوز جدید یه سری از داده ها از کادر نمودار بیرون میزنه و نمایان نمیشه مانند تصویر زیر
- در مشکل دوم در کمبو باکسهایی که من از ماژول استاد امیری استفاده کردم و هنگام درج اطلاعات داده ها فیلتر میشه Error زیر رو نشون میده و داده ها فیلتر نمیشه
G.hemati
چهارشنبه 29 مرداد 1393, 22:55 عصر
دوستان کسی با مشکلات فوق برخورد نکرده و یا راه حلی به نظرشون نمیرسه
در ضمن سرعت برنامه شدیداً افت کرده آیا ویندوز 7 راهی برای اجرای بی دردسر برنامه های اکسس نداره؟؟
ممنون میشم راهنمایی بفرمایین
G.hemati
شنبه 01 شهریور 1393, 22:28 عصر
دوستان نظری ندارن؟؟؟؟/
ariayekta
پنج شنبه 06 شهریور 1393, 04:36 صبح
سلام
ویندوز xp 32 بیت بوده؟
احتمالا ویندوز جدیدت 64 بیت هست یا بالعکس باید کدهاتو یکم تعییر بدی یا بری رو اون نسخه ای که درست اجرا میشده و از اکسس دولوپ استفاده کنی تبدیلش کنی به فایل اجرایی
G.hemati
پنج شنبه 06 شهریور 1393, 20:59 عصر
با تشکر از پاسختون دوست گرامی
ویتدوز جدید 32 بیت است
یعنی اکسس با تغییر نسخه سیستم عامل اینقر باید افت سرعت پیدا کنه و تنظیمات به هم بخوره؟؟؟
راهی بجز تبدبل به فایل اجرایی وجود نداره؟؟
ariayekta
جمعه 07 شهریور 1393, 02:07 صبح
سلام
برای کند شدن دلایل مختلفی وجود داره باید تک تک بررسی کنی ببینی دلیلش چیه
اول از همه اگه میتونی تیبلات رو ببر رو اسکول
تو تیبلات سعی کن بجای نوشته از کد استفاده کنی
ار compact استفاده کن
اگه بخای اجرایی نکنی باید رو هر ویندوز کامپایل کنی
اگه دیتاهات خیلی زیادبشن و از تو تیبلت از کلمات زیاد استفاده کنی کند میشه و همچنین عکس . سعی کن عکسها رو بجای آپلود لینک بدی
و دلایل دیگه ولی من چند تا برنامه تحت شبکه با داده های فراوان و کاربران حدود 450 نفر دارم و اکسس بخوبی جواب میده و مشکل ندارم فقط به همین موارد که گفتم برخوردم و انجام دادم رفع شده
اگه خواستی فایلت رو بده تا یه نگاهی بهش بندازم شاید بتونم کمکی کنم
یه سوال : با فای اجرایی چه مشکلی داری خیلی خوبه که برنامت کاملا محافظت میشه و خراب هم نمیشه
البته دو نوع تبدیل به اجرایی داریم یکی همون روش معمول هست که همه استفاده میکنن و یکی هم دولوپ که دومی خیلی بهتره البته تو این روش فایل شما نصبی میشه ئ بعد از نصب یه فایل اجرایی به شما میده که خیلی از روش معمول بهتره
G.hemati
یک شنبه 09 شهریور 1393, 20:50 عصر
بسیار ممنون از راهنماییتون
من فایلم 2003 است و در ویندوز xp هیچ مشکلی وجود نداشت
تا وقتی که بخش IT به فکر ارتقاء سیستم ها افتاد و ویندوز 7 رو نصب کرد
از همون موقع مشکلات شروع شد
خیلی از نمودارهام به هم ریخته یه سری از کدها کار نمیکنه سرعت نیز پایین اومده مخصوصا در فرم جستجویی که طراحی کردم تا عمل فیلتر رو انجام بده و همچنین رفتن از یک فیلد به فیلد دیگر نیز با مکث انجام میشود
فایلم چون حجمش در حدود 800 مگابایت هست امکان دانلود ندارد
مشکلم با فایل اجرایی اینه که چون من در حین کار کردن و وارد کردن داده ها به دیتابیس، تغییرات مورد نیاز رو به برنامه اعمال میکنم . در صورت اجرایی کردن این امکان گرفته میشه
منظورتون از دولوپ کردن رو متوجه نشدم یعنی بلد نیستم ممنون میشم راهنمایی بفرمایین
byazdaani
دوشنبه 10 شهریور 1393, 14:10 عصر
با سلام
چند سئوال:
1-مشخصات سخت افزاری سیستمتون چیه؟(Ram و CPU و)
2-چند کاربر با برنامه کار میکنن؟
3-چند جدول دارد؟
4- بزرگترین جدولتون چند رکورد داره و روزی چند ترانس اکشن روش انجام میشه؟
5-برنامه اسپلیت شده؟(فرانت و بک دارد یا همه جداول و فرمها و گزارشها در یک فایل قرار دارند)
6- از کامپوننت یا اکتیوایکس خاصی استفاده کردی؟
جواب اینها رو با دقت بدین تا بهتر بهتون پیشنهاد بدم. هرچند حجم برنامه غیر معمول به نظر میرسد و نباید 800 مگ باشه.
ariayekta
دوشنبه 10 شهریور 1393, 17:23 عصر
یا خدا
800 مگ ؟؟؟ چه خبره
من یه برنامه دارم با بیش از 400 کاربر ( که البته به کمک دوستان تو همین سایت درست کردم) و رکوردهاش بالای میلیون هست و روزانه حدود 200 تا سیصد رکورد بهش اضافه میشه ولی حجمش وقتی تیبلها رو از رو اسکول بر میدارم لوکال میکنم هم بیش از 40 مگ نمیشه
G.hemati
پنج شنبه 13 شهریور 1393, 22:56 عصر
بیشتر حجم فایلم رو Ole است که حاوی فایلهای است که از ورد فراخوانی میکنم و ضمیمه برنامه میشود
وقتی این Ole رو حذف میکنم حجمش به 10 ال 15 مگ میرسه
byazdaani
دوشنبه 17 شهریور 1393, 21:54 عصر
اگز کمک میخای جواب سوالها رو اول بده.
wolfstander
سه شنبه 18 شهریور 1393, 09:43 صبح
سلام
این اشکال رو من روی تبدیل از ویندوز 32 به ویندوز64 بیت دارم
مثلاً کد به دست آوردن آی پی دیگه کار نمیکنه
مربوط به نسخه ویندوزت میشه
مجبور میشی همه شون رو پاک کنی تا برنامه ات درست کار کنه
در فرم جستجو ، وقتی فرم به صورت acdialog باز بشه، مشکل سرعتت حل میشه:لبخندساده:
چراشو نمیدونم
:افسرده:
لابد حکمتی داره
:چشمک:
G.hemati
جمعه 04 مهر 1393, 10:56 صبح
با سلام خدمت تمامی دوستان و اساتید محترم شرمنده یه مدت نبودم
در فرم جستجو ، وقتی فرم به صورت acdialog باز بشه، مشکل سرعتت حل میشه
:لبخندساده:
چراشو نمیدونم
این کار رو انجام دادم و جواب زیاد مثبت نبود
چند سئوال:
1-مشخصات سخت افزاری سیستمتون چیه؟(Ram و CPU و)
2-چند کاربر با برنامه کار میکنن؟
3-چند جدول دارد؟
4- بزرگترین جدولتون چند رکورد داره و روزی چند ترانس اکشن روش انجام میشه؟
5-برنامه اسپلیت شده؟(فرانت و بک دارد یا همه جداول و فرمها و گزارشها در یک فایل قرار دارند)
6- از کامپوننت یا اکتیوایکس خاصی استفاده کردی؟
جواب اینها رو با دقت بدین تا بهتر بهتون پیشنهاد بدم. هرچند حجم برنامه غیر معمول به نظر میرسد و نباید 800 مگ باشه.
من یه نمونه کم حجم درست کردم که موارد فوق در اون نقش زیادی ندارن
ولی همچنان در ویندوز 7 عمل جستجو با مکث انجام میشه
در حالی که در Xp سرعت این جستجو بسیار عالیه
لطفا دوستانی که امکانش رو دارن نمونه زیر رو در ویندوز 7 تست بفرماین کاملا محسوسه
m.elmi
جمعه 04 مهر 1393, 22:09 عصر
سلام - من تست کردم و مشکل واقعا وجود داره. بنظر می رسه باگ اکسس باشه. فیلد نام کالا رو توی جدول کلیدی کردم مشکل حل نشد. توی یه دیتابیس خالی، جدول و فرم تون رو Import کردم مشکل حل نشد. فیلتر رو مستقیما توی جدول اجرا کردم (از طریق Selection> Contains) سرعت خوب بود و مشکل از جدول نبود بنابر این مشکل از فرم تون بود. در نتیجه بعنوان آخرین راه فرم رو باز سازی کردم و مشکل حل شد. به این صورت که از ابتدا یه فرم خالی ساختم و ربطش دادم به جدول و ... کنترل جستجو رو قرار دادم و همون کدهای خودتون رو توی On Change گذاشتم و مشکل حل شد و مثل اونکه گفتین سرعت عالی است.
Property های دو فرم را مقایسه کردم تفاوتی که وجود داره: در فرمی که من درست کردم در حالت دیزاین در Property Sheet توی تب Data، محتوای فیلتر رو نشون می ده (که معمولا باید اینکار رو بکنه) ولی توی فرم شما اینکار رو انجام نمی ده و محتوای فیلتر خالیه (که غیر عادیه)
m.elmi
جمعه 04 مهر 1393, 22:23 عصر
با مقایسۀ بیشتر دو فرم مشکل حل شد:
شما در کنترل جستجو (TxtSerchNimeKala) مشخصۀ مربوط به Keyboard Language رو از "فارسی" به System تغییرش بدین مشکل حل می شه.
m.elmi
جمعه 04 مهر 1393, 22:41 عصر
فایل رو می فرستم :
Rasool-GH
جمعه 04 مهر 1393, 23:08 عصر
خیلی مسخره است که اکسس به همچین چیزایی حساسه . واقعا بعضی وقتا ادمو نا امید میکنه
G.hemati
جمعه 04 مهر 1393, 23:17 عصر
سلام دوست عزیز ممنون بابت زحمتی که کشیدی
مشکل سرعت حل شده ولی تعویض
مشخصۀ مربوط به Keyboard Language رو از "فارسی" به System نیز خودش دردسرهایی برای کاربر داره
برای حل این مشکل در رویداد Got Focus کنترل مربوطه خواستم با کد نویسی زبان رو تعویض کنم
برای این منظور کد Me.TxtSerchNimeKala.KeyboardLanguage = 1 قرار دادم که زبان رو به انگلیسی تغییر میده ولی شماره مربوط به فارسی رو پیدا نکردم
ممنون میشم دوستان راهنمایی بفرماین
m.elmi
جمعه 04 مهر 1393, 23:36 عصر
شمارۀ مربوط به فارسی 43 هست ولی مشکل رو حل نمی کنه (چون همون کار رو می خواهین با کد انجام بدین) باید از یه راه دیگه (مثلا از طریق API ویندوز) وارد بشین.
m.elmi
جمعه 04 مهر 1393, 23:42 عصر
خیلی مسخره است که اکسس به همچین چیزایی حساسه . واقعا بعضی وقتا ادمو نا امید میکنه
اکسس امتیازش اینه که یه مجموعه کار رو (دیتا و فرم و گزارش و ...) یکجا و تحت یه پکیج ارائه میده، ولی گاهی وقتا این میشه محدودیتش چون نمی تونه همۀ این پکیج رو توی شرایط مختلف و محیط های مختلف خوب ساپرت کنه.
m.elmi
شنبه 05 مهر 1393, 00:44 صبح
این فانکشن رو پیدا کردم و یه کم اصلاحش کردم تا تبدیل فارسی رو انجام بده. براحتی شیفت فارسی و انگلیسی ویندوز رو براتون انجام می ده. حالا اگه A_Farsi رو روی Got Focus صدا بزنین مشکل حل می شه و دیگه نیازی نیست که Keyboard Language مربوط به کنترل جستجو رو تغییر بدین.
البته اگه جایی هم خواستین فقط لاتین وارد کنین می تونین از A_Eng هم استفاده کنین.
Option Compare Database
Public Declare Function ActivateKeyboardLayout Lib _
"user32.dll" (ByVal myLanguage As Long, Flag As Boolean) As Long
'define your desired keyboardlanguage
'find your desired language at http://www.trigeminal.com/frmrpt2dap.asp
Public Const Farsi = 1065 'Farsi keyboard language layout
Public Const Eng = 1033 'english(united states)keyboard language layout
Public Sub A_Farsi()
'switch to your desired language
Call ActivateKeyboardLayout(Farsi, 0)
End Sub
Public Sub A_Eng()
'switch back to english(united states)
Call ActivateKeyboardLayout(Eng, 0)
End Sub
m.elmi
شنبه 05 مهر 1393, 00:50 صبح
فایل اصلاح شده:
byazdaani
پنج شنبه 10 مهر 1393, 15:30 عصر
نمیدونم شما چرا این مساله رو پیچیده کردین. من فقط کد برنامه اول رو که گذاشتین دیدم. منطق کارتون خوب نیست مخصوصا در بانک با رکورد زیاد.کد شما رو به صورت زیر اصلاح کردم ولی باز هم به خاطر روش کارتون خوب نیست. در ضمن روی ویندوز 7 امتحان کردم سرعتش خوب بود.(برنامه خودتون رو).کد پیشنهادی اول:(بهتره در رویداد keypress نوشته بشه)
Private Sub TxtSerchNimeKala_KeyPress(KeyAscii As Integer)
Dim S As String
S = Nz(Me.TxtSerchNimeKala.Text, "*")
Me.Filter = "KalaName like '*" & S & "*'"
Me.FilterOn = True
TxtSerchNimeKala.SelStart = Len(S)
End Sub
برای اینکه در رکوردهای بالا مشکل نخورید بهتره همین کد بالا رو در رویداد afterupdate بنویسید و 2 خط آخر رو حذف کنید. چون در حالت قبلی در یک کلمه 5 حرفی روال جستجو 5 بار تکرار میشه که خوب نیست. شما به احتمال زیاد سخت افزار کامپیوترتون پائینه.
G.hemati
پنج شنبه 10 مهر 1393, 20:25 عصر
با سلام
با این روش جستجو به صورت دقیق انجام نمیشه
در نمونه فوق شما عدد 10 رو تایپ کنید . ملاحظه میفرمایین که عدد 12 رو هم فیلتر میکنه
byazdaani
سه شنبه 15 مهر 1393, 19:15 عصر
دوست من شما کاری که گفتم رو یک بار تست کنید.اولین برنامه ای که گذاشتین رو فقط تغییر بدین و کدهایی رو که نوشتین در رویداد afterupdate بنویسین. دقیقا برنامه خود شما رو با همین تغییر تست کردم و این موردی که شما گفتین رو نداره. سرعتش هم خوبه. موردی که شما بهش برخوردین اگر به همراه 10 یک کاراکتر غیر عددی دیگه وارد کنید مشکل حله و 12 رو نشون نمیده. کلا وقتی فقط عدد رو با کاراکتر * وارد میکینید نتیجه درست نیست. به عبارت دیگر وقتی مورد جستجو عدد باشه با کاراکتر * که مخصوص رشته میباشد همچین خطاهایی دارید. نوشتن در keypress هم گفتم که توصیه نمیکنم ولی باز از Change بهتره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.