หัวข้อนี้มีข้อมูลอ้างอิงและข้อมูลวิธีการที่จำกัดสำหรับการใช้อักขระตัวแทนที่ให้มาโดย Access
สำหรับข้อมูลเกี่ยวกับการค้นหาอักขระตัวแทนในฐานข้อมูล Access ให้ดูบทความ ใช้กล่องโต้ตอบ ค้นหาและแทนที่ เพื่อเปลี่ยนแปลงข้อมูลสร้างคิวรีการเลือกอย่างง่าย และ อัปเดตข้อมูลในฐานข้อมูล
ในหัวข้อนี้
เกี่ยวกับชุดอักขระที่สนับสนุน
Access สนับสนุนอักขระตัวแทนสองชุด เนื่องจากสนับสนุนมาตรฐานสองชุดสําหรับ Structured Query Language คือ ANSI-89 และ ANSI-92 ตามกฎแล้ว คุณจะใช้อักขระตัวแทน ANSI-89 เมื่อคุณเรียกใช้คิวรีและการดําเนินการค้นหาและแทนที่กับฐานข้อมูล Access — ไฟล์ .mdb และ .accdb คุณสามารถใช้อักขระตัวแทน ANSI-92 เมื่อคุณเรียกใช้คิวรีกับโครงการ Access — ไฟล์ Access ที่เชื่อมต่อกับฐานข้อมูล Microsoft SQL Server โครงการ Access ใช้มาตรฐาน ANSI-92 เนื่องจาก SQL Server ใช้มาตรฐานนั้น
อย่างไรก็ตาม Access ยังมีข้อยกเว้นสําหรับกฎนั้นด้วย ตารางต่อไปนี้แสดงรายการวิธีการหรือเครื่องมือที่คุณสามารถใช้เพื่อค้นหาและแทนที่ข้อมูล และแสดงมาตรฐาน ANSI เริ่มต้นที่คุณใช้กับแต่ละเครื่องมือ
วิธีการหรือเครื่องมือค้นหา |
ชนิดของไฟล์ที่ค้นหา |
ชุดอักขระตัวแทนที่ใช้ |
กล่องโต้ตอบ ค้นหาและแทนที่ |
ฐานข้อมูล Access (ไฟล์ .mdb และ .accdb) |
ANSI-89 |
กล่องโต้ตอบ ค้นหาและแทนที่ |
โครงการ Access (ไฟล์ .adp และ .accdp) |
ANSI-92 |
คิวรีการเลือกหรือคิวรีการอัปเดต |
ฐานข้อมูล Access (ไฟล์ .mdb และ .accdb) |
ANSI-89 |
คิวรีการเลือกหรือคิวรีการอัปเดต |
โครงการ Access (ไฟล์ .adp และ .accdp) |
ANSI-92 |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรีการเลือกหรือคิวรีการอัปเดต |
ฐานข้อมูล Access ถูกตั้งค่าให้สนับสนุนมาตรฐาน ANSI-92 |
ANSI-92 |
ค้นหามาตรฐาน ANSI ที่ฐานข้อมูลสนับสนุน
ทำตามขั้นตอนเหล่านี้เพื่อค้นหาและเปลี่ยนการตั้งค่า ANSI สำหรับฐานข้อมูลที่กำหนด
-
คลิก ไฟล์ > ตัวเลือก
กล่องโต้ตอบ ตัวเลือกของ Access จะปรากฏขึ้น
-
คลิก ตัวออกแบบวัตถุ และในส่วน ออกแบบคิวรี ภายใต้ ไวยากรร์ที่เข้ากันได้กับ SQL Server (ANSI 92) ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้:
-
เลือก ฐานข้อมูลนี้ เพื่อเปลี่ยนฐานข้อมูลที่เปิดให้เป็นมาตรฐาน ANSI-92
-หรือ-
ล้างกล่องกาเครื่องหมายเพื่อตั้งให้ฐานข้อมูลที่เปิดเป็นมาตรฐาน ANSI-89
-
เลือก ค่าเริ่มต้นสำหรับฐานข้อมูลใหม่ เพื่อตั้งค่าฐานข้อมูลใหม่ทั้งหมดที่สร้างขึ้นด้วยอินสแตนซ์เปิดของ Access เป็นมาตรฐาน ANSI-92
-หรือ-
ล้างกล่องกาเครื่องหมายเพื่อตั้งให้ฐานข้อมูลใหม่ทั้งหมดเป็นมาตรฐาน ANSI-89
-
-
คลิก ตกลง
อักขระตัวแทน ANSI-89
ใช้อักขระตัวแทนชุดนี้เมื่อคุณใช้กล่องโต้ตอบ ค้นหาและแทนที่ เพื่อค้นหาและแทนที่ข้อมูลในฐานข้อมูล Access หรือโครงการ Access คุณยังสามารถใช้อักขระเหล่านี้เมื่อคุณเรียกใช้คิวรีแบบใช้เลือกข้อมูลและคิวรีแบบใช้อัปเดตข้อมูลกับฐานข้อมูล Access แต่คุณไม่ได้ใช้ในคิวรีที่เรียกใช้กับโครงการ Access สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้คิวรีแบบใช้เลือกข้อมูลและคิวรีแบบใช้อัปเดตข้อมูล ให้ดูบทความ Create คิวรีแบบใช้เลือกข้อมูลอย่างง่าย และ อัปเดตข้อมูลในฐานข้อมูล
อักขระ |
คำอธิบาย |
ตัวอย่าง |
* |
ตรงกับจํานวนอักขระใดๆ คุณสามารถใช้เครื่องหมายดอกจัน (*) ที่ใดก็ได้ในสตริงอักขระ |
wh* จะพบคำว่า what, white และ why แต่จะไม่พบคำว่า awhile หรือ watch |
? |
ตรงกับอักขระตัวอักษรเดียวใดก็ได้ |
B?ll จะค้นหา ball, bell และ bill |
[ ] |
ตรงกับอักขระตัวเดียวใดก็ตามภายในวงเล็บ |
B[ae]ll จะค้นหา ball และ bell แต่จะไม่ค้นหา bill |
! |
ตรงกับอักขระใดก็ตามที่ไม่อยู่ในวงเล็บ |
b[!ae]ll จะค้นหา bill และ bull แต่จะไม่ค้นหา ball หรือ bell |
- |
ตรงกับช่วงของอักขระใดๆ คุณต้องระบุช่วงจากน้อยไปหามาก (A ถึง Z ไม่ใช่ Z ถึง A) |
b[a-c]d จะพบคำว่า bad, bbd และ bcd |
# |
ตรงกันกับอักขระตัวเลขหนึ่งอักขระ |
1#3 จะพบตัวเลข 103, 113 และ 123 |
อักขระตัวแทน ANSI-92
ใช้อักขระตัวแทนชุดนี้เมื่อคุณเรียกใช้คิวรีการเลือกและคิวรีการอัปเดตกับโครงการ Access (ไฟล์ .adp) และเมื่อใช้ชนิดคิวรีหรือกล่องโต้ตอบ ค้นหาและแทนที่ เพื่อค้นหาชุดฐานข้อมูลเพื่อใช้มาตรฐาน ANSI-92
อักขระ |
คำอธิบาย |
ตัวอย่าง |
% |
ตรงกับจํานวนอักขระใดๆ ซึ่งสามารถใช้เป็นอักขระตัวแรกหรือตัวสุดท้ายในสตริงอักขระได้ |
wh% จะค้นหา what, white และ why แต่จะไม่ค้นหา awhile หรือ watch |
_ |
ตรงกับอักขระตัวอักษรเดียวใดก็ได้ |
B_ll จะค้นหา ball, bell และ bill |
[ ] |
ตรงกับอักขระตัวเดียวใดก็ตามภายในวงเล็บ |
B[ae]ll จะค้นหา ball และ bell แต่จะไม่ค้นหา bill |
^ |
ตรงกับอักขระใดก็ตามที่ไม่อยู่ในวงเล็บ |
b[^ae]ll จะค้นหา bill และ bull แต่จะไม่ค้นหา ball หรือ bell |
- |
ตรงกับช่วงของอักขระใดๆ คุณต้องระบุช่วงจากน้อยไปหามาก (A ถึง Z ไม่ใช่ Z ถึง A) |
b[a-c]d จะค้นหา bad, bbd และ bcd |
หมายเหตุ:
-
เมื่อต้องการค้นหาอักขระตัวแทนที่อยู่ในข้อมูลของคุณ ให้ใส่อักขระที่คุณต้องการค้นหาในวงเล็บ ดังนี้: [#] ทําตามกฎนี้เมื่อคุณค้นหาเครื่องหมายดอกจัน (*) เครื่องหมายคําถาม (?) เครื่องหมายปอนด์ (#) วงเล็บเปิด ([) และเครื่องหมายยัติภังค์ (-) อย่าใช้วงเล็บเหลี่ยมเมื่อค้นหาเครื่องหมายอัศเจรีย์ (!) หรือวงเล็บปิด (]) เมื่อต้องการค้นหาอักขระเหล่านั้นโดยใช้กล่องโต้ตอบ ค้นหาและแทนที่ ให้พิมพ์อักขระในกล่อง สิ่งที่ค้นหา โดยไม่มีวงเล็บเหลี่ยมล้อมรอบ คุณทําตามวิธีการเดียวกันเมื่อค้นหาอักขระโดยใช้คิวรี ตัวอย่างเช่น ไวยากรณ์ต่อไปนี้จะส่งกลับระเบียนทั้งหมดที่มีเครื่องหมายอัศเจรีย์ โดยไม่คํานึงถึงตําแหน่งของอักขระที่อยู่ในข้อมูลของคุณ เช่น "*!*"
สําหรับข้อมูลเกี่ยวกับการใช้กล่องโต้ตอบ ค้นหาและแทนที่ ให้ดูบทความ ใช้กล่องโต้ตอบ ค้นหาและแทนที่ เพื่อเปลี่ยนข้อมูล สําหรับข้อมูลเกี่ยวกับการใช้คิวรีแบบใช้เลือกข้อมูลและคิวรีแบบใช้อัปเดตข้อมูล ให้ดูบทความ Create คิวรีแบบใช้เลือกข้อมูลอย่างง่าย และ อัปเดตข้อมูลในฐานข้อมูล
ถ้าคุณกําลังค้นหาเครื่องหมายยัติภังค์และอักขระอื่นๆ พร้อมกัน ให้ใส่เครื่องหมายยัติภังค์ก่อนหรือหลังอักขระอื่นๆ ทั้งหมดภายในวงเล็บ ดังนี้: [-#*] หรือ [#*-] อย่างไรก็ตาม ถ้าคุณมีเครื่องหมายอัศเจรีย์ (!) หลังวงเล็บเปิด ให้ใส่เครื่องหมายยัติภังค์หลังเครื่องหมายอัศเจรีย์: [!-]
-
เมื่อต้องการค้นหาคู่ของวงเล็บเปิดและวงเล็บปิด ([]) คุณต้องใส่ทั้งสองอักขระในวงเล็บ ดังนี้: [[]] คุณต้องทําเช่นนี้เนื่องจาก Access จะแปลวงเล็บคู่เดียวเป็น สตริงความยาวเป็นศูนย์
ชนิดข้อมูลที่คุณสามารถค้นหาโดยใช้อักขระตัวแทน
เมื่อคุณออกแบบตาราง คุณจะตั้งค่าชนิดข้อมูลให้กับแต่ละเขตข้อมูลในตารางนั้น ตัวอย่างเช่น คุณตั้งค่าชนิดข้อมูลวันที่/เวลาสําหรับเขตข้อมูลที่มีข้อมูลวันที่ ตารางนี้แสดงรายการชนิดข้อมูลที่คุณสามารถค้นหาได้โดยใช้อักขระตัวแทน โปรดทราบว่าในบางกรณี คุณสามารถใช้อักขระตัวแทนในกล่องโต้ตอบ ค้นหาและแทนที่ แต่ไม่สามารถใช้ได้ในคิวรี และในทางกลับกัน
ชนิดข้อมูล |
ใช้ใน ... |
ข้อความ |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
บันทึกช่วยจำ |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
ตัวเลข |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
วันที่/เวลา |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี หมายเหตุ: การตั้งค่าภูมิภาคอาจส่งผลต่อวิธีที่คุณใช้อักขระตัวแทน ดูบันทึกย่อที่ส่วนท้ายของส่วนนี้สําหรับข้อมูลเพิ่มเติม |
สกุลเงิน |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
AutoNumber |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
วัตถุ OLE |
ไม่มี |
ใช่/ไม่ใช่ |
คิวรี แต่คุณไม่จําเป็นต้องใช้ สําหรับข้อมูลเพิ่มเติม ให้ดูบันทึกย่อที่ส่วนท้ายของส่วนนี้ |
ไฮเปอร์ลิงก์ |
กล่องโต้ตอบ ค้นหาและแทนที่ คิวรี |
ตัวช่วยสร้างการค้นหา |
ขึ้นอยู่กับชนิดข้อมูลของเขตข้อมูลแหล่งข้อมูล |
หมายเหตุ:
-
คุณสามารถใช้อักขระตัวแทนในกล่องโต้ตอบ ค้นหาและแทนที่ เพื่อค้นหาเขตข้อมูลวันที่/เวลา ถ้ารูปแบบที่นําไปใช้กับเขตข้อมูลเหล่านั้นแสดงบางส่วนหรือทั้งหมดของวันที่เป็นข้อความ ตัวอย่างเช่น คุณสามารถค้นหาโดยใช้สตริง เช่น *ar*-10-2007 และผลลัพธ์ของคุณจะรวมเดือนใดก็ตามที่มีตัวอักษร "ar" — มกราคม กุมภาพันธ์ และอื่นๆ โปรดจําไว้ว่าเนื่องจากคุณต้องค้นหาโดยใช้รูปแบบที่นําไปใช้กับข้อมูล คุณต้องเลือกตัวเลือกในกล่องโต้ตอบ ซึ่งเป็นกล่องกาเครื่องหมาย ค้นหาเขตข้อมูลตามการจัดรูปแบบ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับกล่องกาเครื่องหมายนี้ ให้ดูบทความ ใช้กล่องโต้ตอบ ค้นหาและแทนที่ เพื่อเปลี่ยนแปลงข้อมูล
-
วันที่และเวลาที่ระบุในการตั้งค่าภูมิภาคของ Windows ของคุณอาจส่งผลต่อสิ่งที่คุณเห็นและวิธีการค้นหาของคุณ ตัวอย่างเช่น ผู้ใช้บางคนอาจเห็นวันที่เป็นตัวเลขโรมัน เช่น 07-IX-1997 แทนที่จะเป็น 07-กันยายน-1997 ตามกฎแล้ว คุณจะค้นหาสิ่งที่คุณเห็น ไม่ใช่สิ่งที่คุณคิดว่า Access จัดเก็บในตาราง กล่าวอีกนัยหนึ่ง คุณสามารถค้นหาโดยใช้สตริง เช่น *-IX-2007 เพื่อค้นหาระเบียนทั้งหมดสําหรับเดือนกันยายนของปีนั้น
นอกจากนี้ ถ้าข้อความในเขตข้อมูลวันที่มีเครื่องหมายกํากับเสียง เช่น á หรือ ä คุณต้องใส่เครื่องหมายเหล่านั้นในสตริงการค้นหาของคุณ หรือการค้นหาจะล้มเหลว คุณสามารถแก้ไขปัญหาการมีเครื่องหมายกํากับเสียงโดยใช้อักขระตัวแทน ตัวอย่างเช่น ถ้าคุณเห็นวันที่ เช่น 3-heinä-2007 คุณสามารถค้นหาโดยใช้สตริง เช่น *-hein*-2007
-
เมื่อคุณค้นหาเขตข้อมูล ใช่/ไม่ใช่ โดยใช้กล่องโต้ตอบ ค้นหาและแทนที่ Access จะเก็บเขตข้อมูลไว้ และกล่องโต้ตอบจะไม่ส่งกลับระเบียนใดๆ เมื่อคุณค้นหาเขตข้อมูล ใช่/ไม่ใช่ โดยใช้คิวรี คุณสามารถใช้อักขระตัวแทนได้ แต่โปรดทราบว่าเขตข้อมูล ใช่/ไม่ใช่ จะส่งกลับค่าสองค่าเท่านั้น (0 สําหรับ false และ -1 สําหรับ true) ดังนั้นอักขระตัวแทนจะไม่เพิ่มค่าใดๆ ลงในการค้นหา ตัวอย่างเช่น การใช้เกณฑ์ เช่น =-1 จะส่งกลับผลลัพธ์เดียวกันกับ "Like *1"
-
คุณไม่สามารถค้นหาเขตข้อมูลวัตถุ OLE