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
:D ควรออกแบบเป็นตัวแปรแกรม 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
:D สามารถเสนอแนะแค่วิธีการไม่สามารถนำไฟล์ตัวอย่างมาแสดงให้ได้เพราะไฟล์ในการทำงานเช่นนี้แทบทั้งหมดเป็นงานในองค์กรครับ

สิ่งที่ต้องทราบเพิ่มเติมคือ Connection String ที่จะใช้ติดต่อ Database โดยเราจะเขียนคำสั่งให้บันทึก ปรับปรุง ลบ แก้ไข ข้อมูล ผ่าน Connection String ที่ว่านี้ สามารถศึกษาได้จาก Link นี้เพื่อจะทราบว่าในการเขียนติดต่อ Database ชนิดต่าง ๆ นั้นจะต้องใชั Connection String แบบใดครับ :arrow: https://www.connectionstrings.com/

ศึกษาจากคำถาม คำตอบ ของเพื่อนสมาชิกเป็นแนวทางได้จาก Link นี้ครับ :arrow: การเขียนติดต่อ 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 กัน ในกรณีนี้จะมีวิธีการอย่างไรครับ
:D การเปิดไฟล์ Database ไว้ตลอดเวลาก็สามารถเห็นการเปลี่ยนแปลงได้เสมอ การ Share ที่ผมพูดถึงเป็นการกำหนดการ Share ที่ไฟล์ ไม่ใช่ Share เฉพาะตำแหน่งที่เก็บไฟล์ให้เห็นพร้อมกันได้หลายเครื่องเท่านั้น
beeratius wrote: Fri Nov 27, 2020 11:37 pm 2. ผมลองใช้วิธีการแชร์ข้อมูลผ่าน one drive ซึ่งสามารถupdateข้อมูลจากคอมทั้ง 2 เครื่องแบบ real time ได้ แต่ปัญหาคือ ผมจะใช้ชื่อ workbook ที่ผมแชร์ว่าอะไรเป็นไฟล์อ้างอิงครับ (ผมแนบรูปมาสำหรับคำถามนี้ครับ)
ชื่อไฟล์จะกำหนดเป็นอะไรก็ได้ มีปัญหาอะไรกับการใช้ชื่อไฟล์กรุณาอธิบายเพิ่มเติมครับ

กรุณาศึกษาจากกระทู้นี้เป็นแนวทางสำหรับการทำงานกับไฟล์ที่ Share ให้ใช้งานร่วมกันครับ :arrow: การทำงานร่วมกันด้วยวิธี 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 ให้ใช้งานร่วมกันครับ :arrow: การทำงานร่วมกันด้วยวิธี Shared File
ขอบคุณครับอาจารย์ ผมได้ลองศึกษาจาก Link ที่อาจารย์แนบมาให้ ได้ไอเดียสำหรับการทำงานร่วมกันของไฟล์ที่ shared แล้ว

แต่ในกระทู้นั้นไม่ได้บอกถึงวิธีการ shared ไฟล์ให้สามารถใช้ร่วมกันได้ ผมจึงรบกวนอาจารย์เพิ่มเติมถึงวิธีการแชร์ไฟล์ โดยใช้ Code VBA ครับ

Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง

Posted: Mon Nov 30, 2020 10:04 am
by logic
มันน่าจะซ่อนเมนูไป อันนี้คือลิงก์เพื่อโชว์เมนูครับ https://support.microsoft.com/en-us/off ... 259303fe05

Re: สอบถามวิธีการแชร์ file excel VBA ให้ใช้ได้ 2 เครื่อง

Posted: Mon Nov 30, 2020 5:00 pm
by beeratius
logic wrote: Mon Nov 30, 2020 10:04 am มันน่าจะซ่อนเมนูไป อันนี้คือลิงก์เพื่อโชว์เมนูครับ https://support.microsoft.com/en-us/off ... 259303fe05
ขอบคุณมากครับ คุณ 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 และอาจารย์มากครับ