คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

22 ก.พ. 67 , 16:47:20
อ่าน 565 ครั้ง

prajak

รบกวนสอบถามครับ ผมต้องการสร้างฟอร์มรับค่าบาร์โค๊ด คือเวลายิงบาร์โค๊ดที่ text box นั้นๆแล้ว ให้ไปดึงข้อมูลจากตารางมาแสดง ปัจจุบันใช้คำสั่ง Dlookup แต่พอข้อมูลเยอะขึ้น การดึงข้อมูลมาแสดงจะช้าลงมาก มีวิธีอืนที่ไวกว่านี้ไหมครับ

 

22 ก.พ. 67 , 18:02:12
ตอบกลับ #1

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #1 เมื่อ: 22 ก.พ. 67 , 18:02:12 »
ใช้คำสั่ง SQL ครับ เร็วกว่าเยอะ

SELECT * FROM ชื่อตาราง WHERE ชื่อฟิลด์ในตาราง = text box หรือ combo box บนฟอร์ม;

อย่าลืมปิดท้ายคำสั่งด้วย ; ทุกครั้ง
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

23 ก.พ. 67 , 09:32:50
ตอบกลับ #2

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #2 เมื่อ: 23 ก.พ. 67 , 09:32:50 »
ใช้คำสั่ง SQL ครับ เร็วกว่าเยอะ

SELECT * FROM ชื่อตาราง WHERE ชื่อฟิลด์ในตาราง = text box หรือ combo box บนฟอร์ม;

อย่าลืมปิดท้ายคำสั่งด้วย ; ทุกครั้ง
ผมไม่แน่ใจว่าแจ้งความต้องการให้อาจารย์ถูกต้องหรือเปล่านะครับ แต่ความต้องการคือประมาณนี้ครับตามรูป พอเรายิงbarcode ใน textbox ชื่อ barcode บนฟอร์ม Frm_Wr ให้ดึงข้อมูลจากตาราง tbl_DataBarcode มาลงในฟิวด์ต่างๆของฟอร์มครับ ทั้งนี้ผมแนบตัวอย่างไฟล์มาให้อาจารย์ช่วยดูให้หน่อยนะครับ

 

23 ก.พ. 67 , 11:41:41
ตอบกลับ #3

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #3 เมื่อ: 23 ก.พ. 67 , 11:41:41 »
เปลี่ยนวิธีนะครับ
ไปใส่ Text Box เพิ่มอีกอันนึง แบบตรงสีส้มที่มีข้อความ "Scan Barcode"
ที่ Event: After Update ของ Text Box อันใหม่นี้ก็สั่ง Run: Append Query เพื่อนำข้อมูลที่มี Barcode ตรงกันมาใส่ในตารางของฟอร์มข้างล่าง

แบบนี้จะเร็วกว่าครับ

รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

23 ก.พ. 67 , 13:34:45
ตอบกลับ #4

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #4 เมื่อ: 23 ก.พ. 67 , 13:34:45 »
เปลี่ยนวิธีนะครับ
ไปใส่ Text Box เพิ่มอีกอันนึง แบบตรงสีส้มที่มีข้อความ "Scan Barcode"
ที่ Event: After Update ของ Text Box อันใหม่นี้ก็สั่ง Run: Append Query เพื่อนำข้อมูลที่มี Barcode ตรงกันมาใส่ในตารางของฟอร์มข้างล่าง

แบบนี้จะเร็วกว่าครับ


แต่ Textbox Scan Barcode นี้เราจะต้องมีการยิงบาร์โค้ด หลายๆครั้งเลยนะครับ ปกติ barcode หลังจากที่เราสแกนแล้ว มันจะ enter เพื่อไป text อื่น

 

23 ก.พ. 67 , 13:45:45
ตอบกลับ #5

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #5 เมื่อ: 23 ก.พ. 67 , 13:45:45 »
จะยิงกี่ครั้งก็ได้ครับ Text Box ไม่พังแน่นอน

ที่ After Update เมื่อ สั่ง Append Query แล้ว ก็สั่ง Clear ค่าใน Text Box ให้เป็น "" หรือ Null ก็ได้ครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

23 ก.พ. 67 , 14:05:37
ตอบกลับ #6

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #6 เมื่อ: 23 ก.พ. 67 , 14:05:37 »
ทำตามที่อาจารย์แนะนำได้แล้วครับ แต่รบกวนสอบถามเพิ่มเติมอีกนิดนะครับ หลังจาก scan barcode แล้ว ผมสั่งให้ clear textbox แล้ว สั่ง me.requery เพื่อให้ฟอร์มแสดงข้อมูล record ใหม่ แต่ตำแหน่ง cursor จะไปอยู่ที่ record แรกแทน ถ้าเราต้องการให้ cursor อยู่ที่ตำแหน่ง text scanbarcode ตลอด ต้องทำยังไงครับ

ปล.เพิ่มเติมถ้า barcode ที่เราสแกนลงไป ไม่พบในฐานข้อมูล ให้แสดงเป็นข้อความหรือ error ต้องเขียนยังไงครับ
« แก้ไขครั้งสุดท้าย: 23 ก.พ. 67 , 14:35:04 โดย prajak »

 

23 ก.พ. 67 , 16:16:21
ตอบกลับ #7

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #7 เมื่อ: 23 ก.พ. 67 , 16:16:21 »
ถ้าเราต้องการให้ cursor อยู่ที่ตำแหน่ง text scanbarcode ตลอด ต้องทำยังไงครับ
-ใช้คำสั่ง text scanbarcode.setfocus

ถ้า barcode ที่เราสแกนลงไป ไม่พบในฐานข้อมูล ให้แสดงเป็นข้อความหรือ error ต้องเขียนยังไงครับ
-ใช้คำสั่ง On Error Goto xxx (ไปค้นวิธีการใช้คำสั่งนี้เองนะครับ)
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

23 ก.พ. 67 , 16:32:06
ตอบกลับ #8

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #8 เมื่อ: 23 ก.พ. 67 , 16:32:06 »
ถ้าเราต้องการให้ cursor อยู่ที่ตำแหน่ง text scanbarcode ตลอด ต้องทำยังไงครับ
-ใช้คำสั่ง text scanbarcode.setfocus

ถ้า barcode ที่เราสแกนลงไป ไม่พบในฐานข้อมูล ให้แสดงเป็นข้อความหรือ error ต้องเขียนยังไงครับ
-ใช้คำสั่ง On Error Goto xxx (ไปค้นวิธีการใช้คำสั่งนี้เองนะครับ)
ขอบคุณมากนะครับ

 

24 ก.พ. 67 , 08:34:43
ตอบกลับ #9

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #9 เมื่อ: 24 ก.พ. 67 , 08:34:43 »
ถ้าเราต้องการให้ cursor อยู่ที่ตำแหน่ง text scanbarcode ตลอด ต้องทำยังไงครับ
-ใช้คำสั่ง text scanbarcode.setfocus

ถ้า barcode ที่เราสแกนลงไป ไม่พบในฐานข้อมูล ให้แสดงเป็นข้อความหรือ error ต้องเขียนยังไงครับ
-ใช้คำสั่ง On Error Goto xxx (ไปค้นวิธีการใช้คำสั่งนี้เองนะครับ)
ขอบคุณมากนะครับ
อาจารย์ครับ กรณี barcode ที่เราสแกนลงไปมันไม่พบในตารางฐานข้อมูล มันแค่ไม่ append data มา แต่มันจะไม่ขึ้นerrorอะไร ผมไม่รู้จะใช้ on error ตรงไหนครับ

 

24 ก.พ. 67 , 10:33:17
ตอบกลับ #10

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #10 เมื่อ: 24 ก.พ. 67 , 10:33:17 »
เปลี่ยนมาใช้ IF dcount(...) = 0 then
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

12 มี.ค. 67 , 10:06:11
ตอบกลับ #11

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #11 เมื่อ: 12 มี.ค. 67 , 10:06:11 »
เปลี่ยนวิธีนะครับ
ไปใส่ Text Box เพิ่มอีกอันนึง แบบตรงสีส้มที่มีข้อความ "Scan Barcode"
ที่ Event: After Update ของ Text Box อันใหม่นี้ก็สั่ง Run: Append Query เพื่อนำข้อมูลที่มี Barcode ตรงกันมาใส่ในตารางของฟอร์มข้างล่าง

แบบนี้จะเร็วกว่าครับ


อาจารย์ครับ ถ้า Text box "Scan barcode อยู่บน main form แต่เราต้องการ append query ให้ลงบน subform มันต้องทำยังไงครับ ( ถ้าไม่มี subform เป็นform ปกติผมทำได้ครับ เหมือนมัน relationship กันอยู่ มันเลยทำไม่ได้)

 

12 มี.ค. 67 , 17:22:47
ตอบกลับ #12

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #12 เมื่อ: 12 มี.ค. 67 , 17:22:47 »
สั่ง Append เข้าตารางของ Subform แล้วสั่ง Requery ครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: champ9830

12 มี.ค. 67 , 21:40:15
ตอบกลับ #13

champ9830

  • สมาชิกไท.Access
  • กระทู้: 1

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #13 เมื่อ: 12 มี.ค. 67 , 21:40:15 »
ปล.ขออนุญาตนะครับอาจารย์ พอดีอีก account หนึ่งผมเข้าไม่ได้ กดลืม password ก็ไม่มีเมลส่งมาเลย ก็เลยสมัคร account ใหม่ครับ
รบกวนอาจารย์ช่วยทำให้ดูเป็นตัวอย่างสักหน่อยได้ไหมครับ ลองแล้วทำไม่เป็นครับ ทั้งนี้ผมแนบไฟล์มาให้ช่วยดูด้วยครับ ขอบพระคุณล่วงหน้าด้วยนะครับ

 

13 มี.ค. 67 , 10:00:30
ตอบกลับ #14

OddyWriter

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #14 เมื่อ: 13 มี.ค. 67 , 10:00:30 »
ตัวอย่างครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

13 มี.ค. 67 , 17:12:04
ตอบกลับ #15

prajak

: คำสั่ง Dlookup ช้ามาก มีวิธีอื่นไหมครับ
« ตอบกลับ #15 เมื่อ: 13 มี.ค. 67 , 17:12:04 »
ตัวอย่างครับ
ขอบพระคุณมากนะครับอาจารย์ ทำได้แล้วครับ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5