Page 1 of 1
สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Nov 27, 2020 6:34 am
by beeratius
รบกวนสอบถามหน่อยครับ
ผมเขียน EXCEL VBA เสร็จแล้ว ถ้าอยากให้ file ที่เขียนสามารถเปิดใช้กับคอม 2 เครื่องพร้อมกัน และหากมีการเพิ่ม/ ลบ/เปลี่ยนแปลง/ แก้ไข file เครื่องใดเครื่องหนึ่ง อีกเครื่องหนึ่งสามารถเห็นด้วยครับ( user form VBA ต้องใช้ได้ด้วยนะครับ)
ขอบคุณครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Nov 27, 2020 6:42 am
by snasui
ควรออกแบบเป็นตัวแปรแกรม 1 ไฟล์กับ Database 1 ไฟล์ครับ
ไฟล์โปรแกรมจะใช้กี่เครื่องก็ไม่มีปัญหา ส่วนไฟล์ Database มีแค่ไฟล์เดียว กำหนดการ Shared ให้เปิดใช้ได้ร่วมกัน ถ้าเขียนเป็นโปรแกรมเต็มระบบไม่จำเป็นต้องเปิดและไม่จำเป็นต้องกำหนดการ Shared
ปกติตัวโปรแกรมกับตัว Database ก็ถูกออกแบบให้แยกกันอยู่แล้วเพื่อให้ทำงานร่วมกันหลายคนได้
ไฟล์ที่มีทั้งโปรแกรมและ Database อยู่ในไฟล์เดียวกันไม่สามารถ Shared ให้ใช้ร่วมกันได้ ใช้เป็นเอกเทศเครื่องใครเครื่องมันได้เท่านั้นครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Nov 27, 2020 12:04 pm
by beeratius
ขอบคุณครับอาจารย์ จะปรับแก้ตามที่อาจารย์แนะนำครับ
ผมรบกวนขอตัวอย่างที่อาจารย์บอกว่า ถ้าเขียนเป็นโปรแกรมเต็มระบบไม่จำเป็นต้องเปิดและไม่จำเป็นต้องกำหนดการ Shared ได้มั้ยครับอยากดูเป็นตัวอย่างเพื่อเอามาปรับใช้ครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Nov 27, 2020 7:46 pm
by snasui
สามารถเสนอแนะแค่วิธีการไม่สามารถนำไฟล์ตัวอย่างมาแสดงให้ได้เพราะไฟล์ในการทำงานเช่นนี้แทบทั้งหมดเป็นงานในองค์กรครับ
สิ่งที่ต้องทราบเพิ่มเติมคือ Connection String ที่จะใช้ติดต่อ Database โดยเราจะเขียนคำสั่งให้บันทึก ปรับปรุง ลบ แก้ไข ข้อมูล ผ่าน Connection String ที่ว่านี้ สามารถศึกษาได้จาก Link นี้เพื่อจะทราบว่าในการเขียนติดต่อ Database ชนิดต่าง ๆ นั้นจะต้องใชั Connection String แบบใดครับ
https://www.connectionstrings.com/
ศึกษาจากคำถาม คำตอบ ของเพื่อนสมาชิกเป็นแนวทางได้จาก Link นี้ครับ
การเขียนติดต่อ Database
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Nov 27, 2020 11:37 pm
by beeratius
ขอบคุณครับอาจารย์
ผมใช้วิธีตามที่อาจารย์บอกครับ คือแยกส่วนของ database กับส่วนของโปรแกรมออกจากกัน แต่ถ้าผมไม่ได้ทำเต็มระบบแบบที่อาจารย์บอก
จึงขอสอบถามเพิ่มเติมว่า ถ้าผมทำการ share database file ไปที่คอมอีกเครื่องหนึ่ง เพื่อให้สามารถใช้ database ร่วมกันทั้งเครื่องหลักและเครื่องรองได้
คำถามคือ
1. คอมทั้ง 2 เครื่องนี้จะต้องเปิด workbook Database ทิ้งไว้ตลอดเวลาที่มีการใช้งาน และถ้าใช้คอมเครื่องหลักเพิ่ม/ลบ/แก้ไข ข้อมูลใน Database (ที่แชร์ไว้) คอมเครื่องรองก็จะไม่เห็นข้อมูลใหม่ที่ใส่เข้าไป ทำให้การทำงานไม่ได้ update กัน ในกรณีนี้จะมีวิธีการอย่างไรครับ
2. ผมลองใช้วิธีการแชร์ข้อมูลผ่าน one drive ซึ่งสามารถupdateข้อมูลจากคอมทั้ง 2 เครื่องแบบ real time ได้ แต่ปัญหาคือ ผมจะใช้ชื่อ workbook ที่ผมแชร์ว่าอะไรเป็นไฟล์อ้างอิงครับ (ผมแนบรูปมาสำหรับคำถามนี้ครับ)
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Sat Nov 28, 2020 6:06 am
by snasui
beeratius wrote: Fri Nov 27, 2020 11:37 pm
1. คอมทั้ง 2 เครื่องนี้จะต้องเปิด workbook Database ทิ้งไว้ตลอดเวลาที่มีการใช้งาน และถ้าใช้คอมเครื่องหลักเพิ่ม/ลบ/แก้ไข ข้อมูลใน Database (ที่แชร์ไว้) คอมเครื่องรองก็จะไม่เห็นข้อมูลใหม่ที่ใส่เข้าไป ทำให้การทำงานไม่ได้ update กัน ในกรณีนี้จะมีวิธีการอย่างไรครับ
การเปิดไฟล์ Database ไว้ตลอดเวลาก็สามารถเห็นการเปลี่ยนแปลงได้เสมอ การ Share ที่ผมพูดถึงเป็นการกำหนดการ Share ที่ไฟล์ ไม่ใช่ Share เฉพาะตำแหน่งที่เก็บไฟล์ให้เห็นพร้อมกันได้หลายเครื่องเท่านั้น
beeratius wrote: Fri Nov 27, 2020 11:37 pm
2. ผมลองใช้วิธีการแชร์ข้อมูลผ่าน one drive ซึ่งสามารถupdateข้อมูลจากคอมทั้ง 2 เครื่องแบบ real time ได้ แต่ปัญหาคือ ผมจะใช้ชื่อ workbook ที่ผมแชร์ว่าอะไรเป็นไฟล์อ้างอิงครับ (ผมแนบรูปมาสำหรับคำถามนี้ครับ)
ชื่อไฟล์จะกำหนดเป็นอะไรก็ได้ มีปัญหาอะไรกับการใช้ชื่อไฟล์กรุณาอธิบายเพิ่มเติมครับ
กรุณาศึกษาจากกระทู้นี้เป็นแนวทางสำหรับการทำงานกับไฟล์ที่ Share ให้ใช้งานร่วมกันครับ
การทำงานร่วมกันด้วยวิธี Shared File
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Sun Nov 29, 2020 2:21 am
by beeratius
ขอบคุณครับอาจารย์ ขอเวลาศึกษาก่อนนะครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Mon Nov 30, 2020 12:44 am
by beeratius
กรุณาศึกษาจากกระทู้นี้เป็นแนวทางสำหรับการทำงานกับไฟล์ที่ Share ให้ใช้งานร่วมกันครับ
การทำงานร่วมกันด้วยวิธี Shared File
ขอบคุณครับอาจารย์ ผมได้ลองศึกษาจาก Link ที่อาจารย์แนบมาให้ ได้ไอเดียสำหรับการทำงานร่วมกันของไฟล์ที่ shared แล้ว
แต่ในกระทู้นั้นไม่ได้บอกถึงวิธีการ shared ไฟล์ให้สามารถใช้ร่วมกันได้ ผมจึงรบกวนอาจารย์เพิ่มเติมถึงวิธีการแชร์ไฟล์ โดยใช้ Code VBA ครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Mon Nov 30, 2020 10:04 am
by logic
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Mon Nov 30, 2020 5:00 pm
by beeratius
ขอบคุณมากครับ คุณ logic
ตอนนี้ผมหาข้อมูลเพิ่มเติมจากกระทู้นี้
https://snasui.com/viewtopic.php?f=3&t=15310
ตอนนี้เลยสามารถเขียน VBA เพื่อแชร์ไฟล์ Workbook ได้แล้วครับ
แต่ยังไม่เข้าใจนิดหน่อยครับ
คอม1 ผมแชร์ Workbook ไปแล้ว
คอม2 จะเขียน VBA ยังไงเพื่อให้มาอ่านข้อมูลจาก ไฟล์ที่คอม 1 แชร์ไว้
ปล.ผมลองศึกษาจากกระทู้นี้
https://snasui.com/viewtopic.php?t=13068 แต่กระทู้นี้เป็นการเรียกอ่านไฟล์จากการแชร์ folder ครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Tue Dec 01, 2020 8:45 am
by logic
คอม 2 สั่งให้เปิดไฟล์เหมือนในลิงก์นั้นเลย
ลิงก์ตามปล.คือเปิดไฟล์ขึ้นมาใช้ไม่ใช่แค่อ่าน พอเปิดมาแล้วก็ทำงานต่อ ทำงานเสร็จค่อยปิดครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Wed Dec 02, 2020 12:22 am
by beeratius
logic wrote: Tue Dec 01, 2020 8:45 am
คอม 2 สั่งให้เปิดไฟล์เหมือนในลิงก์นั้นเลย
ลิงก์ตามปล.คือเปิดไฟล์ขึ้นมาใช้ไม่ใช่แค่อ่าน พอเปิดมาแล้วก็ทำงานต่อ ทำงานเสร็จค่อยปิดครับ
ขอบคุณมากครับ ผมลองแล้วได้ผลอย่างไรจะมาแจ้งอีกทีครับ
Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง
Posted: Fri Dec 04, 2020 8:53 am
by beeratius
logic wrote: Tue Dec 01, 2020 8:45 am
คอม 2 สั่งให้เปิดไฟล์เหมือนในลิงก์นั้นเลย
ลิงก์ตามปล.คือเปิดไฟล์ขึ้นมาใช้ไม่ใช่แค่อ่าน พอเปิดมาแล้วก็ทำงานต่อ ทำงานเสร็จค่อยปิดครับ
ใช้ได้ตามที่ต้องการครับ
ขอบคุณ คุณlogic และอาจารย์มากครับ