แสดงกระทู้

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.


Messages - Kxess

หน้า: [1] 2 3
1
แนะนำว่าหลังจากเพิ่มเรคอร์ดใหม่แล้ว ให้ไปเปิดดูเรคอร์ดนั้นด้วยโปรแกรม MySQL โดยตรงทันที หาดูว่ามีฟิลด์อะไรที่ค่าเปลี่ยนแปลงไปจากหน้าฟอร์มหรือไม่  ถ้ามี ก็เป็นไปได้ว่าน่ามีความไม่ compatible กันระหว่าง data type บนหน้าฟอร์มกับ data type บนฟิลด์ในเทเบิล ทำให้ ODBC แปลงข้อมูลโดยอัตโนมัติเพื่อให้สามารถเก็บลงเทเบิลได้ ซึ่ง Access จะมองว่านั่นคือ ข้อมูลที่เพิ่งป้อนถูกแก้ไขไปอีกทีแล้ว สิ่งที่อยู่บนหน้าฟอร์มกับเทเบิลไม่เหมือนกันแล้วนะ ดังนั้นก่อนการบันทึกข้อมูลที่เราแก้ไขด้วยตัวเราเองอีกครั้งบนเรคอร์ดที่เพิ่งเพิ่มเข้าไป   Access ก็เลยเตือนออกมาอย่างที่เห็น   สำหรับ data type อะไรใน Access ควรแปลงไปเป็น data type อะไรใน MySQL  ให้ลองหาในเวปดูนะครับ  ส่วนสาเหตุอื่นๆนี่ อาจมี แต่ผมไม่รู้แล้วครับ

โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

2
ห้อง MS Access / : Loop เปลี่ยนสีแถบ Navigation
« เมื่อ: 13 มี.ค. 63 , 08:42:32 »
แบบนี้ไหมครับ



Sub Formstyle(frm As Form)
For Each ctl In frm.Controls
         If ctl.ControlType = acNavigationButton Or acNavigationControl And ctl.Tag = "b1" Then
                      ctl.BackColor = 4210943
         End If
    Next ctl
    'ctl = Nothing
End Sub

โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

3
ห้อง MS Access / : Loop เปลี่ยนสีแถบ Navigation
« เมื่อ: 12 มี.ค. 63 , 11:47:36 »
ทำปุ่มพื้นหลัง ให้เป็นสีที่ต้องการใช่ไหมคับ

โค๊ด: [Select]
Sub Formstyle(frm As Form)
Dim ctl     As Control
    For Each ctl In frm.Controls
        If ctl.ControlType = acNavigationButton And ctl.Tag = "b1" Then
                      ctl.BackColor = 11193702
             End If
    Next ctl
End Sub

แต่ถ้าอยากให้เปิดขึ้นมาแล้ว แสดงสี ถ้า tag = B1 ทั้งแบบที่กด Tab อยู่ และ ที่ยังไม่กดก็เพิ่มเป็น
โค๊ด: [Select]
Sub Formstyle(frm As Form)
Dim ctl     As Control
    For Each ctl In frm.Controls
        If ctl.ControlType = acNavigationButton And ctl.Tag = "b1" Then
                      ctl.BackColor = 11193702
                      ctl.PressedColor = 11193702
             End If
    Next ctl
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

4
สั่งบันทึกรหัสใว้ตอนดึงตารางมาครับ (แนวทางจากอ.TTT ดูที่ 26:35นาที)
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

5
- ปัจจุบันนี้ Router แทบจะทุกยี่ห้อ,ทุกรุ่นจะมีให้เปิดใช้งาน Dynamic DNS และ Forward Port ได้หมดครับ

- เมื่อ IP ของ Router มีการเปลี่ยนแปลง DDNS Service จะทำการตรวจสอบและเปลี่ยนแปลงให้เองโดยอัตโนมัติครับ(ประมาณ 5-10นาที / NoIP แบบฟรี)
ปล.บางครั้ง IP ที่ Router อาจจะไม่ตรงกับที่ออกเน็ตจริง(ผู้ให้บริการดักใว้)เราต้องติดต่อผู้ให้บริการที่เราใช้แล้วแจ้งว่าเลขไอพีไม่ตรงให้เขาทำการแก้ด้วยครับ(แนวว่าเราจะทำลิ้งดูกล้องวงจรปิด)

- IP ที่ Router ได้รับสามารถเข้าไปดูที่ตัว Router ของเราเช่นในหน้าต่าง Status > WAN Information
- IP ที่ออกเน็ตจริงหาตรวจสอบจากเว็บเช่น https://checkip.thaiware.com/ link ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

6
- ศึกษาระบบ VPN หรือไม่ก็ไปใช้ระบบ Dynamic DNS จากด้านบนครับ

ลูกค้าผมเคยเปิด VPN ให้ผมใช้ ลิงค์จาก Front-End ที่เครื่องผมที่บ้านไปยัง Back-End (.mdb) บนเครื่องลูกค้าปลายทางในต่างจังหวัด เร็วในระดับดีใช้ได้ แต่ค่าใช้จ่ายการทำ VPN คงสูงทีเดียว

แล้วขอสอบถามเพิ่มเติมว่า Router ทุกยี่ห้อจะมีให้ติดตั้ง Dynamic DNS ไหมครับ แล้วเมื่อ IP ของ Router เองเปลี่ยน มันจะส่งข้อมูลการเปลี่ยนแปลงนี้เพื่อไปอัพเดตที่ DDNS Service เองใช่ไหมครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

7
- MS SQL Server รันบนวินโดว์อยู่แล้ว แต่ถ้าเป็น MySQL Server นั้นจะมี2แบบคือติดตั้งบนวินโดว์(ต้องไปหาศึกษาวิธีการตั้งค่าใช้งานอีกที) กับอีกแบบคือทำงานบนลีนุกซ์ อันนี้ถ้าเราลงโปรแกรมพวก xampp จะมี MySQL Server ติดมาให้เราตั้งค่าตอนลงโปรแกรม=ลงเสร็จ MySQL Server พร้อมใช้ทันที่(ง่ายไปอีกแบบ)

- ตัวอย่างการติดตั้ง IIS บน Windows > วิธีการ ติดตั้ง WebServer ด้วย IIS เพื่อแชร์ไฟล์ โดยไม่ต้องเช่า host link

- ศึกษาระบบ VPN หรือไม่ก็ไปใช้ระบบ Dynamic DNS จากด้านบนครับ

ปล.ผมเคยลิ้งฐานข้อมูล(MySQL)จากข้างนอกไปยังบริษัทเพียงแค่ทำระบบ Dynamic DNS เท่านั้นไม่ถึงขั้นต้องทำ IIS ครับ (IIS บน Windows หลักๆมีใว้ทำ,หรือเขียนเว็บนะ / thai-access.com รันบน IIS)
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

9
ห้อง MS Access / : Access + mysql แสดงข้อความ #DELETE
« เมื่อ: 19 ส.ค. 62 , 17:09:01 »
https://www.thai-access.com/index.php?topic=525.msg2340
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

10
ไม่แน่ใจว่าคุณตั้งค่า 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

ปกติผมใช้เพราะ ผมใช้คอมหลายตัว แต่ไฟล์เดียวกัน ใช้อยู่คนเดียว เลยไม่เคยเจอปัญหานี้
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

11
ตอบรวม 2 ท่านนะครับ

ข้อจำกัดหลัก ก็จะมีอยู่ 2 ข้อคือ
1. ความเร็วของอินเทอร์เน็ต
2. จำนวนผู้ใช้งานต่อไฟล์ ซึ่งตามสเปคของ Access คือ 255 คนต่อไฟล์

สำหรับความเร็วของอินเทอร์เน็ตนี่ช่วยอะไรไม่ค่อยได้ ถ้าจะใช้ดีใช้ผ่านสาย LAN แทน Wifi จะดีสุด
ส่วนจำนวนผู้ใช้งานนั้นผมใช้เรื่องการเขียนโปรแกรมและการแยก UI กับ Data ออกจากกัน เท่าที่ผ่านมาก็ไม่ค่อยพบปัญหานะครับ ปัญหาที่เจอคือเน็ตช้ากับเน็ตล่มครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

12
ที่เคยใช้คือ เอาไฟล์ฝากไว้ใน One Drive แล้วใช้ได้ไม่มีปัญหานะครับ
เจอข้อจำกัดอะไรมั่งยังครับ เช่น ฐานที่มีขนาดใหญ่ หรือการใช้ร่วมกันหลายๆ คน
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

13
ที่เคยใช้คือ เอาไฟล์ฝากไว้ใน One Drive แล้วใช้ได้ไม่มีปัญหานะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

14
ต้องทำการ Split Database แล้วเอาตัว Database ไปวางใน Server ส่วน UI ให้วางที่เครื่อง User

จากนั้นเขียนโปรแกรมให้ทำการเชื่อมต่อกับฐานข้อมูลเฉพาะตอน Update/Delete คือสร้าง Form แบบ Unbound Objects แล้วมีปุ่ม Append เข้า Database เมื่อป้อนเสร็จแล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

15
จากเดิมที่ -->
อ้างถึง
*ในเทเบิ้ล "JPMA" มีชื่อคอลัมน์ RGB ซึ่งมันเป็นชื่อซ้ำกับตัวแปลไปแก้เป็นชื่ออื่นซะเป็นอันจบครับ
เมื่อเรามีการแก้ชื่อคอลัมน์ไปนั้น ในฟอร์มที่มีการลิ้งเทเบิ้ลดังกล่าวจะต้องมาทำทีเป็นว่าสั่งลิ้งเทเบิ้ลนั้นใหม่/ที่กล่องข้อความที่มีการลิ้งคอลัมน์ก็เช่นกัน(แม้เราจะเห็นว่ามันเปลี่ยนไปอัตโนมัติแล้วแต่บางที่โปรแกรมมันเอ้อครับ)


ส่วนเรื่องแปลง RGB เป็น HEX แล้วมาใช้โค้ดแปลงกลับมาเป็น RGB อีกนั้นเพื่ออะไรครับ :question:
คือจะบอกว่าที่ท่านใช้ให้อ่าน RGB จากกล่องข้อความมาเลยนั่นล่ะใช้ได้แล้วครับ


ไฟล์ที่ผ่านการแก้ไขชื่อเทเบิ้ลเป็น cRGB และแก้หน้าฟอร์มแล้ว & เปิดใช้สคลิปอ่านค่าสี RGB ของท่านด้วย
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

16
*ในเทเบิ้ล "JPMA" มีชื่อคอลัมน์ RGB ซึ่งมันเป็นชื่อซ้ำกับตัวแปลไปแก้เป็นชื่ออื่นซะเป็นอันจบครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

หน้า: [1] 2 3