ورود

View Full Version : سوال: نحوه ليست كردن کاربران on line در فرم start up برنامه



saeedyaz
پنج شنبه 25 مهر 1387, 19:39 عصر
میخواهیم کاربرانی که هم اکنون دارند از شبکه با یک پایگاه کار می کنند را لیست کنیم. آیا میشود؟

مهدی قربانی
شنبه 27 مهر 1387, 11:29 صبح
سلام
ببينيد عملكرد اين نمونه برنامه مشابه خواسته شماست :

saeedyaz
شنبه 27 مهر 1387, 23:29 عصر
کاش خدا این مهندسی قربانی رو 10 سال پیش به ما میداد....
مهندس سوالات دیگه من رو هم نگاهی بیانداز... متشکرم

مهدی قربانی
دوشنبه 29 مهر 1387, 00:46 صبح
سلام

کاش خدا این مهندسی قربانی رو 10 سال پیش به ما میداد....
فايده ايي نداشت ، چون 10 سال پيش من هيچي از اكسس نمي دونستم !!!!

فقط لازمه يك توضيحي در ارتباط با نمونه بدم و اون اينه كه در اين نمونه من از توابع API‌ ويندوز و همينطور يك ليست باكس روي فرم Startup‌ استفاده كردم ، اين ليست باكس به يك جدول كه حاوي اطلاعات موقت كاربران وارد شده به بانك هستش باند شده مكانيسم كار هم به اين ترتيبه كه در زمان ورود كاربر اطلاعات مربوط به IP ، Username ، ‍PC Name ، تاريخ و ساعت ورود رو بوسيله ركوردست در جدول مذكور ذخيره ميكنه و در فرم هم در رخداد On Unload با كمك گرفتن از كدهاي SQL و دستور RunSql اطلاعات مربوط به كاربر خارج شده از جدول حذف ميشه بنابراين وقتي حسب زمان تعيين شده در Timer‌ فرم ( 1 ثانيه) فرم و قرار گرفتن دستور رفرش در رخداد On Timer‌ آخرين وضعيت كاربران در ليست باكس قابل مشاهده هست فقط بايد توجه داشته باشيد كه فرم مورد نظر در طول فعال بوده برنامه نبايد بسته بشه ضمناً اين برنامه رو تحت شبكه با 4 الي 5 كاربر تست كردم و نتيجه حاصله مطلوب بود .

saeedyaz
دوشنبه 29 مهر 1387, 20:09 عصر
مهندس جان بنده که از فرمایشات شما چیز زیادی نفهمیدم... ولی بسیار علاقه مندم یاد بگیرم... شما بفرمایید چطور؟....
ثانیا من این فرم رو در startup سیستم سابفرم کردم ولی متاسفانه eror دارد. البته سیستم من بصورت workgroup بوده است. خیلی مخلصم..

مهدی قربانی
دوشنبه 29 مهر 1387, 21:56 عصر
سلام
هيچ مشكلي نيست ، اولش يه مقدار اراده و انگيزه بايد چاشني كار بشه بعد هم تلاش و زحمت تا نهايتاً با كمك خدا پيشرفت حاصل بشه . براي ياد گيري فكر نمي كنم منبع و ماخذي بهتر از همين سايت و همين بخش باشه البته ممكنه كامل نباشه منتها دست خالي هم نيست و البته دركنارش نبايد از ساير منابع مثل كتب ، ساير سايتهاي داخلي و خارجي غافل شد .
در مورد فايل مورد نظر شما هم فكر نمي كنم مشكلي با Workgroup‌ مشكلي داشته باشه ، اروري كه دريافت مي كنيد چيه ؟

sib_data
سه شنبه 30 مهر 1387, 07:23 صبح
آقاي قرباني عزيز
اين برنامه در صورتي عمل ميكنه كه همه از يك سيستم مركزي استفاده كنن و فقط شورتكات آن روي سيستمها باشد ولي در صورتي كه هر كلاينت يه نسخه از برنامه را دارد آيا اين جواب خواهد داد؟
ممنون

sib_data
سه شنبه 30 مهر 1387, 07:25 صبح
جواب خودم: شايد اگه بانكي كه اطلاعات در ان ميشينه اكسس باشه ميشه داخل بانك از اين روش استفاده كرد ولي وقتي بانك sql باشه چكار كنيم؟

مهدی قربانی
سه شنبه 30 مهر 1387, 14:10 عصر
سلام
يقيناً نحوه عملكرد وابسته به يك سيستم مركزيه حالا يا سرور يا يك دستگاه كه فايل رو بصورت Share در معرض استفاده ديگران قرار داده باشه ، طبيعيه كه اگر فايل روي يك دستگاه Single User استفاده بشه ديگه ليست كردن كاربران آنلاين معنايي نداره ، در مورد SQL هم اگر منظور شما اكسس پروجكت هست كه فكر مي كنم اونم به همين ترتيب قابل استفاده باشه .

sib_data
سه شنبه 30 مهر 1387, 15:14 عصر
اقا مهدي منظور منو متوجه نشديد. منظورم اين بود كه به دو روش كاربران تحت شبكه با برنامه كار ميكنند.
1- همه از يك نرم افزار در داخل سيستم سرور استفاده ميكنند و فقط يك نسخه است كه براي همه اجرا ميشه و هر كلاينت فقط كافيه شورت كات اون را روي سيستم خودش بزاره.
2- ميشه هر كلاينتي يك نسخه از نرم افزار را روي سيستم خودش داشته باشه كه ان را اجرا كرده و نرم افزار فقط براي لينك به ديتا سراغ سرور ميره.
در حالت اول خوب برنامه به خوبي جواب ميده و بانك ميتونه از دو نوع اكسس يا sql باشه ولي در مورد دوم اگه بانك اكسس بود ميشه داخل بانك اونو طراحي كرد ولي اگه sql بود بايد چكار كرد.
ممنون از هم صحبتي با شما

مهدی قربانی
سه شنبه 30 مهر 1387, 15:58 عصر
سلام
بله اين امكان مربوط به بانك و اينترفيس اكسس ميشه و در مورد SQL نمي دونم به چه ترتيب ميشه اين عمليات رو پياده كرد ولي فكر ميكنم بشه از طريق رخداد هاي فرم بواسطه خوندن اطلاعات از جدول مشابه در SQL اين عمليات رو شبيه سازي كنيد .