نقل قول: اجرا نشدن برنامه در شبکه
نگفتین که این بعضی کاربران مشخص و معین هستن یا رندوم؟
همچنین مشخص نکردین که آیا هر یوزر از نسخه front-end خودش استفاده میکنه یا اینکه مشترک هست (که نباید باشه)؟
همینطور تصویر پیام خطای واقعی هم مهمه - یا متن کامل و دقیق.
به هر حال اولین مظنون همیشه permission فولدر و فایل دیتابیس هست.
و بهترین راه حل هم استفاده از sql
نقل قول: اجرا نشدن برنامه در شبکه
سلام
باتشکر از پاسختون
دیتابیس در یک فولدر و هر یوزر ار نسخه خودش استفاده میکنه
همه دستورات افزودن - بروزرسانی و... دیتا با استفاده از دستورات sql است
تنها برای تشخیص سطح دسترسی کاربران در فرم لود اولیه از فانکشن dlookup استفاده کردم
همچنین در رویداد تایمر برنامه که هر 10 ثانیه اجرا میشه وضعیت کنکشن ارتباط با دیتابیس رو نوشتم (البته در این مورد هم فقط وجود فولدر را چک میکنه :ممنون میشم اگر راه بهتری وجود دارد بهم اطلاع بدید)
ضمنا در رویداد تایمر برای خارج کردن کاربران و بستن برنامه وضعیت تعریف کردم که در صورت لزوم کاربران با نمایش پیام و تایید ان از برنامه خارج شوند
با این حال پیامی که مشاهده میشه اینه که :جدول تنظیمات برنامه توسط کاربر... به صورت اکسکلوسیو باز شده و شما مجاز به استفاده از آن نمی باشد.
البته هیچه فرم وجود ندارد که کاربر بتواند آن جدول تنظیمات را ببیند. تنها بک فرم که به جدول تنظیمات شده و فیلدهای ان توسط خودم تغییر می کند به این فرم باند است
به نظر خودم امد شاید به خاطر استفاده از دستور dlookup است
یا شاید تغییر این جدول درحین استفاده کاربران این اشکال را ایجاد می کند
در هر صورت ممنون میشم راهنمایی کنید
نقل قول: اجرا نشدن برنامه در شبکه
خیلی سخته که بدون اشراف به همه جوانب بشه عیب یابی کرد ولی:
نقل قول:
نوشته شده توسط
mohammadsaleh
یا شاید تغییر این جدول درحین استفاده کاربران این اشکال را ایجاد می کند
باید همین باشه
فقط یک کاربر در هر لحظه مجاز هست که یک رکورد رو تغییر بده (با فرض اینکه record level locking روی edited record باشه که درستش هم همین هست)
برای اینکه به خطا برنخورین یک تابع برای آپدیت جدول تنظیمات بنویسین و در اون حتما error handling مناسب هم برای بررسی موفقیت آمیز بودن عملیات پیاده کنین.
استفاده از تایمر صرفا برای بررسی کانکشن back-end بنظرم کار بیهوده ای هست. کافی هست توابع گلوبال برای select-insert-update-delete بنویسین و error-handling مناسب رو انجام بدین.
نقل قول: اجرا نشدن برنامه در شبکه
سلام
تشکر از اظهار نظرات خوبتون
همه موارد رو رعایت کردم
جز موضوع لاکینگ و استفاده نکردن از تایمر
ضمنا فرم تنظیماتم با دستور sql اپدیت نمیشه بلکه شامل یک ردیف اطلاعات هست که متصل به فرم کردم
شاید هم بهتر باشه این فرم را هم با دستور upddte تغییر بدم