EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)bank9597 wrote: ลองดูครับ
=DSum("[Amount]","tblData","[UserName]= '" & [txtUser] & "' and [TransDate]=date()")
สูตรแบบที่ต้องการเลยครับ ขอปรับสูตรตรง =Date() เป็นแบบกรอกวันที่เองดีกว่าครับ ติดที่สุดท้ายแล้วครับbank9597 wrote: ลองปรับจากสูตรนี้ครับ
=DSum("[Amount]","tblData","[UserName]= '" & [txtUser] & "' and [TransDate]=date() and [TransTime]>=[txtFrom] and [TransTime]<=[txtTo]")
ไฟล์ที่แนบมาผมลองแล้ว Access Error เลยครับbank9597 wrote:
=DSum("[Amount]","tblData","[UserName]= '" & [txtUser] & "' and [TransDate]=[txtDate] and [TransTime]>=[txtFrom] and [TransTime]<=[txtTo]")
ผมไม่แนะนำให้ใช้สูตรครับ ทางที่ดี เขียนโค๊ดคำนวนจะดีกว่า เพราะเมื่อข้อมูลมีจำนวนมาก จะทำให้คำนวนช้าและส่งผลให้การเปิดฟอร์มช้าไปด้วยครับ
ได้แล้วครับbank9597 wrote: ลองปรับฟอร์แมตของ Control ครับ
ที่ txtDate ฟอร์แมตเป็น ShortDate
ที่ txtFrom ฟอร์แมตเป็น LongTime
ที่ txtTo ฟอร์แมตเป็น LongTime
ผลที่ได้
ผมแก้ไขปัญหานี้ได้แล้วครับ ขอบคุณครับที่ให้คำแนะนำbank9597 wrote: อย่าเพิ่มภาระการคำนวนให้กับโปรแกรมเลยครับ
ปรับสูตรเป็น
=IIf(IsNull([txtUser]),"",IIf(IsNull([txtDate]),"",IIf(IsNull([txtFrom]),"",IIf(IsNull([txtTo]),"",DSum("[Amount]","tblData","[UserName]= '" & [txtUser] & "' and [TransDate]=[txtDate] and [TransTime]>=[txtFrom] and [TransTime]<=[txtTo]")))))
**อ้างอิงไฟล์ที่ผมแนบไว้ล่าสุดครับ