แบบสอบถามระบุนิพจน์เพื่อกรองวันที่ไม่ได้
กระทู้เก่าบอร์ด อ.Yeadram

 2,509   11
URL.หัวข้อ / URL
แบบสอบถามระบุนิพจน์เพื่อกรองวันที่ไม่ได้

ใช้นิพจน์ระบะที่เกณฑ์ ดังนี้
Between [วันที่เริ่มต้น (dd/mm/yy)] And [วันที่สิ้นสุด (dd/mm/yy)]
แล้วขึ้น Error ว่า
กลไกการจัดการฐานข้อมูล Microsoft Access ไม่รู้จัก "[วันที่เริ่มต้น (dd/mm/yy)]" ว่าเป็นชื่อเขตข้อมูลหรือนิพจน์ที่ถูกต้อง
ทั้งที่ Copy จากแบบสอบถามตัวอื่นที่ใช้ได้ ช่วยตอบหน่อยครับว่าเป็นเพราะอะไร

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

1 @R14062
มันเป็น bug ซึ่งเกิดได้ในบางครั้ง
การแก้ไขที่ถาวร คือ พยาม ตั้งชื่อ ให้เป็นสากล อย่าให้ภาษาไทย อย่าใช้อักขระพิเศษ อย่าใช้คำศัพท์ที่มันตรงกับคำของระบบ (คำสงวน) แม้มันจะใช้ได้ แต่มันไม่เสถียร กล่าวคือ ใช้ได้บ้างไม่ได้บ้าง บทอยากจะ error ก็ error ไปซะอย่างนั้น โดยไม่ทราบสาเหตุ

ชื่อที่ผมกล่าวถึงใน ระบบของคุณ คือ ชื่อของ พารามิเตอร์

ถ้าแก้ไขได้ ถ้าแก้ไขไหว ลองปรับแก้ เป็น
[DateStart_'dd/mm/yy']
[DateEnd_'dd/mm/yy']

ถ้าไม่อยากปรับแก้ไขตามนี้ ก็ลองสร้างคิวรี่ใหม่ เลียนแบบกันขึ้นมาใหม่ทุกขั้นตอนให้ทำสดๆ ด้วยวิธีแมนวล หรือวิซาร์ดใหม่ทั้งหมด ห้ามคัดลอกส่วนหนึ่งส่วนใด จากคิวรี่อื่นใดมา (มันอาจแก้ไขบักได้ แต่ก็ไม่เสถียรหรอกนะครับ)


และคุณอาจต้องบังคับให้มีการแปลงชนิดข้อมูล ก่อนจะให้ SQL อ่านค่า เช่น
Between #[DateStart_'dd/mm/yy']# AND #[DateEnd_'dd/mm/yy']#
อันนี้ไม่เกี่ยวกับปัญหาที่คุณเจอ แต่ว่าแนะนำเพิ่มเติมครับ
2 @R14066
ลองใส่แบบนี้แล้วก็ยังไม่ได้ครับ
Between [DateStart_'dd/mm/yy'] And [DateEnd_ 'dd/mm/yy']
3 @R14070
ขอดู SQL statement เต็มๆ ทั้งหมด หน่อยครับ
4 @R14076
TRANSFORM Sum(Output.[Down Time (Min)]) AS [SumOfDown Time (Min)]
SELECT Output.[Down Time Description], Output.[Line No], Output.[Posting Date], Sum(Output.[Down Time (Min)]) AS [ผลรวมของ Down Time (Min)]
FROM [Output]
WHERE (((Output.[Down Time Description]) Like "*") AND ((Output.[Posting Date]) Between [DateStart_'dd/mm/yy'] And [DateEnd_ 'dd/mm/yy']))
GROUP BY Output.[Down Time Description], Output.[Line No], Output.[Posting Date]
PIVOT Output.Shift;
5 @R14135
ขอความช่วยเหลือด้วยครับ ยังไม่ได้คำตอบ
6 @R14139
คุณต้องการสร้างเป็นพารามิเตอร์ใช่หรือเปล่า
หมายถึงมีpopupขึ้นมาให้เรากรอกวันที่เริ่มต้น
และกรอกวันที่สุดท้ายเพื่อค้นหาใช่ใหมครับ
7 @R14200

ใช่ครับ
ลองใส่แบบนี้แล้วก็ยังไม่ได้ครับ
Between [DateStart_'dd/mm/yy'] And [DateEnd_ 'dd/mm/yy']
8 @R14202
ลองดูแบบนี้ได้ไหมครับ
Between Cdate([วันที่เริ่มต้น (dd/mm/yy)]) And Cdate([วันที่สิ้นสุด (dd/mm/yy)])
หรือ
Between Cdate([วันที่เริ่มต้น dd/mm/yy]) And Cdate([วันที่สิ้นสุด dd/mm/yy])
หรือ
Between Cdate([Start Date dd/mm/yy]) And Cdate([End Date dd/mm/yy])

ขอบคุณครับ
9 @R14206
ไม่ได้ทั้ง 3 แบบครับ
10 @R14212
ใช้ MS Access เวอร์ชั่นอะไรครับ ถ้าเป็น 2010 ลง Service Pack 1 หรือยังครับ
11 @R14266
เป็น 2010 แต่ไม่รู้ว่าว่าเป็น Service Pack1 หรือเปล่า
เช็คยังไงครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3706s