271
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
272
ห้อง MS Access / : วิธีการใช้งานฐานข้อมูล access ผ่าน internet
« เมื่อ: 09 ส.ค. 62 , 19:27:09 »
ไม่แน่ใจว่าคุณตั้งค่า Share ไว้หรือเปล่า เพราะที่ผมทดลองแล้วก็สามารถเปิดไฟล์เดียวกันได้นะครับ
เอางี้นะครับ
1. ทำการ Split DB แล้วเอาไฟล์ตารางไปวางบน Onedrive
2. แชร์โฟลเดอร์ที่เก็บตารางที่อยู่บน Onedrive ไปให้ผู้เกี่ยวข้อง
3. ส่งไฟล์ที่มีแต่ Form พร้อมตารางที่เป็น Link Table ไปวางไว้ที่เครื่องของผู้เกี่ยวข้อง
4. เปิด Onedrive ที่เครื่องของผู้เกี่ยวข้อง แล้ว Login ด้วยชื่อเจ้าของ Onedrive จะเห็นโฟลเดอร์ที่แชร์มาจากข้อ 2.
5. คลิกขวาที่โฟลเดอร์ที่แชร์มาแล้วเลือก Add to my Onedrive (เพิ่มลลงใน Onedrive ของฉัน)
6. เปิด File Explorer แล้ว Login เข้า Onedrive (ข้อ 4-5) ด้วย File Explorer จะทำให้ File Explorer เชื่อมต่อกับ OneDrive
7. เปิดไฟล์ Access ในข้อ 3 แล้วทำการ Relink Table มาที่ Onedrive ที่แสดงไว้ใน File Explorer ที่ Link กับ OneDrive
ที่ผมทดสอบ เวลาอีกฝั่งมีการ Add/Edit Data ทีก็รอประมาณ 1-2 นาที กว่าอีกฝั่งจะ Update ตาม และมีการแจ้งเตือนด้วยว่าตอนนี้ใคร Edit
ตามความเห็นผม การแชร์ใช้ไฟล์ร่วมกัน ผ่าน Onedrive ไม่เหมาะสำหรับงานที่ต้องการ Real Time ครับ
ถ้าทำเป็น Batch Update น่ะ OK
ปกติผมใช้เพราะ ผมใช้คอมหลายตัว แต่ไฟล์เดียวกัน ใช้อยู่คนเดียว เลยไม่เคยเจอปัญหานี้
เอางี้นะครับ
1. ทำการ Split DB แล้วเอาไฟล์ตารางไปวางบน Onedrive
2. แชร์โฟลเดอร์ที่เก็บตารางที่อยู่บน Onedrive ไปให้ผู้เกี่ยวข้อง
3. ส่งไฟล์ที่มีแต่ Form พร้อมตารางที่เป็น Link Table ไปวางไว้ที่เครื่องของผู้เกี่ยวข้อง
4. เปิด Onedrive ที่เครื่องของผู้เกี่ยวข้อง แล้ว Login ด้วยชื่อเจ้าของ Onedrive จะเห็นโฟลเดอร์ที่แชร์มาจากข้อ 2.
5. คลิกขวาที่โฟลเดอร์ที่แชร์มาแล้วเลือก Add to my Onedrive (เพิ่มลลงใน Onedrive ของฉัน)
6. เปิด File Explorer แล้ว Login เข้า Onedrive (ข้อ 4-5) ด้วย File Explorer จะทำให้ File Explorer เชื่อมต่อกับ OneDrive
7. เปิดไฟล์ Access ในข้อ 3 แล้วทำการ Relink Table มาที่ Onedrive ที่แสดงไว้ใน File Explorer ที่ Link กับ OneDrive
ที่ผมทดสอบ เวลาอีกฝั่งมีการ Add/Edit Data ทีก็รอประมาณ 1-2 นาที กว่าอีกฝั่งจะ Update ตาม และมีการแจ้งเตือนด้วยว่าตอนนี้ใคร Edit
ตามความเห็นผม การแชร์ใช้ไฟล์ร่วมกัน ผ่าน Onedrive ไม่เหมาะสำหรับงานที่ต้องการ Real Time ครับ
ถ้าทำเป็น Batch Update น่ะ OK
ปกติผมใช้เพราะ ผมใช้คอมหลายตัว แต่ไฟล์เดียวกัน ใช้อยู่คนเดียว เลยไม่เคยเจอปัญหานี้
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess
273
ห้อง MS Access / : วิธีการใช้งานฐานข้อมูล access ผ่าน internet
« เมื่อ: 03 ส.ค. 62 , 13:33:36 »
ตอบรวม 2 ท่านนะครับ
ข้อจำกัดหลัก ก็จะมีอยู่ 2 ข้อคือ
1. ความเร็วของอินเทอร์เน็ต
2. จำนวนผู้ใช้งานต่อไฟล์ ซึ่งตามสเปคของ Access คือ 255 คนต่อไฟล์
สำหรับความเร็วของอินเทอร์เน็ตนี่ช่วยอะไรไม่ค่อยได้ ถ้าจะใช้ดีใช้ผ่านสาย LAN แทน Wifi จะดีสุด
ส่วนจำนวนผู้ใช้งานนั้นผมใช้เรื่องการเขียนโปรแกรมและการแยก UI กับ Data ออกจากกัน เท่าที่ผ่านมาก็ไม่ค่อยพบปัญหานะครับ ปัญหาที่เจอคือเน็ตช้ากับเน็ตล่มครับ
ข้อจำกัดหลัก ก็จะมีอยู่ 2 ข้อคือ
1. ความเร็วของอินเทอร์เน็ต
2. จำนวนผู้ใช้งานต่อไฟล์ ซึ่งตามสเปคของ Access คือ 255 คนต่อไฟล์
สำหรับความเร็วของอินเทอร์เน็ตนี่ช่วยอะไรไม่ค่อยได้ ถ้าจะใช้ดีใช้ผ่านสาย LAN แทน Wifi จะดีสุด
ส่วนจำนวนผู้ใช้งานนั้นผมใช้เรื่องการเขียนโปรแกรมและการแยก UI กับ Data ออกจากกัน เท่าที่ผ่านมาก็ไม่ค่อยพบปัญหานะครับ ปัญหาที่เจอคือเน็ตช้ากับเน็ตล่มครับ
274
ห้อง MS Access / : วิธีการใช้งานฐานข้อมูล access ผ่าน internet
« เมื่อ: 02 ส.ค. 62 , 16:16:43 »
ที่เคยใช้คือ เอาไฟล์ฝากไว้ใน One Drive แล้วใช้ได้ไม่มีปัญหานะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess
275
ห้อง MS Access / : สอบถามวิธีเปลี่ยนลูกศรของเมาท์ไปเป็นรูปมือ เวลาเคลื่อนเมาท์ไปบนรูปภาพ
« เมื่อ: 30 ก.ค. 62 , 16:48:37 »ผมเข้าไปใช้ไม่ได้ครับ มันให้ login อ่ะครับ ต้องใส่รหัสอะไรอ่ะครับ
ขอบคุณมากครับ
คือมันเป็น OneDrive ครับ ต้อง Login เข้า OneDrive ของตัวเองก่อน ถึงจะเข้าถึงไฟล์ได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Teeyai
276
ห้อง MS Access / : ทำอย่างไรให้ Save Form และ Subform จากปุ่ม Save ปุ่มเดียว
« เมื่อ: 14 ก.ค. 62 , 13:42:54 »
เนื่องจากการสร้าง MainForm/Subform จำเป็นต้องมีการเชื่อมโยงกันระหว่างฟิลด์ Primary Key กับ Foreign Key
ในภาวะปกติจึงเป็นไปไม่ได้ที่จะบันทึกข้อมูลพร้อมกัน
สิ่งที่คุณต้องการนั้น จำเป็นต้องใช้ Unbound Form ซึ่งมีปุ่มใส่ข้อมูลเข้าไปในตารางครับ
โดย VBA ในปุ่มนี้สามารถทำได้หลายวิธีเช่น
1. ใช้ ADO Datasource
2. ใช้ DAO Datasource
3. ใช้ Docmd.RunSQL
ในภาวะปกติจึงเป็นไปไม่ได้ที่จะบันทึกข้อมูลพร้อมกัน
สิ่งที่คุณต้องการนั้น จำเป็นต้องใช้ Unbound Form ซึ่งมีปุ่มใส่ข้อมูลเข้าไปในตารางครับ
โดย VBA ในปุ่มนี้สามารถทำได้หลายวิธีเช่น
1. ใช้ ADO Datasource
2. ใช้ DAO Datasource
3. ใช้ Docmd.RunSQL
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin
277
ห้อง MS Access / : รบกวนสอบถามหน่อยครับ ผมจะแก้ไข part ในโปรแกรม access 2000
« เมื่อ: 08 ก.ค. 62 , 12:43:46 »
Table ที่มีลูกศรคือ Linked Table ครับ ให้คลิกขวาที่ Table นี้ แล้วเลือก Edit Link (ชื่อประมาณนี้) แล้วเลือกตารางข้อมูลของไดร์ฟต้นทางครับ
โพสต์นี้ได้รับคำขอบคุณจาก: nithipan
278
ห้อง MS Access / : รบกวนสอบถามหน่อยครับ ผมจะแก้ไข part ในโปรแกรม access 2000
« เมื่อ: 08 ก.ค. 62 , 10:35:08 »
เข้าโปรแกรมแล้วกดปุ่ม F11 แล้วเปลี่ยน Link ใหม่ครับ แต่ถ้าโปรแกรมล็อดปุ่ม F11 ไว้ ก็ต้องใช้ผู้เชี่ยวชาญครับ
279
ห้อง MS Access / : เปิดระเบียนพร้อมกันหลายเครื่อง เมื่อบันทึก ข้อมูลจะมั่ว เป็นภาษาต่างดาว
« เมื่อ: 28 มิ.ย. 62 , 12:37:47 »
ต้องทำการ Split Database แล้วเอาตัว Database ไปวางใน Server ส่วน UI ให้วางที่เครื่อง User
จากนั้นเขียนโปรแกรมให้ทำการเชื่อมต่อกับฐานข้อมูลเฉพาะตอน Update/Delete คือสร้าง Form แบบ Unbound Objects แล้วมีปุ่ม Append เข้า Database เมื่อป้อนเสร็จแล้ว
จากนั้นเขียนโปรแกรมให้ทำการเชื่อมต่อกับฐานข้อมูลเฉพาะตอน Update/Delete คือสร้าง Form แบบ Unbound Objects แล้วมีปุ่ม Append เข้า Database เมื่อป้อนเสร็จแล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess
280
ห้อง MS Access / : สอบถามการใช้ Auto Number ครับ
« เมื่อ: 27 มิ.ย. 62 , 12:39:20 »
โค้ดแบบสั้นๆ ง่ายๆ ตามไฟล์แนบครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Nick_1234
282
ห้อง MS Access / : ติดปัญหาใช้โค้ดบันทึกเวาลา เข้า-ออก ‼️ในตารางมันอยู่คนละบรรทัด
« เมื่อ: 24 มิ.ย. 62 , 15:06:38 »
แนะนำให้เปลี่ยนรูปแบบตารางครับ
คือเอาเวลาเป็นฟิลด์เดียวกัน แล้วแต่ละเรคอร์ก็ระบุว่าเวลาของเรคอร์ดนี้เป็นอะไร จะเริ่มงาน/จบงานก็ว่ากันไป
คือเอาเวลาเป็นฟิลด์เดียวกัน แล้วแต่ละเรคอร์ก็ระบุว่าเวลาของเรคอร์ดนี้เป็นอะไร จะเริ่มงาน/จบงานก็ว่ากันไป
โพสต์นี้ได้รับคำขอบคุณจาก: Phaphimon
283
ห้อง MS Access / : สอบถามแนวทางในการลงเวลา Downtime ค่ะ
« เมื่อ: 22 มิ.ย. 62 , 16:12:18 »
ผมไม่รู้ว่าคุณไปดูจาก Youtube อันไหนนะครับ แต่ขอตอบในฐานะ IE หน่อยละกัน
เวลาคิดเวลาของ Production ถ้าในรอบการทำงานหนึ่ง มี 8 ชั่วโมงรวมเวลาพัก เขาจะแบ่งเวลากันอย่างนี้นะครับ
เวลาทั้งหมด 8 ชั่วโมงคือ Operation Time = 480 Min
จากนั้น Operation Time ก็จะแบ่งเป็น Runtime 420 Min + BreakTime 60 Min
แล้วเจ้า Runtime 420 min เนี่ยมีโอกาสเกิดข้อผืดพลาด เครื่องหยุด สะดุด น็อค วัตถุดิบเข้ามายังสายการผลิตไม่ทัน
ดังนั้นก็จะถูกแบ่งออกไปอีกเป็น
Runtime Error หรือ Breakdown คือเวลาที่เครื่องหยุด เพราะสะดุด น็อค
Downtime หรือ Maintenance แล้วแต่จะเรียก คือเวลาซ่อมเครื่อง
แล้วก็มี Experimental Time คือเวลาหลังซ่อม แล้วทดสอบว่าการซ่อมเสร็จสมบูรณ์หรือไม่
นอกจากนี้ยังมีเวลาของ Raw/Packing Shortage, Others Downtime คือเวลาที่เครื่องหยุดโดยไม่มีสาเหตุอันควร
เอาแนวคิดนี้ไปออกแบบฐานข้อมูลน่าจะใช้ได้นะครับ
เวลาคิดเวลาของ Production ถ้าในรอบการทำงานหนึ่ง มี 8 ชั่วโมงรวมเวลาพัก เขาจะแบ่งเวลากันอย่างนี้นะครับ
เวลาทั้งหมด 8 ชั่วโมงคือ Operation Time = 480 Min
จากนั้น Operation Time ก็จะแบ่งเป็น Runtime 420 Min + BreakTime 60 Min
แล้วเจ้า Runtime 420 min เนี่ยมีโอกาสเกิดข้อผืดพลาด เครื่องหยุด สะดุด น็อค วัตถุดิบเข้ามายังสายการผลิตไม่ทัน
ดังนั้นก็จะถูกแบ่งออกไปอีกเป็น
Runtime Error หรือ Breakdown คือเวลาที่เครื่องหยุด เพราะสะดุด น็อค
Downtime หรือ Maintenance แล้วแต่จะเรียก คือเวลาซ่อมเครื่อง
แล้วก็มี Experimental Time คือเวลาหลังซ่อม แล้วทดสอบว่าการซ่อมเสร็จสมบูรณ์หรือไม่
นอกจากนี้ยังมีเวลาของ Raw/Packing Shortage, Others Downtime คือเวลาที่เครื่องหยุดโดยไม่มีสาเหตุอันควร
เอาแนวคิดนี้ไปออกแบบฐานข้อมูลน่าจะใช้ได้นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Phaphimon
284
ห้อง MS Access / : สอบถามการใช้ Auto Number ครับ
« เมื่อ: 22 มิ.ย. 62 , 15:57:27 »
ความงงกับคำถามระดับ 5 ตามมาตราริกเตอร์
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข
285
ห้อง MS Access / : อยากให้แสดงข้อมูลขของคนที่ไม่มาเรียนคะ รบกวนช่วยหน่อยนะ
« เมื่อ: 07 มิ.ย. 62 , 15:27:25 »
ทำได้หลายวิธีครับ
วิธีนึงคือใช้ CrosstabQuery ก็จะได้ผลสรุปเป็นตารางแบบนี้
ID 2 หยุดวันที่ 5
ID 3 หยุดวันที่ 4
อีกวิธีก็สร้างคิวรีแบบผลคูณ Cartesian เพื่อแสดง ID กับ Date ทั้งหมด รวมทั้งวันที่หยุดไปด้วย
จากนั้นก็นำคิวรีมาสร้างคิวรี เพื่อเลือกเฉพาะวันที่หยุดไปออกมาแบบนี้
วิธีนึงคือใช้ CrosstabQuery ก็จะได้ผลสรุปเป็นตารางแบบนี้
ID 2 หยุดวันที่ 5
ID 3 หยุดวันที่ 4
อีกวิธีก็สร้างคิวรีแบบผลคูณ Cartesian เพื่อแสดง ID กับ Date ทั้งหมด รวมทั้งวันที่หยุดไปด้วย
จากนั้นก็นำคิวรีมาสร้างคิวรี เพื่อเลือกเฉพาะวันที่หยุดไปออกมาแบบนี้
286
ห้อง MS Access / : การลบค่าตัวเลขอยู่คนละแถว คนละคอลัมน์ต้องเขียนโค้ดอย่างไรหรือมีวิธีอื่นไหม มีรูป
« เมื่อ: 04 มิ.ย. 62 , 23:23:00 »
เริ่มระแวงกระทู้ซ้ำ
ระแวงว่ามีคนตอบไปแล้ว
ถ้าตอบกระทู้ซ้ำก็นำไปรวมกับอันเดิมได้เลยครับ
วิธีการนี้ไม่ต้องเขียน Code อะไรหรอกครับ แค่เทคนิคนิดหน่อยก็ได้แล้ว
ดูวิธีการจากไฟล์ตัวอย่างนะครับ
ระแวงว่ามีคนตอบไปแล้ว
ถ้าตอบกระทู้ซ้ำก็นำไปรวมกับอันเดิมได้เลยครับ
วิธีการนี้ไม่ต้องเขียน Code อะไรหรอกครับ แค่เทคนิคนิดหน่อยก็ได้แล้ว
ดูวิธีการจากไฟล์ตัวอย่างนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Nick_1234
287
ห้อง Ms Access อื่นๆ / : object กับ control ใช้ต่างกันยังงัยครับ
« เมื่อ: 30 พ.ค. 62 , 19:20:33 »
ขอตอบแบบนี้นะครับ (ท่านอื่นสามารถเสริมได้นะครับ เผื่อผมผิดพลาด ตกหล่นตรงไหน)
ก่อนอื่นต้องแยกกันอย่างนี้ก่อนนะครับ
สำหรับ Object นั้นเป็นเรื่องของเทคโนโลยีเชิงวัตถุ คือมองทุกสิ่งอย่างให้เป็นวัตถุไปหมด โดยเจ้าวัตถุที่เราเห็นบนหน้าจอ (หรือที่ไม่เห็นบนหน้าจอ) ก็ต้องมีคุณสมบัติตามกฏของ Object Oriented Programming เช่น Inheritance และบลาๆๆ 3-4 ข้อจำไม่ได้ แต่ที่จำได้คือ Access มีแต่ไม่ครบทุกข้อ แต่ก็หยวนๆ วพอกล่อมแกล้มว่าเป็น OO ได้ (อันนี้บ่น)
สรุปคือ Object คือสิ่งที่เรามองเห็นได้บนหน้าจอ และสิ่งที่เรามองไม่เห็นเพราะทำงานอยู่เบื้องหลัง คือให้มองว่ามันเหมือนวัตถุชิ้นนึง
คราวนี้มาเรื่องของ Control
Control น่ะ ก็เป็นออบเจ็กต์แบบนึงที่ทำงานอยู่บนฟอร์มและรีพอร์ต แต่คราวนี้ถ้าเรียก ComboBox TextBox ว่าออบเจ็กต์อาจสร้างความสับสนได้ (อันนี้ผมคิดเอง) เขาก็เลยเปลี่ยนมาเรียกคอนโทรลแทน เพราะหน้าที่หลักคือใช้ควบคุมการทำงานต่างๆ ทั้งในฟอร์มและรีพอร์ต
เส้นตรงที่ลากใส่ในฟอร์มก็เรียกคอนโทรลนะ ทั้งที่ไม่เคยใช้ควบคุมอะไรเลยซักอย่าง (หรือใครเคยใช้ก็เล่าสู่กันหน่อย)
สรุป Control ก็คือ Object แบบนึง ที่เราใส่ไว้ในฟอร์มหรือรีพอร์ต
ก่อนอื่นต้องแยกกันอย่างนี้ก่อนนะครับ
สำหรับ Object นั้นเป็นเรื่องของเทคโนโลยีเชิงวัตถุ คือมองทุกสิ่งอย่างให้เป็นวัตถุไปหมด โดยเจ้าวัตถุที่เราเห็นบนหน้าจอ (หรือที่ไม่เห็นบนหน้าจอ) ก็ต้องมีคุณสมบัติตามกฏของ Object Oriented Programming เช่น Inheritance และบลาๆๆ 3-4 ข้อจำไม่ได้ แต่ที่จำได้คือ Access มีแต่ไม่ครบทุกข้อ แต่ก็หยวนๆ วพอกล่อมแกล้มว่าเป็น OO ได้ (อันนี้บ่น)
สรุปคือ Object คือสิ่งที่เรามองเห็นได้บนหน้าจอ และสิ่งที่เรามองไม่เห็นเพราะทำงานอยู่เบื้องหลัง คือให้มองว่ามันเหมือนวัตถุชิ้นนึง
คราวนี้มาเรื่องของ Control
Control น่ะ ก็เป็นออบเจ็กต์แบบนึงที่ทำงานอยู่บนฟอร์มและรีพอร์ต แต่คราวนี้ถ้าเรียก ComboBox TextBox ว่าออบเจ็กต์อาจสร้างความสับสนได้ (อันนี้ผมคิดเอง) เขาก็เลยเปลี่ยนมาเรียกคอนโทรลแทน เพราะหน้าที่หลักคือใช้ควบคุมการทำงานต่างๆ ทั้งในฟอร์มและรีพอร์ต
เส้นตรงที่ลากใส่ในฟอร์มก็เรียกคอนโทรลนะ ทั้งที่ไม่เคยใช้ควบคุมอะไรเลยซักอย่าง (หรือใครเคยใช้ก็เล่าสู่กันหน่อย)
สรุป Control ก็คือ Object แบบนึง ที่เราใส่ไว้ในฟอร์มหรือรีพอร์ต
288
ห้อง MS Access / : ทำการค้นหาหลายๆค่าในครั้งเดียวค่ะ
« เมื่อ: 26 พ.ค. 62 , 17:33:57 »
ทำได้ครับ ใช้คิวรีธรรมดาๆ ก็ได้แล้ว
จากรูปนี้มีตาราง (1) แล้วนำมาสร้างคิวรี โดยกำหนด Criteria แบบ OR (2)
เราก็จะได้ข้อมูลที่เลือกด้วย 3 ตัวเลือก (3)
จากรูปนี้มีตาราง (1) แล้วนำมาสร้างคิวรี โดยกำหนด Criteria แบบ OR (2)
เราก็จะได้ข้อมูลที่เลือกด้วย 3 ตัวเลือก (3)
โพสต์นี้ได้รับคำขอบคุณจาก: Supanida