แสดงกระทู้

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 - เก่ง

หน้า: [1]
1
ผมลองมาหลายวิธีแล้ว ทั้งเก็บในคลาวด์ต่าง ๆ ทั้ง sql server / google sql / mysql
วิธีเอาไว้ในพื้นที่คลาวด์ไม่แนะนำเพราะช้า ยิ่งฐานข้อมูลใหญ่ขึ้น ยิ่งช้า เสี่ยงเกิดข้อผิดพลาดของข้อมูล

แนะนำแบบเม้นบนครับ
ถ้าใช้แบบออฟไลน์ วางไว้ที่เครื่องเซิฟเวอร์แล้วใช้งานแบบแชร์ไฟล์

ถ้าใช้แบบออนไลน์สำหรับ work from home ผมใช้ odbc+mysql ฐานข้อมูลบนเว็บไซต์ วิธีนี้ทำงานเร็วใกล้เคียงกับแบบออฟไลน์
ข้อแนะนำ
- เลือกโฮสดี ๆ ถ้าล่มบ่อยก็จะมีปัญหา
- ต้องปรับปรุงโค้ดนิดหน่อย
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

2
ไม่แนะนำให้ใช้ OneDrive ครับ

จากที่เคยทดลองมา ถึงจะสามารถใช้ได้ก็จริง แต่มันใช้เวลาในการ Process แต่ละ Transaction นานมาก ตอนทดสอบก็ประมาณ 30 วินาทีต่อ 1 เรคอร์ด

สมมติว่ามีผู้ใช้ 2 คน ชื่อ A กับ B

เวลา A ป้อนข้อมูลแล้วกด Enter ทั้ง A และ B ต้องรอประมาณ 30 วินาทีกว่าจะเห็นว่าข้อมูลถูก Update แล้ว

แนะนำว่าให้เก็บไฟล์ไว้ใน Server ของหน่วยงานแล้ว Share ให้ใช้จะเร็วกว่า

ถ้า 2 หน่วยงานอยู่ไกลกันก็เพิ่ม VPN เข้าไป
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

3
Trust Center ใน Runtime จะไม่มีให้ตั้งค่า ใช้วิธีแก้ Registry โดยเพิ่ม Trusted Locations
https://www.accessribbon.de/en/?Trust_Center:Trusted_Locations
ถ้างงว่าแก้ยังไงในเว็บด้านล่างโหลดโปรแกรมตามเวอร์ชั่น runtime แตกไฟล์โปรแกมออกมา > นำไปวางใว้ที่เดียวกับไฟล์ Access > รันโปรแกรมจะทำการแก้ regedit ให้ > ทนลองเปิดไฟล์งาน

* สั่งรันเพื่อแก้ regedit เพียงครั้งเดียวต่อหนึ่งที่อยู่ (รันเสร็จลบหรือย้ายไปรันที่อื่นต่อได้)
* ถ้ามีไฟล์ Access อยู่หลายที่เช่น
1. c:/งาน1
2. d:/งาน2/งาน2.2
ให้นำโปรแกรมไปวางใว้แล้วส้่งรันในทุกที่เหมือนเป็นการเพิ่มระเบียนว่ามีที่ไหนบ้างให้ runtime ยอมรับว่าปลอดภัย

ปล.ในส่วนของ Action Query ลองทำตาม อ.สันติสุข ดูก่อนนะครับ :prettiness:
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

4
ถ้าต้องการสั่งให้ Action Query ไม่ต้องถามยืนยันทุกครั้งที่ทำงาน ก็ใช้โค้ด application.SetOption "Confirm Action Queries", False ใส่ไว้ในส่วนต้นๆของโค้ดที่ทำงานทุกครั้งที่เปิดแอปพลิเคชั่นก็ได้
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

5
ทำคิวรี่ขึ้นมาใหม่ เอาของที่เขาให้คำตอบข้างบน เลือกตาราง/คิวรี่ เลือกชื่อคิวรี แล้วก็สั่ง sum ในคิวรี่ที่สองที่สร้างขึ้นใหม่
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

6
ทำ Query Distinct แบบนี้ได้ไหม
SELECT DISTINCT Quater, SuppliersQTarget, ...
FROM Q_0KADAIQ1;
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

7


ผมสมมุติบนฟอร์มมี textbox เก็บ ไอดีชื่อ txtID
มีฟิลล์ ID เป็น Primary Key

ที่แหลงควบคุม หรือ ControlSource ของ textbox ที่โชว์ตัวเลข ใส่โค้ดแบบนี้เข้าไปเช่น
=DLookUp("[Estimated TonCO2/Year]","[Q_0KADAIQ1]","[ID] =" & [txtID] & "")

โดยท่านต้องไปดูว่า Primary key ของคิวรี่นั้นตั้งไว้ชื่ออะไร datatype แบบไหน ถ้าแบบตัวเลขใช้ข้างบนได้เลย
ถ้าเป็นแบบตัวอักษร ใช้
=DLookUp("[Estimated TonCO2/Year]","[Q_0KADAIQ1]","[ID] ='" & [txtID] & "'")
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

8
คุณตกอักษร s หลังคำว่า Form ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

9
https://www.thai-access.com/index.php?topic=411.0
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

หน้า: [1]