ช่วยด้วยครับ เรื่องฟอร์มค้นหาข้อมูล!!
กระทู้เก่าบอร์ด อ.Yeadram

 1,561   5
URL.หัวข้อ / URL
ช่วยด้วยครับ เรื่องฟอร์มค้นหาข้อมูล!!

ผมค้นหาในบอร์ดแล้วไม่ตรงกับความต้องการครับ..

ผมทำฟอร์มค้นหา(Continuous Form) ซึ่งสร้างจาก Query1 ครับ ใน Query มีข้อมูลจากหลายตาราง(ซึ่งสร้างความสัมพันธ์กันไว้แล้ว) ในฟอร์มค้นหาผมต้องการค้นหาข้อมูล ดังนี้ ครับ
1.
(ชื่อฟิลด์) 1.FarmerId 2.AgriculturType 3.PlantName 4.HavestDate(ฟิลด์นี้ผมต้องการค้นหา จากวันที่...ถึงวันที่...) โดยผู้ใช้สามารถที่จะกรอกคำค้น ที่ช่องใด ช่องหนึ่งก็ได้ คือว่าไม่จำเป็นต้องกรอกทุกช่องครับ แสดงข้อมูลเมื่อกดปุ่ม"ค้นหา" ครับ
2.
เมื่อไม่มีข้อมูล ให้ขึ้น ข้อความ "ไม่มีข้อมูล.."
3.เมื่อเปิดฟอร์มค้นหาขึ้นมา ต้องการให้ยังไม่ต้องแสดงข้อมูลใดๆ จนกว่าจะกดปุ่ม "ค้นหา"

รบกวนอาจารย์/ผู้รู้ หน่อยนะครับ อยากได้ code ตรงปุ่มค้นหาครับ

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

1 @R13169
ผมคัดลอกมาจากบางส่วนของโปรแกรมล่าสุดที่กำลังพัฒนาขึ้นมาเพื่อขายนะครับ เอาไปอ่านเอา แกะเอา เดาเอา แล้วประยุกต์ใช้ ไม่น่าจะยากครับ
ใช้บนฟอร์ม continuous ดีที่สุด

Private Sub cmdSearch_Click()
mSearch
End Sub
Private Sub txSearch_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 27 Then
txSearch = ""
ElseIf KeyCode = 13 Then
txSearch = txSearch.Text
DoCmd.CancelEvent
mSearch
End If
End Sub
Function mSearch()
Dim LnKw As Long
LnKw = Len(txSearch)
If LnKw < 1 Then Exit Function
Dim strFind As String
strFind = "psCardID Like '*" & txSearch & "*' Or pName Like '*" & txSearch & "*' Or PositionDesc Like '*" & txSearch & "*' Or " & _
"AffiliatedDesc Like '*" & txSearch & "*' Or gvGroupDesc Like '*" & txSearch & "*' Or EducationDesc Like '*" & txSearch & "*' Or " & _
"EduLisence Like '*" & txSearch & "*' Or BrancheDesc Like '*" & txSearch & "*'"
Dim dRs As DAO.Recordset
Set dRs = Me.RecordsetClone
dRs.FindFirst strFind
If dRs.NoMatch = False Then
Me.Bookmark = dRs.Bookmark
For i = 0 To dRs.Fields.Count - 1
If dRs(i) Like "*" & txSearch & "*" Then
    j = InStr(1, Me("t" & dRs(i).Name), txSearch)
    Me("t" & dRs(i).Name).SetFocus
    Me("t" & dRs(i).Name).SelStart = j - 1
    Me("t" & dRs(i).Name).SelLength = LnKw
    Exit For
End If
Next
Else
myMSG "ไม่พบข้อมูลที่ต้องการ", 500
txSearch.SetFocus
txSearch.SelStart = 0
txSearch.SelLength = LnKw
End If
dRs.Close
Set dRs = Nothing
End Function
2 @R13170
3 @R13190
ไม่รู้ขอบคุณยังไงครับ เอาเป็นว่าขอบคุณมากๆครับ ผมจะลองนำไปปรับปรุงดูครับ
4 @R13191


เริ่มจะมั่วละครับ อาจารย์ อาจารย์ ครับเรื่องโค้ดผมไม่ค่อยรู้เรื่องเลยนะครับ ผมอยากจะให้งานจบ อาจารย์ เหยียดรัมย์หรือท่านใดก็ได้ครับ ช่วยเป็นที่ปรึกษาผมด้วยนะครับ จากโค้ดข้างบน การทำงานมันเป็นยังไงครับ แล้วที่สำคัญ จะประยุกต์เข้ากับงานของผมอย่างไรครับ จริงแล้วผมลองเอาโค้ดที่ อ.เหยียดรัมย์ ลองแก้ไขดูแล้วครับ แต่ติดปัญหาซึ่งผมจับต้นชนปลายไม่ถูก เกรงว่าถ้าเกิดเอามาถามบนบอร์ด จะมั่วกันใหญ่





5 @R13192
ขอบคุณ คุณ . ด้วยนะครับที่แนะนำ ขอบคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2713s