ตรวจสอบว่าเป็น Barcode Scaner หรือเปล่า
กระทู้เก่าบอร์ด อ.Yeadram

 2,815   7
URL.หัวข้อ / URL
ตรวจสอบว่าเป็น Barcode Scaner หรือเปล่า

พอดีเห็นหัวข้อเมื่อกี๊ถามเกี่ยวกับเรื่องบาร์โค๊ด ผมก็เลยนึกขึ้นได้อย่างนึงว่า
เคยมีปัญหาติดขัดอยู่อย่างนึงอยากถามมาตั้งนานละ

ปัญหาก็คือ MsAccess จะรู้ได้อย่างไรว่าเป็นการป้อนข้อมูลจาก barcode scaner หรือ keyboard

ต้องเขียน code detect อย่างไร

7 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00819
คุ้นๆ ว่า digit แรกกับ digit สุดท้ายของบาร์โค้ดฟอนท์
น่าจะเป็นตัวเช็คได้ว่าเป็นบาร์โค้ดฟอนท์อะไร
(โค้ด 39 หรือ โค้ด 128 อะไรประมาณเนี้ย)
พอดีไม่มี barcode scanner ให้ลอง อิอิ....
2 @R00830
ผมว่าไม่น่าจะมีทางรู้นะครับ เพราะเมื่อเรายิงบาร์โค้ด ตัวเครื่องบาร์โค้ดจะส่งสัญญาณเลียนแบบสัญญาณไฟฟ้าในการกดคีย์บอร์ด คือมันอยู่ลึกถึงระดับ hardware layer ... แต่ตรงนี้ถ้าผมเข้าใจผิดอะไรก็ขอโทษมาด้วยแล้วกัน เพราะผมรู้ไม่จริงครับ แค่ "คาดว่า" เท่านั้นครับ

แต่มีวิธี manual อย่างนึงที่พอจะบอกได้ แม้ไม่ 100% ก็คือให้ทำ option หรือ check box ให้ผู้ป้อนเลือกเอาก่อน ถ้าจะป้อนด้วยมือก็เลือกแบบหนึ่ง ถ้าจะป้อนจาก barcode scanner ก็เลือกอีกตัวเลือกหนึ่ง
3 @R00837
คิดเหมือนกันเลย...
แหมรู้ใจจริงๆนะครับ

จริงแล้ว ผมแค่อยากออกแบบให้มันใช้ง่ายๆ คือถ้าป้อนข้อมูลผ่านบาร์โค๊ด ผมอยากให้มัน save ไปเลย แต่ถ้าป้อนข้อมูลผ่านคียบอร์ด ผมอยากให้ผู้ใช้เป็นคนกด Save เอง

ก็กะว่าถ้าใครพอรู้มาตอบให้ก็ดี ถ้าไม่ได้ก็คงต้องใช้วิธี manual แบบที่คุณสันติสุขแนะนำ
4 @R00845
เท่าที่ทราบ คำสั่งทั่วไปที่ใช้ในการเปิดการอ่าน และปิดการอ่าน จะใช้เครื่องหมาย *
แต่เมื่อ Scan แล้วข้อมูลที่ส่งกลับมาที่ Field จะไม่มีเครื่องหมาย * กลับมาด้วย
ฉะนั้น เราจึงแยกไม่ออกครับ

ถ้ามีเครื่อง Scan Barcode เราลองทำ Barcode ใน Excel ดู โดยพิมพ์ดังนี้
="*"&12345&"*"
แล้วเปลี่ยน Fonts เป็น 39
แล้วลอง Scan ดู ใน Excel ก็ได้
ผลลัพธ์ คือ 12345 ครับ

แต่ถ้าไม่มี * นำหน้า และปิดท้าย เครื่อง Scan จะอ่าน Barcode ไม่ออก ครับ

ขอบพระคุณมากๆ ครับ
5 @R00847
คุ้นๆ ว่าหัวอ่านบาร์โด้ด มันโปรแกรมให้ใส่โค้ด เอ็นเทอร์ (Enter)
(ผมจำไม่ได้ว่าเป็นรหัสแอสกี้เบอร์อะไร) ต่อท้ายเข้าไปในรหัสแท่งที่อ่านได้
จากนั้นเราก็ใช้อีเวนท์ Keypress จับว่าถ้าได้แอสกี้โค้ดที่เป็นเอ็นเทอร์
ก็ให้อ่านฟิลด์ข้อมูลนั้นได้ครับ.
6 @R00848
Private Sub txtTagNo_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 9 Or KeyCode = 13 Then


End If

End Sub
7 @R00849
ขอบคุณทุกท่านนะครับ...
ที่พยายามช่วยเหลือ แต่ว่า ผมยังมองไม่ออกอยู่ดีว่ามันจะแยกออกได้อย่างไรว่า อันไหนเป็นคียบอร์ด อันไหนเป็นเครื่องยิงบาร์โค๊ด
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3194s