กระทู้เก่าบอร์ด อ.Yeadram
8,254 61
URL.หัวข้อ /
URL
การทำตัวกรองผ่านฟอร์ม
การทำตัวกรองผ่านฟอร์ม สามารถทำได้มั้ยคะ
61 Reply in this Topic. Dispaly 4 pages and you are on page number 1
2 @R15772
ถ้่าเป็น 2007 ทำยังไงคะ
3 @R15773
เดี๋ยวผมตอบให้นะครับ
4 @R15776
ขอบคุณค่ะ
5 @R15777
ต้องการประมาณนี้ค่ะ หนูต้องทำตัวกรองผ่านฟอร์มหรือยังไงคะ ^^"
ต้องการสร้างคิวรี่จากตาราง Tran เพื่อนำข้อมูลนตาราง Tran
มาเเสดงซึ่งแยกตามวันที่ที่ต้องการ เพื่อสะดวกแก่การรวมยอดเงินของแต่ละวันของสมาชิก ตามประเภทการฝาก
ลำดับ >>> AutoNumber
รหัสส. >>> Number
ประเภทรายการ >>> Text
วันเวลา >>> Date/Time
จำนวนเงิน >>> Number
ตัวอย่างตารางการทำรายการ(Tran)
------------------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
3 1 Y 10/4/2556 14:50:05 100
4 2 Z 10/4/2556 15:50:05 200
5 1 Y 11/4/2556 15:55:55 150
-----------------------------------------------------------------------------------------
ซึ่งนำมาสร้างฟอร์มคือ
ยอดเงินประจำวันที่........................
(เมื่อผู้ใช้ใส่วันที่ที่ต้องการใน............. ข้อมูลการทำรายการก็จะเเสดงด้านล่างตามวันี่ทั้งหมด)
-----------------------------------------------------------------------------------------
เช่นในฟอร์มยอดเงินประจำวัน
ยอดเงินประจำวันที่...02/4/2556...
----------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
-----------------------------------------------------------------------------------
สรุปยอดเงินประจำวันที่ ...02/4/2556...
ประเภท Y >>> 250 บาท
ประเภท Z >>> 0 บาท
------------------------------------------------------------------------------------------
รบกวนด้วยนะค่ะ
ต้องการสร้างคิวรี่จากตาราง Tran เพื่อนำข้อมูลนตาราง Tran
มาเเสดงซึ่งแยกตามวันที่ที่ต้องการ เพื่อสะดวกแก่การรวมยอดเงินของแต่ละวันของสมาชิก ตามประเภทการฝาก
ลำดับ >>> AutoNumber
รหัสส. >>> Number
ประเภทรายการ >>> Text
วันเวลา >>> Date/Time
จำนวนเงิน >>> Number
ตัวอย่างตารางการทำรายการ(Tran)
------------------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
3 1 Y 10/4/2556 14:50:05 100
4 2 Z 10/4/2556 15:50:05 200
5 1 Y 11/4/2556 15:55:55 150
-----------------------------------------------------------------------------------------
ซึ่งนำมาสร้างฟอร์มคือ
ยอดเงินประจำวันที่........................
(เมื่อผู้ใช้ใส่วันที่ที่ต้องการใน............. ข้อมูลการทำรายการก็จะเเสดงด้านล่างตามวันี่ทั้งหมด)
-----------------------------------------------------------------------------------------
เช่นในฟอร์มยอดเงินประจำวัน
ยอดเงินประจำวันที่...02/4/2556...
----------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
-----------------------------------------------------------------------------------
สรุปยอดเงินประจำวันที่ ...02/4/2556...
ประเภท Y >>> 250 บาท
ประเภท Z >>> 0 บาท
------------------------------------------------------------------------------------------
รบกวนด้วยนะค่ะ
6 @R15780
ขอ email ด้วยครับ จะส่งตัวอย่างให้ครับ
7 @R15782
ลองโหลดไปศึกษาดูนะครับ
จริงๆทำได้หลายแบบครับ
www.gmail.com
userName : accboard
password : accgmail
file name : test_1
ลองโหลดไปศึกษาดูนะครับ
จริงๆทำได้หลายแบบครับ
www.gmail.com
userName : accboard
password : accgmail
file name : test_1
8 @R15784
ขอบคุณ ค่ะ ^^"
9 @R15785
ลองทำดูแล้ว ทำไมพอใส่วันที่มันไม่อัปเลยว่า รวมของวันนั้นเท่าไหร่
รบกวนอีกครั้งค่ะ
รบกวนอีกครั้งค่ะ
10 @R15786
คืออยากให้โชว์ข้อมูลที่เลือกตามวัน จำนวนเงินรวมของวันที่เลือก เมื่อเลือกวันที่ที่ต้องการจะดูข้อมูลใน ฟอร์ม Form1_Main เลยคะ รบกวนขอคำแนะนำด้วยคะ ^^"
11 @R15787
ผมยังไม่เคลียร์คำถามครับผม
12 @R15789
คืออยากให้โชว์ข้อมูลตามวันที่เลือก ภายใน ฟอร์ม Form1_Main เลย
นั้นคือ
ยอดเงินประจำวันที่........................
(เมื่อผู้ใช้ใส่วันที่ที่ต้องการใน............. ข้อมูลการทำรายการก็จะเเสดงด้านล่างตามวันี่ทั้งหมด)
-----------------------------------------------------------------------------------------
เช่นในฟอร์มยอดเงินประจำวัน
ยอดเงินประจำวันที่...02/4/2556...
----------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
-----------------------------------------------------------------------------------
สรุปยอดเงินประจำวันที่ ...02/4/2556...
ประเภท Y >>> 250 บาท
ประเภท Z >>> 0 บาท
------------------------------------------------------------------------------------------
รบกวนด้วยนะค่ะ
นั้นคือ
ยอดเงินประจำวันที่........................
(เมื่อผู้ใช้ใส่วันที่ที่ต้องการใน............. ข้อมูลการทำรายการก็จะเเสดงด้านล่างตามวันี่ทั้งหมด)
-----------------------------------------------------------------------------------------
เช่นในฟอร์มยอดเงินประจำวัน
ยอดเงินประจำวันที่...02/4/2556...
----------------------------------------------------------------------------------
ลำดับ รหัสส. ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
-----------------------------------------------------------------------------------
สรุปยอดเงินประจำวันที่ ...02/4/2556...
ประเภท Y >>> 250 บาท
ประเภท Z >>> 0 บาท
------------------------------------------------------------------------------------------
รบกวนด้วยนะค่ะ
13 @R15792
คือจะกรองก่อนเปิดฟอร์ม หรือ หลังจากเปิดฟอร์มแล้วค่อยใส่วันที่กรองครับ
14 @R15793
เมื่อเปิดฟอร์มแล้ว เลือกวันที่ที่ต้องการ
แล้วแสดงข้อมูลออกมาค่ะ .ในฟอร์มนั้นเลค่ะ ^^"
แล้วแสดงข้อมูลออกมาค่ะ .ในฟอร์มนั้นเลค่ะ ^^"
15 @R15796
เดี๋ยวผมค่อยๆตอบนะครับ ไม่ว่าง แต่น่าจะไม่เกินวันนี้จะยกตัวอย่างให้ลองทำดูครับ
16 @R15797
ขอบคุณมากค่ะ
17 @R15803
เริ่มต้นด้วยผมมีตารางชื่อ Tran ดังนี้:
ลำดับ รหัส ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
3 1 Y 10/4/2556 14:50:05 100
4 2 Z 10/4/2556 15:50:05 200
5 1 Y 11/4/2556 15:55:55 150
*ผมขอเปลี่ยชื่อฟิลด์ รหัสส. เป็น รหัส นะครับ เพราะมันตั้งชื่อมีจุดไม่ได้
1. สร้างฟอร์มขึ้นมาใหม่ กำหนด Property ของฟอร์มดังนี้:
Format > Default View: Continuous Forms
Data > Record Source: Tran
2. บนพื้นที่บนฟอร์มส่วนของ Detail สร้าง Textbox เรียงกันทางแนวนอน 5 ตัว โดยใช้ชื่อ Text1, Text2, Text3, Text4, Text5 ตามลำดับ
3. กำหนด Property ในส่วน Control Source: ของ Textbox แต่ละตัวดังนี้
Text1 > Data > Control Source: ลำดับ
Text2 > Data > Control Source: รหัส
Text3 > Data > Control Source: ประเภทรายการ
Text4 > Data > Control Source: วันเวลา
Text5 > Data > Control Source: จำนวนเงิน
4. เปิดในส่วนของพื้นที่ Form Header/Footer
5. พื้นที่ในส่วน Form Footer สร้าง Textbox ขึ้นมา 3 ตัว เรียงกันทางแนวตั้ง โดยใช้ชื่อ Text6, Text7, Text8 ตามลำดับ
6. ในส่วนของ Label ที่มากับ Text6, Text7, Text8 ให้กำหนดข้อความในส่วนของ Property ดังนี้
Text6 > Format > Caption: สรุปยอดเงินประจำวันที่
Text7 > Format > Caption: ประเภท Y >>>
Text8 > Format > Caption: ประเภท Z >>>
7. กำหนด Property ให้กับ Text7 และ Text8 (Text6 ไม่ต้อง ให้เป็น Unbound) ดังนี้:
Text7
Format > Text Align: Right
Data > Control Source:
=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = ''Y''')
Text8
Format > Text Align: Right
Data > Control Source:
=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = ''Z''')
8. พื้นที่ในส่วน Form Header สร้าง Textbox ขึ้นมา 1 ตัว ให้ชื่อว่า Text9 สร้างปุ่มขึ้นมา 1 ปุ่ม ชื่ออะไรก็ได้
- Text9 ให้เป็น Unbound ไม่ต้องทำอะไร เอาไว้สำหรับใส่ค่าวันที่ ที่จะกรอง
- Label ที่ติดมากับ Text9 ให้ใส่ Caption เป็น ยอดเงินประจำวันที่
- ที่ปุ่ม ใส่โค๊ดลงในปุ่มที่ Event > On Click ดังนี้:
9. บนฟอร์ม ให้โค๊ดที่ Event > On Close:
เป็นอันเสร็จ เมื่อเปิดฟอร์ม ใส่ค่าวันที่ต้องการลงที่ Text9 กดปุ่ม ฟอร์มจะกรองข้อมูลที่ต้องการ
เมื่อรันฟอร์ม
เมื่อกรองวันที่
ลำดับ รหัส ประเภทรายการ วันเวลา จำนวนเงิน
1 1 Y 02/4/2556 10:50:05 100
2 2 Y 02/4/2556 12:50:05 150
3 1 Y 10/4/2556 14:50:05 100
4 2 Z 10/4/2556 15:50:05 200
5 1 Y 11/4/2556 15:55:55 150
*ผมขอเปลี่ยชื่อฟิลด์ รหัสส. เป็น รหัส นะครับ เพราะมันตั้งชื่อมีจุดไม่ได้
1. สร้างฟอร์มขึ้นมาใหม่ กำหนด Property ของฟอร์มดังนี้:
Format > Default View: Continuous Forms
Data > Record Source: Tran
2. บนพื้นที่บนฟอร์มส่วนของ Detail สร้าง Textbox เรียงกันทางแนวนอน 5 ตัว โดยใช้ชื่อ Text1, Text2, Text3, Text4, Text5 ตามลำดับ
3. กำหนด Property ในส่วน Control Source: ของ Textbox แต่ละตัวดังนี้
Text1 > Data > Control Source: ลำดับ
Text2 > Data > Control Source: รหัส
Text3 > Data > Control Source: ประเภทรายการ
Text4 > Data > Control Source: วันเวลา
Text5 > Data > Control Source: จำนวนเงิน
4. เปิดในส่วนของพื้นที่ Form Header/Footer
5. พื้นที่ในส่วน Form Footer สร้าง Textbox ขึ้นมา 3 ตัว เรียงกันทางแนวตั้ง โดยใช้ชื่อ Text6, Text7, Text8 ตามลำดับ
6. ในส่วนของ Label ที่มากับ Text6, Text7, Text8 ให้กำหนดข้อความในส่วนของ Property ดังนี้
Text6 > Format > Caption: สรุปยอดเงินประจำวันที่
Text7 > Format > Caption: ประเภท Y >>>
Text8 > Format > Caption: ประเภท Z >>>
7. กำหนด Property ให้กับ Text7 และ Text8 (Text6 ไม่ต้อง ให้เป็น Unbound) ดังนี้:
Text7
Format > Text Align: Right
Data > Control Source:
=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = ''Y''')
Text8
Format > Text Align: Right
Data > Control Source:
=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = ''Z''')
8. พื้นที่ในส่วน Form Header สร้าง Textbox ขึ้นมา 1 ตัว ให้ชื่อว่า Text9 สร้างปุ่มขึ้นมา 1 ปุ่ม ชื่ออะไรก็ได้
- Text9 ให้เป็น Unbound ไม่ต้องทำอะไร เอาไว้สำหรับใส่ค่าวันที่ ที่จะกรอง
- Label ที่ติดมากับ Text9 ให้ใส่ Caption เป็น ยอดเงินประจำวันที่
- ที่ปุ่ม ใส่โค๊ดลงในปุ่มที่ Event > On Click ดังนี้:
Dim Fdate As String
If Me.Text9 & "" <> "" Then Fdate = Me.Text9
If Me.Text9 & "" = "" Then
Me.FilterOn = False
Me.Text6 = "Every Day"
Me.Text7.ControlSource = "=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = " & "''Y''" & "')"
Me.Text8.ControlSource = "=DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = " & "''Z''" & "')"
Else
Me.Filter = "DateValue(Tran.[วันเวลา]) = '" & Me.Text9 & "'"
Me.FilterOn = True
Me.Text6 = Me.Text9
Me.Text7.ControlSource = "=Nz(DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = " & _
"''Y''" & "AND DateValue([วันเวลา]) = " & "''" & Me.Text6 & "''" & "'),0)"
Me.Text8.ControlSource = "=Nz(DSum('[จำนวนเงิน]','Tran','[ประเภทรายการ] = " & _
"''Z''" & "AND DateValue([วันเวลา]) = " & "''" & Me.Text6 & "''" & "'),0)"
End If
If Not IsNull(Fdate) Then Me.Text9 = Fdate
9. บนฟอร์ม ให้โค๊ดที่ Event > On Close:
Me.Filter = ""
Me.FilterOn = False
เป็นอันเสร็จ เมื่อเปิดฟอร์ม ใส่ค่าวันที่ต้องการลงที่ Text9 กดปุ่ม ฟอร์มจะกรองข้อมูลที่ต้องการ
เมื่อรันฟอร์ม
เมื่อกรองวันที่
18 @R15804
วางแผนไว้ว่าสุดท้ายจะอัพรูป ทำพังหมดเลยครับ รูปซ้ำกันหมด ลองอีกครั้ง ไม่ได้ไว้พรุ่งนี้อัพใหม่ให้
19 @R15808
ขอบคุณค่ะ
ปล. ถ้าอาจารย์มีไฟล์โปรแกรม หนูขอดูประกอบด้วยได้มั้ยคะ
ปล. ถ้าอาจารย์มีไฟล์โปรแกรม หนูขอดูประกอบด้วยได้มั้ยคะ
20 @R15809
โหลดที่นี่ กำหนด 7 วัน
ในไฟล์ตัวอย่างผมทำ ใน Text1 ผมทำเป็น Running Sum นะครับ หากไม่ต้องการ Running Sum ก็ให้กำหนด Text1 เหมือนที่อธิบายในกระทู้แทน
ในไฟล์ตัวอย่างผมทำ ใน Text1 ผมทำเป็น Running Sum นะครับ หากไม่ต้องการ Running Sum ก็ให้กำหนด Text1 เหมือนที่อธิบายในกระทู้แทน
Time: 0.2569s
ครับ