ورود

View Full Version : سوال: restart کردن تایمرفرم اکسس



Shahramdindoust
جمعه 30 آبان 1399, 10:53 صبح
سلام دوستان
من یه فرمی دارم که میخام تایمر اون restart بشه یعنی صفر بشه و دوباره از اول شروع به شمارش کنه میشه در این زمینه کمکم کنید در ضمن صدم ثانیه شمار هم لازم دارم
خیلی ممنون

padide55
جمعه 30 آبان 1399, 11:23 صبح
تایمر درون برنامه گذاشته یا autonumberخود فایل هست؟
برنامه خودتون رو کپی و خالی کنید که فقط فرم مربوطه و جدولش باشه با تعدادی دیتای تمرین.
ضمیمه کنید

Shahramdindoust
جمعه 30 آبان 1399, 12:33 عصر
تایمر درون برنامه گذاشته یا autonumberخود فایل هست؟
برنامه خودتون رو کپی و خالی کنید که فقط فرم مربوطه و جدولش باشه با تعدادی دیتای تمرین.
ضمیمه کنید
بله بفرمایین.

padide55
جمعه 30 آبان 1399, 14:06 عصر
علی الحساب برای اون باتن که داخل فرم هست در رویداد on click
بنویسید



timecount=0

تایمر صفر میشه

ولی برای تایمر به میلی ثانیه باید مقدار time interval رو تغییر بدین و کمی هم کد نویسی برای تبدیل میلی ثانیه به ثانیه و دقیقه و ساعت میخواد . کمی کار میبره

eb_1345
جمعه 30 آبان 1399, 18:48 عصر
سلام دوستان
من یه فرمی دارم که میخام تایمر اون restart بشه یعنی صفر بشه و دوباره از اول شروع به شمارش کنه میشه در این زمینه کمکم کنید در ضمن صدم ثانیه شمار هم لازم دارم
خیلی ممنون
مثل نمونه ویدئو زیر میخواهی ؟
https://s17.picofile.com/file/8414700568/Timer.mp4.html

Shahramdindoust
جمعه 30 آبان 1399, 22:19 عصر
مثل نمونه ویدئو زیر میخواهی ؟
https://s17.picofile.com/file/8414700568/Timer.mp4.html

خیلی ممنون مشکل ری استارتم حل شد ولی ... این صدم ثانیه رو چیکار کنم

padide55
جمعه 30 آبان 1399, 22:42 عصر
ویدئو رو ندیدم ولی
اول باید تایم اینتروال رو تغییر بدین به 10 میلی ثانیه.
چون هر 999 میلی ثانیه میشه یک دقیقه.و شما صدم ثانیه میخواید عدد 10خوبه .
البته این کار باعث لودشدن هر 10میلی ثانیه فرم‌میشه و سیستم رو سنگین میکنه.
بعد همش میشه صدم ثانیه.
حالا باید فرمول جهت تبدیل صدم ثانیه به هر 100 بشه یک ثانیه و هر 60 ثانیه بشه یک دقیقه و هر 60دقیقه بشه یک ساعت و هر 24ساعت بشه یک روز.
کلا باید کد بنویسید و یا تایمر از اینترنت سرچ کنید
timer ms access vb

Shahramdindoust
جمعه 30 آبان 1399, 23:09 عصر
ویدئو رو ندیدم ولی
اول باید تایم اینتروال رو تغییر بدین .
بعد همش میشه صدم ثانیه.
حالا باید فرمول جهت تبدیل صدم ثانیه به هر 1000 بشه یک ثانیه و هر 60 ثانیه بشه یک دقیقه و هر 60دقیقه بشه یک ساعت و هر 24ساعت بشه یک روز.
کلا باید کد بنویسید و یا تایمر از اینترنت سرچ کنید
timer ms access vb
از همگی متشکرم

padide55
شنبه 01 آذر 1399, 09:25 صبح
سلام
این تایمر استفاده کنید .
تایمرفرم اکسسms acess sample stopwath

Shahramdindoust
شنبه 01 آذر 1399, 11:15 صبح
سلام
این تایمر استفاده کنید .
تایمرفرم اکسسms acess sample stopwath

سلام ببخشید یه مشکلی یادم افتاد
من هر وقت یه فایل اکسسی که دانلود میکنم باز نمیکنه و از کدنویسی اون ایراد میگیره مثلا خطی که شامل عبارت
user32
kernel 32 و... باشه رو قرمز میکنه و اجرا نمیشه
دلیلش چیه؟ مثلا الان برنامه شما رو باز نکرد رفتم تو کدهاش دیدم خط حاویkernel 32 قرمزه.
در یک کلام اصلا این دو عبارت یعنییی چه؟

eb_1345
شنبه 01 آذر 1399, 15:39 عصر
سلام ببخشید یه مشکلی یادم افتاد
من هر وقت یه فایل اکسسی که دانلود میکنم باز نمیکنه و از کدنویسی اون ایراد میگیره مثلا خطی که شامل عبارت
user32
kernel 32 و... باشه رو قرمز میکنه و اجرا نمیشه
دلیلش چیه؟ مثلا الان برنامه شما رو باز نکرد رفتم تو کدهاش دیدم خط حاویkernel 32 قرمزه.
در یک کلام اصلا این دو عبارت یعنییی چه؟

سلام
حدس میزنم آفیش شما 64 بیتی است . و به احتمال زیاد شما با برنامه هائی که توابع API درآنها بکار رفته مشکل دارید.
در آفیش 64 بیتی به توابع API باید PtrSafe بعد از Declare اضافه شود .
پس اگر آفیس شما 64 بیتی است تابع GetTickCount رو بصورت زیر تغییر بده !


#If Win64 Then
Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#Else
Private Declare Function GetTickCount Lib "kernel32" () As Long
#End If


و برای اینکه زین پس مشکلی نداشته باشید وکدهای شما درست اجرا شوند توابع فوق را بصورت فوق در if .... else قرار بده

این تابع در واقع از توابع API ویندوز می باشد. و زمانی را برمی گرداند و این زمان بر اساس میلی ثانیه می باشد.

Shahramdindoust
یک شنبه 02 آذر 1399, 10:27 صبح
سلام
حدس میزنم آفیش شما 64 بیتی است . و به احتمال زیاد شما با برنامه هائی که توابع API درآنها بکار رفته مشکل دارید.
در آفیش 64 بیتی به توابع API باید PtrSafe بعد از Declare اضافه شود .
پس اگر آفیس شما 64 بیتی است تابع GetTickCount رو بصورت زیر تغییر بده !


#If Win64 Then
Private Declare PtrSafe Function GetTickCount Lib "kernel32" () As Long
#Else
Private Declare Function GetTickCount Lib "kernel32" () As Long
#End If


و برای اینکه زین پس مشکلی نداشته باشید وکدهای شما درست اجرا شوند توابع فوق را بصورت فوق در if .... else قرار بده

این تابع در واقع از توابع API ویندوز می باشد. و زمانی را برمی گرداند و این زمان بر اساس میلی ثانیه می باشد.


بله مشکل وافعا همین بود عبارتPtrSafe رو قبل از declare تایپ کردم حل شد؟
چند نکته و سوال:
1-اصولا تفاوت نسخه 64 و 32 چیه؟
2- اگر برنامه ای رو به کاربر بدیم با کدوم بسازیم بهتره؟ خصوصا وقتی کاربر زیاد باشه نمیدونم 64 دارن یا 32
3- افیس 32 میتونه برنامه های 64 باز کنه یا افیس 64 میتونه برنامه 32 رو باز کنه؟ یا برای هرکدوم جداست

padide55
یک شنبه 02 آذر 1399, 10:38 صبح
بله مشکل وافعا همین بود عبارتPtrSafe رو قبل از declare تایپ کردم حل شد؟
چند نکته و سوال:
1-اصولا تفاوت نسخه 64 و 32 چیه؟
2- اگر برنامه ای رو به کاربر بدیم با کدوم بسازیم بهتره؟ خصوصا وقتی کاربر زیاد باشه نمیدونم 64 دارن یا 32
3- افیس 32 میتونه برنامه های 64 باز کنه یا افیس 64 میتونه برنامه 32 رو باز کنه؟ یا برای هرکدوم جداست

سلام
همانطور که eb_1345 (https://barnamenevis.org/member.php?424036-eb_1345)
فرمودند . بصورت if در برنامه بنویسید تا همه جا کاربرد داشته باشه.

Shahramdindoust
یک شنبه 02 آذر 1399, 20:54 عصر
سلام
همانطور که eb_1345 (https://barnamenevis.org/member.php?424036-eb_1345)
فرمودند . بصورت if در برنامه بنویسید تا همه جا کاربرد داشته باشه.
بله بصورت شرطی جواب میده جهت افزایش اطلاعات اون سوالها را پرسیدم:متفکر: