Case Sensitive
กระทู้เก่าบอร์ด อ.Yeadram

 2,078   4
URL.หัวข้อ / URL
Case Sensitive

ต้องการกรอกข้อมูลในตารางดังนี้
ตัวอย่างโครงสร้างของตารางชื่อ "UserLogin"
Field name : UserID (คีย์หลัก)
Field type : Text
Field length : 50

และมีข้อมูลที่จะกรอกดังนี้
1. Bobie
2. BOBIE
3. Phoenix
4. PHOENIX

ถ้าหากทำให้เป็นคีย์หลักแล้ว Access จะไม่อนุญาตให้พิมพ์ซ้ำ
ซึ่งจากข้อมูลตัวอย่างในเรคอร์ดที่ 1 และ 2 กับ 3 และ 4 Access ถือว่าซ้ำกัน
จะมีวิธีการอย่างไรเพื่อทำให้ Access รับข้อมูลแบบ "ตัวเล็กตัวใหญ่มีค่าต่างกัน"
(case sensitive)

ขอบคุณครับ

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

1 @R00851
ucase() ฟังก์ชั่นให้กำหนดอักขระเป็นตัวพิมพ์ใหญ่
lcase() ฟังก์ชั่นให้กำหนดอักขระเป็นตัวพิพม์เล็ก
ใส่ทั้งสองฝั่งของสมการ แล้วดูว่าเท่ากันไหม ถ้าเท่ากันแสดงว่าซ้ำ เช่น

sq=rs(0)
tx = text1
if ucase(sq)=ucase(tx) then........

กรณีเป็นภาษาไทย ไม่มีปัญหาเพราะไม่มีระบบตัวพิมพ์ใหญ่-เล็ก แค่วรรณยุกต์ต่างก็ถือว่าต่างกันแล้ว

แต่ว่า.. กรณีการล็อกอิน
หากเปรียบเทียบด้วยการใช้โอเปอเรเตอร์ = จะค่อนข้างเสี่ยง มากกว่า การใช้ operator Like

ถ้าต้องการฟิกซ์มากกว่านี้ ควรใช้วิธีเปรียบเทียบด้วยรหัส Ascii แบบอักขระต่ออักขระเลยครับ

if len(sq) <> len(tx) then goto ckFalse
for i = 1 to len(sq)
if asc(mid(sq,i,1)) <> asc(mid(tx,i,1)) then goto ckFase
next
2 @R00852
ขอบคุณ คุณ yeadram ที่ตอบคำถามให้ครับ

ขอโทษที่บอกไม่ชัดเจน
คำถามของผมคือการกรอกข้อมูลลงในตารางของ Microsoft Access ครับ ซึ่งผมไม่ทราบว่าจะใส่สูตรที่คุณ yeadram ว่ามาได้ยังไง

จำได้ว่าเคยหาเว็บดู เค้าบอกว่า MS Access สามารถตั้งค่าตอนสร้างตารางได้ว่าให้ "Case Sensitive" ได้ แต่ผมหาไม่พบเลยครับ
3 @R00854
Pat Hartman03-18-2005, 07:20 PM.....................
Jet does not support case sensitive keys. You'll need to use SQL server or something else.


.........................
NOTE: In general, case-sensitive data should not need to be stored in a database. You should be able to match "Jones" with "JONES." If you need to store case-sensitive data, such as passwords, please consider carefully the ramifications of each of the methods outlined in this article.
..more...http://support.microsoft.com/kb/244693
4 @R00856
อ่านแล้วน่าสนใจมากครับ โดยเฉพาะหัวข้อ Binary Field ในหน้าลิงค์ที่ให้ ซึ่งแก้ไขปัญหาของคุณชยางกูรได้ดีทีเดียว รายละเอียดสำคัญอยู่ในส่วน NOTES ทั้งหมด
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3295s