กระทู้เก่าบอร์ด อ.Yeadram
1,636 5
URL.หัวข้อ /
URL
สอบถามเรื่องการสร้างรายงานจากคิวรี่
เรียน อาจารย์ทุกท่าน
ต้องการทราบว่าเมื่อทำรายงานจากคิวรี่แล้ว ต้องการให้ user เรียกรายงานโดยการกรอกข้อมูลช่วงวันที่ที่ต้องการจาก มาโคร open report จะใช้สูตรอะไรในมาโครคะ
(คือไม่ต้องการให้ user เข้าไปใส่สูตร between ในดีไซน์คิวรี่ค่ะ)
ขอบคุณค่ะ
ต้องการทราบว่าเมื่อทำรายงานจากคิวรี่แล้ว ต้องการให้ user เรียกรายงานโดยการกรอกข้อมูลช่วงวันที่ที่ต้องการจาก มาโคร open report จะใช้สูตรอะไรในมาโครคะ
(คือไม่ต้องการให้ user เข้าไปใส่สูตร between ในดีไซน์คิวรี่ค่ะ)
ขอบคุณค่ะ
5 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R18733
ถ้าเอาแบบง่ายๆ ในสูตร between ถ้าคุณใส่ชื่อที่ Access มันหาไม่เจอว่าเป็นฟิลด์หรือฟังก์ชั่นอะไร แล้วครอบด้วย [ ] มันก็จะขึ้นไดอะล็อกซ์มาถามตอนคิวรี่เริ่มทำงานเองแหล่ะครับ เช่น between [from date] and [to date] ก็จะถาม 2 ครั้งสำหรับ 2 ค่า แต่เพื่อให้ Access มันรู้ว่าข้อมูลที่คุณใส่มันเป็น data type ประเภทไหนบ้าง มันจะได้แปลงได้อย่างถูกต้อง ก็ให้ไปแสดง Query Parameters (อยู่บน Ribbon Bar หรือในเมนูสำหรับ Access เวอร์ชั่นเก่าๆ) แล้วกรอกชื่อ from date โดยไม่ต้องมีเครื่อง [ ] พร้อมกับเลือก data type ครับ (จริงๆให้ทำขั้นตอนหลังนี้ก่อนนะครับ)
3 @R18735
ไอเดียของ อ.สันติสุข ง่ายดีครับ เห็นด้วยครับ
หรือเราจะเขียน SQL ให้เป็นกิจลักษณะโดยเติมคำสั่งแทรกที่บรรทัดแรกแบบตัวอย่างประมาณนี้ก็ได้ครับ
สมมุติผมมีตารางชื่อ Persons
- ผมเขียน SQL ไว้ใช้งานธรรมดาประมาณนี้
SQL statement:
----------------------------------------------------------------------------------------
SELECT Persons.P_Id, Persons.LastName, Persons.FirstName, Persons.Address, Persons.City, Persons.Birthday
FROM Persons;
----------------------------------------------------------------------------------------
- ข้อมูลที่แสดงจะเป็นประมาณนี้:
P_Id LastName FirstName Address City Birthday
1 Hansen Ola Timoteivn 10 Sandnes 16/1/1982
2 Svendson Tove Borgvn 23 Sandnes 22/3/1990
3 Pettersen Kari Storgt 20 Stavanger 3/11/1980
- หากผมต้องการให้รายงานที่จะดึง คิวรี่ตัวนี้ผมไปใช้ เมื่อเปิดรายงานจะมีหน้าต่าง InputBox ให้ผู้ใช้ใส่วันที่เริ่มต้น และวันที่สิ้นสุด ก่อนแล้วรายงานค่อยเปิดโดยกรองข้อมูลตามค่าที่ใส่ใน InputBox ผมจะเพิ่มคำสั่ง PARAMETERS ลงในบรรทัดแรก และเพิ่มเงื่อนไข WHERE ในบรรทัดสุดท้าย โดยใช้ค่าพารามิเตอร์มาทำเป็นเงื่อนไขของ SQL ดังนี้:
---------------------------------------------------------------------------------------
PARAMETERS StartDate DateTime, EndDate DateTime;
SELECT Persons.P_Id, Persons.LastName, Persons.FirstName, Persons.Address, Persons.City, Persons.Birthday
FROM Persons
WHERE Persons.Birthday Between [StartDate] And [EndDate];
----------------------------------------------------------------------------------------
โดยรูปแบบชนิดตัวแปรจะประมาณนี้
- ตัวแปรชนิด Text (อักษร)
PARAMETERS ชื่อตัวแปร Text ( 255 );
- ตัวแปรชนิด Number (ตัวเลข)
PARAMETERS ชื่อตัวแปร Long;
PARAMETERS ชื่อตัวแปร Int;
- ตัวแปรชนิด Date Time (วันที่)
PARAMETERS ชื่อตัวแปร DateTime;
ประมาณนี้ครับ ปรับใช้ดู
หรือเราจะเขียน SQL ให้เป็นกิจลักษณะโดยเติมคำสั่งแทรกที่บรรทัดแรกแบบตัวอย่างประมาณนี้ก็ได้ครับ
สมมุติผมมีตารางชื่อ Persons
- ผมเขียน SQL ไว้ใช้งานธรรมดาประมาณนี้
SQL statement:
----------------------------------------------------------------------------------------
SELECT Persons.P_Id, Persons.LastName, Persons.FirstName, Persons.Address, Persons.City, Persons.Birthday
FROM Persons;
----------------------------------------------------------------------------------------
- ข้อมูลที่แสดงจะเป็นประมาณนี้:
P_Id LastName FirstName Address City Birthday
1 Hansen Ola Timoteivn 10 Sandnes 16/1/1982
2 Svendson Tove Borgvn 23 Sandnes 22/3/1990
3 Pettersen Kari Storgt 20 Stavanger 3/11/1980
- หากผมต้องการให้รายงานที่จะดึง คิวรี่ตัวนี้ผมไปใช้ เมื่อเปิดรายงานจะมีหน้าต่าง InputBox ให้ผู้ใช้ใส่วันที่เริ่มต้น และวันที่สิ้นสุด ก่อนแล้วรายงานค่อยเปิดโดยกรองข้อมูลตามค่าที่ใส่ใน InputBox ผมจะเพิ่มคำสั่ง PARAMETERS ลงในบรรทัดแรก และเพิ่มเงื่อนไข WHERE ในบรรทัดสุดท้าย โดยใช้ค่าพารามิเตอร์มาทำเป็นเงื่อนไขของ SQL ดังนี้:
---------------------------------------------------------------------------------------
PARAMETERS StartDate DateTime, EndDate DateTime;
SELECT Persons.P_Id, Persons.LastName, Persons.FirstName, Persons.Address, Persons.City, Persons.Birthday
FROM Persons
WHERE Persons.Birthday Between [StartDate] And [EndDate];
----------------------------------------------------------------------------------------
โดยรูปแบบชนิดตัวแปรจะประมาณนี้
- ตัวแปรชนิด Text (อักษร)
PARAMETERS ชื่อตัวแปร Text ( 255 );
- ตัวแปรชนิด Number (ตัวเลข)
PARAMETERS ชื่อตัวแปร Long;
PARAMETERS ชื่อตัวแปร Int;
- ตัวแปรชนิด Date Time (วันที่)
PARAMETERS ชื่อตัวแปร DateTime;
ประมาณนี้ครับ ปรับใช้ดู
4 @R18740
ขอบคุณอาจารย์ทุกท่านค่ะที่ให้คำแนะนำ
E-mail porn_ploymea@yahoo.com
E-mail porn_ploymea@yahoo.com
5 @R18743
ส่งไปแล้วนะครับ
Time: 0.3499s
ผมเคยทำไฟล์แบบนี้แต่เป็นฟอร์มเอาไว้ สามารถนำไปประยุกต์ใช้กับรายงานได้