สมัครสมาชิก
 

อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

10 ก.ย. 62 , 11:37:44
อ่าน 96 ครั้ง

PooPae


จากรูปด้านบนคือหลังจากที่เปิดฟอร์มมาแล้วมันไม่เริ่มต้นใหม่ค่ะหลังจากที่เปิดฟอร์มจึงอยากทราบว่ามีกระบวนการทำอย่างไร และอยากทราบคำสั่งแสดง reccord ทั้งหมดใน subform ค่ะ ลองใช้ requery แล้วก็ไม่มีอะไรเกิดขึ้น รบกวนด้วยนะคะ  :cry:

 

10 ก.ย. 62 , 13:45:14
ตอบกลับ #1

PNR

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #1 เมื่อ: 10 ก.ย. 62 , 13:45:14 »
ขอดูโค้ดของปุ่มค้นหาทั้งสองหน่อยครับ

ขอดู Sql ของคิวรี่ของ Subform ด้วยครับ
« แก้ไขครั้งสุดท้าย: 10 ก.ย. 62 , 13:55:39 โดย PNR »
:meaw: :grin: :shout:
 

10 ก.ย. 62 , 13:59:51
ตอบกลับ #2

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #2 เมื่อ: 10 ก.ย. 62 , 13:59:51 »
เดี๋ยวจะมาแปะให้นะคะ

 

10 ก.ย. 62 , 14:05:34
ตอบกลับ #3

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #3 เมื่อ: 10 ก.ย. 62 , 14:05:34 »
เดี๋ยวจะมาแปะให้นะคะ

อันบนเป็นของสถานะ อันล่างเป็นของแผนกค่ะ ชื่อแปลกๆหน่อยนะคะ 55555
ส่วน sql ของsub form มันไม่มีเป็นคิวรี่อ่ะค่ะ มันเป็นฟอร์มแยกออกมาเลย

 

10 ก.ย. 62 , 14:09:13
ตอบกลับ #4

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #4 เมื่อ: 10 ก.ย. 62 , 14:09:13 »
Private Sub cboCustomertype_AfterUpdate()
Dim myCustomer As String
myCustomer = "SELECT * FROM Asset_all WHERE (((Asset_all.Status)=[forms]![U_customer search by combobox].[Form]![cboCustomerType]));"
Forms![U_customer search by combobox]![tbl_customer_subform1].[Form].RecordSource = myCustomer
Me.CboDepname = Null
End Sub

Private Sub CboDepname_AfterUpdate()
Dim myDepname As String
myDepname = "SELECT * FROM Asset_all WHERE (((Asset_all.Depname)=[forms]![U_customer search by combobox].[Form]![cbodepname]));"
Forms![U_customer search by combobox]![tbl_customer_subform1].[Form].RecordSource = myDepname
Me.cboCustomerType = Null
End Sub

เรียบร้อยค่ะ 5555

 

10 ก.ย. 62 , 14:13:03
ตอบกลับ #5

PNR

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #5 เมื่อ: 10 ก.ย. 62 , 14:13:03 »
ที่ Event FormLoad ของฟอร์มหลัก ลองเพิ่มแบบนี้เข้าไปคับ

Private Sub Form_Load()
Dim myCustomer As String
myCustomer = "SELECT Asset_all.* FROM Asset_all;"
Forms![Customer search by combobox]![tbl_Customer_Subform1].[Form].RecordSource = myCustomer

End Sub
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: PooPae

10 ก.ย. 62 , 14:22:51
ตอบกลับ #6

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #6 เมื่อ: 10 ก.ย. 62 , 14:22:51 »
ทำได้แล้วค่ะ ขอบคุณมากๆเลยค่ะ ขอถามอีกข้อนะคะ จะทำอย่างไรได้บ้างคะให้ combo box พอว่างทั้ง 2 อัน จะแสดง reccord ทั้งหมด เขียนคำสั่งลงในปุ่มก็ได้ค่ะ เหมือนเป็นการรีเฟรชหน้าใหม่ค่ะ

 

10 ก.ย. 62 , 14:40:38
ตอบกลับ #7

PNR

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #7 เมื่อ: 10 ก.ย. 62 , 14:40:38 »
ลองปรับโค้ดไม่รู้ถูกไหมลองดูนะครับ

โค๊ด: [Select]
Private Sub cbo_CustomerType_AfterUpdate()
Dim myCustomer As String
If IsNull(Me.cbo_CustomerType) And IsNull(Me.CboDepname) Then
Call ShowAllRecord
Else
myCustomer = "SELECT * FROM Asset_all WHERE (((Asset_all.Status)=[forms]![U_Customer search by combobox].[Form]![cbo_CustomerType]));"
Forms![U_customer search by combobox]![tbl_Customer_Subform1].[Form].RecordSource = myCustomer
End If
End Sub
Private Sub CboDepname_AfterUpdate()
Dim myDepname As String
If IsNull(Me.cbo_CustomerType) And IsNull(Me.CboDepname) Then
Call ShowAllRecord
Else
myDepname = "SELECT * FROM Asset_all WHERE (((Asset_all.Depname)=[forms]![U_customer search by combobox].[Form]![cbodepname]));"
Forms![U_customer search by combobox]![tbl_Customer_Subform1].[Form].RecordSource = myDepname
Me.CboDepname = Null
End If
End Sub
Private Sub Form_Load()
Call ShowAllRecord
End Sub
Sub ShowAllRecord()
Dim myCustomer As String
myCustomer = "SELECT Asset_all.* FROM Asset_all;"
Forms![U_customer search by combobox]![tbl_Customer_Subform1].[Form].RecordSource = myCustomer
End Sub
« แก้ไขครั้งสุดท้าย: 10 ก.ย. 62 , 14:49:29 โดย PNR »
:meaw: :grin: :shout:
 

10 ก.ย. 62 , 15:06:07
ตอบกลับ #8

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #8 เมื่อ: 10 ก.ย. 62 , 15:06:07 »
Private Sub Form_Load()
Call ShowAllRecord
End Sub
Sub ShowAllRecord()
Dim myCustomer As String
myCustomer = "SELECT Asset_all.* FROM Asset_all;"
Forms![U_customer search by combobox]![tbl_Customer_Subform1].[Form].RecordSource = myCustomer
End Sub

เป้งงอันนี้ค่ะ มันเป็นอันเดียวกันไหมคะ พอไปใส่แล้วมันแยกกัน

 

10 ก.ย. 62 , 15:09:26
ตอบกลับ #9

PNR

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #9 เมื่อ: 10 ก.ย. 62 , 15:09:26 »
สร้าง Sub เพื่อไว้เรียกใช้หลายๆ ที่ครับ

สังเกตุว่า Event FormLoad ผมใช้
Call ShowAllRecord เลยเพื่อให้ Record ทั้งหมดแสดง


มันแยกกันถูกแล้วคับ
:meaw: :grin: :shout:
 
โพสต์นี้ได้รับคำขอบคุณจาก: PooPae

10 ก.ย. 62 , 15:22:09
ตอบกลับ #10

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #10 เมื่อ: 10 ก.ย. 62 , 15:22:09 »
หนูทำได้แล้วค่ะพี่ ฮรือออออออออออออออออออออ ตีลังการ 3 ตลบ การเบญจางคประดิษฐ์เลยค่ะ ขอบคุณมากๆเลยนะคะ ขอบคุณจริงๆค่ะ  :cry: :cry:

 

10 ก.ย. 62 , 15:41:09
ตอบกลับ #11

PNR

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #11 เมื่อ: 10 ก.ย. 62 , 15:41:09 »
ถ้าจะสร้างปุ่ม ให้แสดงข้อมูลทั้งหมดก็ใช้ การ Call มาได้เลย เช่น
โค๊ด: [Select]
Private Sub Command1_Click()
Call ShowAllRecord
End Sub
:meaw: :grin: :shout:
 

10 ก.ย. 62 , 19:04:11
ตอบกลับ #12

PooPae

: อยากให้แสดงผลทั้งหมดเมื่อเปิด form ใหม่
« ตอบกลับ #12 เมื่อ: 10 ก.ย. 62 , 19:04:11 »
เป็นปุ่มก็ทำได้แล้วค่ะ หนูไม่รู้จะขอบคุณพี่ยังไงเลยค่ะ ตอนนี้โปรเจคหนูเสร็จเรียบร้อยแล้วค่ะ รอปัญหาตามมา 55555 ขอบคุณมากๆเลยนะคะ  :miao:

 


บอร์ดเรียนรู้ Access สำหรับคนไทย