Thursday, January 15, 2015

เพื่อนสมาชิกตั้งโจทย์มาให้ช่วยแก้ไขใน Facebook ลองพิจารณาดูแล้ว ถ้าตอบใน facebook คงยาว ก็เลยเอามาทำเป็น Post ที่นี่ให้ดูนะครับ

สำหรับคำถามก็มีดังนี้

กรณีเราเขียน scripts กำหนดเวลาการใช้งานโปรแกรม ในตอนเปิด file หากไม่ตรงกับเงื่อนไขให้ออกจากโปรแกรม แต่ถ้าตรงตามเงื่อนไขก็สามารถทำงานต่อไปได้
เงื่อนไขที่กำหนด คือ
1. วันที่ปัจจุบัน (current date)
2. วันที่ใช้งานวันสุดท้าย

ตรงตามเงื่อนไข คือ วันที่ใช้งานวันสุดท้าย > current date
ไม่ตรงตามเงื่อนไข คือ current date > วันที่ใช้งานวันสุดท้าย

ในกรณีที่ไม่ตรงตามเงื่อนไข เมื่อเข้าโปรแกรมจะใช้งาน ตัวโปรแกรมจะเด้งออก
ในกรณีนี้เราจะเข้าไปแก้ไข วันที่ใช้งานวันสุดท้าย ยังไงครับ เพราะเมื่อเข้าโปรแกรมมันจะเด้งออกทุกครั้งครับ ขอคำแนะนำครับผม


เมื่อจะทำเป็น script ก็ได้เงื่อนไขดังนี้
- สร้าง field วันที่ใช้งานวันสุดท้าย เพียง field เดียวให้เป็น Global  ส่วนวันที่ปัจจุบัน ให้ใช้ function get(currentdate) แทน
- มี script บันทึกวันที่ปัจจุบัน ลงไปที่  field วันที่ใช้งานวันสุดท้าย เมื่อออกจากโปรแกรม
- มี script คอยตรวจสอบว่า วันที่เข้าใช้งาน >  field วันที่ใช้งานวันสุดท้าย ตอนเปิดโปรแกรมทุกครั้ง ถ้ามากกว่า ก็ปิดโปรแกรมตามเงื่อนไขที่ต้องการ

ขั้นตอนการทำ
1. ผมสร้าง  field วันที่ใช้งานวันสุดท้าย ใช้ชื่อ filed ว่า last date ให้เป็น Global ก่อน เพราะถ้าไม่ใช่ global จะทำให้ record อื่นๆ ไม่มีค่าของวันที่สุดท้าย ทำให้การเปรียบเทียบผิดพลาด
2. ต่อมา ผมก็ทำการสร้าง script เพื่อที่จะให้โปรแกรมทำการ run ตอนปิดโปรแกรม โดย script จะทำหน้าที่บันทึกวันที่ปัจจุบันลงไปที่  field วันที่ใช้งานวันสุดท้าย (ในที่นี้คือ last date)

3. ต่อมาผมก็ทำการสร้าง script ที่จะใช้ run ตอนเปิดโปรแกรมทุกครั้ง โดยทำการตรวจสอบก่อนว่าคนที่ login เข้ามาเป็น admin หรือเปล่า ถ้าเป็น admin ก็ไม่ต้องทำการเปรียบเทียบว่า วันนี้ >  field วันที่ใช้งานวันสุดท้าย หรือเปล่า เนื่องจากเงื่อนไขบอกว่า ต้องการเข้าไปเปลี่ยนแปลงค่าใน  field วันที่ใช้งานวันสุดท้าย ด้วย เพราะถ้าไม่แยก account แบบนี้ ก็ไม่มีทางเลยที่จะเข้าโปรแกรมได้อีก เนื่องจากถ้าไม่ใช่ admin login เข้ามา จะเจอการตรวจสอบเรื่องวันที่ทันที

4. ต่อมา เราต้องแยก account นะครับ ในที่นี้ผมให้ Guest ทำการ login เข้ามาได้ด้วย หรือจะสร้าง account อื่นก็ได้ เวลา login เราก็บอกให้เขา login เป็น account นั้นๆ ส่วน admin เราเอาไว้ login เพื่อเข้าไปแก้ไขเวลามีปัญหาได้คนเดียว อ้อ privillege set แบบ Full access ต้องให้แก่ admin คนเดียวนะครับ อย่าให้คนอื่น 

5. จากนั้นเราก็ทำการ setup file option โดยอย่างแรก ต้องปลดการ login แบบ auto ออกก่อน โดยการเอาเครื่องหมายถูกที่ Lon in using ออกนะครับ

6. แล้วก็ไปที่ tab script triggers  เพื่อทำการบอกให้โปรแกรมทำการ run script ตอนเปิดแล้วปิดโปรแกรม ตามรูปด้านล่างนะครับ

เพียงเท่านี้ เมื่อทำการเปิดโปรแกรม เราก็จะได้ผลลัพธ์ดังนี้
- ถ้าเป็น admin login เข้ามา ไม่ต้องทำอะไร เข้าโปรแกรมได้เลย 
- ถ้าเป็น guest login จะเจอตรวจสอบว่า วันที่ login เข้ามา > วันที่สุดท้าย หรือเปล่า ถ้ามากกว่าก็เด้งออกเลย
- เมื่อทำการปิดโปรแกรม จะมี script ทำหน้าที่บันทึกวันที่อีกครั้งหนึ่ง

หวังว่าคงเป็นไปตามความต้องการนะครับ สิ่งที่ผมไม่เข้าใจก็คือ ใช้งานเพื่อวัตถุประสงค์ใดครับเนี่ย ?

Download File ตัวอย่างได้ --> Example

0 ความคิดเห็น:

Post a Comment

บทความอื่นๆ