คำสั่งของ Check Box กับ Combo Box
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 314   1
URL.หัวข้อ / URL
คำสั่งของ Check Box กับ Combo Box

ต้องการ เขียน Function search โดยให้ USER สามารถกำหนดได้ว่าต้องการ Search อะไรบ้าง เช่น Search หา Mr. A จาก Country USA ผู้ใช้จะต้องสามารถ Check ใน Check Box ในส่วนของ ชื่อ และ Check Country USA จาก Combo Box ไม่เข้าใจว่าจะต้องเขียน Code ในส่วนนี้ยังไงดี รบกวนช่วยตอบด้วยนะคะ

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

1 @R00093
ผมเคยทำตัวอย่างให้ท่านหนึ่ง ลักษณะจะคล้ายกับที่คุณได้ถามมา แต่เป็นการค้นหาจาก Text box 3 ตัว ลองศึกษาจากตัวอย่างข้างล่าง หรือจะไปเอาตัวอย่างจริงของไฟล์นี้ที่ http://members.mweb.co.th/specialvoa/download.htm รายการที่ 31 ครับ Private Sub cmdSQL_Click() Dim dbs As Database, qdf As QueryDef Dim strSQL As String strSQL = "" ' Check if cmbMNType empty or not If Me.cmbMNTYPE = "" Or IsNull(Me.cmbMNTYPE) Then ' Do nothing here Else strSQL = strSQL & " tblMT.MNType = '" & Me.cmbMNTYPE & "' " End If ' Combo box ตัวใหม่ If Me.[ชื่อ Combo Box] = "" Or IsNull(Me.[ชื่อ Combo Box]) Then ' Do nothing here Else If strSQL = "" Then strSQL = strSQL & " tblMT.[ชื่อฟีลด์ที่ต้องการเพิ่ม] = '" & Me.[ชื่อ Combo Box] & "' " Else strSQL = strSQL & " And tblMT.[ชื่อฟีลด์ที่ต้องการเพิ่ม] = '" & Me.[ชื่อ Combo Box] & "' " End If End If ' Check if txtStartDate empty or not If Me.txtStartDate = "" Or IsNull(Me.txtStartDate) Then ' Do nothing here Else If Me.txtEndDate = "" Or IsNull(Me.txtEndDate) Then If strSQL = "" Then strSQL = strSQL & "tblMT.dteDate >= #" & Me.txtStartDate & "# " Else strSQL = strSQL & " And tblMT.dteDate >= #" & Me.txtStartDate & "# " End If Else If strSQL = "" Then strSQL = strSQL & " tblMT.dteDate Between #" & Me.txtStartDate & "# And #" & Me.txtEndDate & "# " Else strSQL = strSQL & " And tblMT.dteDate Between #" & Me.txtStartDate & "# And #" & Me.txtEndDate & "# " End If End If End If If Me.txtStartDate = "" Or IsNull(Me.txtStartDate) Then If Me.txtEndDate <> "" Or Not IsNull(Me.txtEndDate) Then If strSQL = "" Then strSQL = strSQL & " tblMT.dteDate <= #" & Me.txtEndDate & "# " Else strSQL = strSQL & " And tblMT.dteDate <= #" & Me.txtEndDate & "# " End If Else ' Do nothing End If End If If strSQL = "" Then strSQL = "SELECT tblMT.ID, tblMT.MNType, tblMT.dteDate " _ & "FROM tblMT;" Else strSQL = "SELECT tblMT.ID, tblMT.MNType, tblMT.dteDate " _ & "FROM tblMT WHERE " & strSQL & ";" End If Set dbs = CurrentDb ' Check if the qrySQL query exists or not, if so, delete it For Each qdf In dbs.QueryDefs If qdf.Name = "qrySQL" Then dbs.QueryDefs.Delete qdf.Name End If Next qdf ' Create the query named srySQL Set qdf = dbs.CreateQueryDef("qrySQL", strSQL) ' Open the newly created query DoCmd.OpenQuery "qrySQL", acViewNormal, acReadOnly Set dbs = Nothing End Sub ..... ถ้าเป็นกรณีของคุณ จะต้องให้ If chkชื่อ CheckBox = True Then ... ลองดูครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0542s