snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Access and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่างเพิ่มเติม)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#1
Post
by Serverchita » Fri Dec 18, 2015 2:36 pm
ผมอยากใช้ Match ใน VBA บน Access ครับ สามารถใช้ได้ไหมครับ
หากใช้ได้ จะใช้แบบไหนครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#2
Post
by bank9597 » Fri Dec 18, 2015 3:25 pm
ลองใช้เป็นคิวรี่ดูครับ จะง่ายกว่า
ส่วนเป็น VBA นั้น ต้องลองเขียนมาก่อนครับ
การ Macth ความหมายค่อนข้างกว้างครับ Mach เพื่ออะไร ต้องการค่าอย่างไร ลองชี้แจงมาให้ทราบอีกครั้ง หรือ ทำไฟล์ตัวอย่างมาดูครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#3
Post
by Serverchita » Fri Dec 18, 2015 3:58 pm
ผมแนบไฟล์ตัวอย่างเป็น ไฟล์ Excel มาให้ดูนะครับ เพราะผมอยากได้แนวทางแบบนี้ บน access
คือเวลา Scan ออกงานให้วันที่และเวลาของรหัสพนักงานที่กรอกลงไปวิ่งไปจับคู่กันครับ
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#4
Post
by bank9597 » Fri Dec 18, 2015 4:09 pm
แบบนั้น ใช้อัพเดทคิวรี่ครับ
ใส่เงื่อนไขเป็นรหัสพนักงาน และค่าที่จะนำไปอัพเดทก็คือ วันที่และเวลา ตามฟิลล์นั้นๆ
ถ้าอยากเห็นภาพชัดเจน ให้ทำไฟล์ตัวอย่าง Access มาครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#5
Post
by Serverchita » Fri Dec 18, 2015 5:10 pm
ผมทำได้ประมาณนี้ครับ อยากให้เวลา Scan บัตรพนักงานแล้วอัพเดทให้เห็นทันที
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#6
Post
by bank9597 » Fri Dec 18, 2015 5:28 pm
ตารางไม่ควรแยก IN และ Out ออกจากกันครับ ควรเก็บข้อมูลอยู่ในตารางเดียวกัน
หลักการคือ ลงเวลาครั้งแรกของวันคือ "เข้า" ครั้งที่ 2 เป็นต้นมาคือ "ออก" ซึ่งจะง่ายกว่าครับ
ส่วนที่คุณทำมานั้น คุณต้องเช็คก่อนครั้งที่จะลงเวลาออก เพราะถ้าหากมีการกดซ้ำ จะมี Record เพิ่มขึ้นมา
ถ้าไม่เปลี่ยน สามารถใช้ Append Query ได้เลยครับ
โค๊ดผมจะยังไม่เขียนให้น่ะครับ ตามกฏของฟอรั่ม
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#7
Post
by Serverchita » Sat Dec 19, 2015 9:12 am
ผมยังทำไม่เป็นครับ ไม่เป็นไรครับ ขอบคุณครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#8
Post
by bank9597 » Sat Dec 19, 2015 9:23 am
เขียนคิวรี่ที่สั่งบันทึกข้อมูลน่ะครับ เป็นคิวรี่ประเภท Append เช่นตั้งชื่อว่า qryAppendTime
จากนั้นก็สร้างปุ่ม ภายในปุ่มเขียนคำสั่งว่า docmd.OpendQuery "qryAppendTime"
แค่นั้นเองครับ ทำได้อยู่แล้ว
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#9
Post
by Serverchita » Mon Dec 21, 2015 7:33 pm
ขอบคุณครับที่แนะนำ แต่ผมยังทำไม่ได้ ผมหาวิธีอื่นได้ตามที่ผมต้องการแต่ไม่รู้ว่าถ้าข้อมูลเยอะจะช้าหรือป่าว
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#10
Post
by bank9597 » Tue Dec 22, 2015 8:00 am
เอาที่ใช้ได้ก่อนครับ ส่วนเรื่องอื่นค่อยว่ากันอีกที
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ