ขออนุญาตสอบถามเรื่องปัญหา code การค้นหาและปฏิทิน
Posted: Thu Sep 23, 2021 10:19 am
ขออนุญาตอ้างถึง ของสมาชิกครับ
ผมได้นำมาปรับเพิ่มเติมในฟอร์มการค้นหา แต่ติดปัญหาไม่สามารถใช้งานได้
แต่เกิด error ตามภาพครับ
อีกปัญหาคือผมทำฟังก์ชั่นปฏิทินในฟอร์มค้นหา แต่ไม่สามารถใช้งานได้ แต่ทำในฟอร์มหลักสามารถใช้งานได้ รบกวนแนะนำการปัญหาด้วยครับ
Code ของปฏิทินครับ
ขอบพระคุณครับ
Code: Select all
https://snasui.com/viewtopic.php?f=3&t=18301ผมได้นำมาปรับเพิ่มเติมในฟอร์มการค้นหา แต่ติดปัญหาไม่สามารถใช้งานได้
Code: Select all
Option Explicit
Dim FormEvents As Boolean
Private Sub ClearForm(Except As String)
Select Case Except
Case "ReceiveNO"
FormEvents = False
BookNO.value = ""
DateIN.value = ""
From.value = ""
Too.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
Case "BookNO"
FormEvents = False
ReceiveNO.value = ""
DateIN.value = ""
From.value = ""
Too.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
Case "DateIN"
FormEvents = False
ReceiveNO.value = ""
BookNO.value = ""
From.value = ""
Too.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
Case "From"
FormEvents = False
ReceiveNO.value = ""
BookNO.value = ""
DateIN.value = ""
Too.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
Case "Too"
FormEvents = False
ReceiveNO.value = ""
BookNO.value = ""
DateIN.value = ""
From.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
Case "Detail"
FormEvents = False
ReceiveNO.value = ""
BookNO.value = ""
DateIN.value = ""
From.value = ""
Too.value = ""
Results.Clear
FormEvents = True
Case Else
FormEvents = False
ReceiveNO.value = ""
BookNO.value = ""
DateIN.value = ""
From.value = ""
Too.value = ""
Detail.value = ""
Results.Clear
FormEvents = True
End Select
End Sub
Private Sub BasicCalendar_Click()
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then SearchForm.DateIN.Text = Format(dateVariable, "d mmm yyyy")
End Sub
Private Sub ClearBtn_Click()
ClearForm ("")
End Sub
Private Sub CloseBtn_Click()
Me.Hide
End Sub
Private Sub ReceiveNO_Change()
If FormEvents Then ClearForm ("ReceiveNO")
End Sub
Private Sub BookNO_Change()
If FormEvents Then ClearForm ("BookNO")
End Sub
Private Sub DateIN_Change()
If FormEvents Then ClearForm ("DateIN")
End Sub
Private Sub From_Change()
If FormEvents Then ClearForm ("From")
End Sub
Private Sub Too_Change()
If FormEvents Then ClearForm ("Too")
End Sub
Private Sub Detail_Change()
If FormEvents Then ClearForm ("Detail")
End Sub
Private Sub SearchBtn_Click()
Dim SearchTerm As String
Dim SearchColumn As String
Dim RecordRange As Range
Dim FirstAddress As String
Dim FirstCell As Range
Dim RowCount As Integer
If ReceiveNO.value = "" And BookNO.value = "" And DateIN.value = "" And From.value = "" And Too.value = "" And Detail.value = "" Then
MsgBox "No search term specified", vbCritical + vbOKOnly
Exit Sub
End If
If ReceiveNO.value <> "" Then
SearchTerm = ReceiveNO.value
SearchColumn = "เลขทะเบียนรับ"
End If
If BookNO.value <> "" Then
SearchTerm = BookNO.value
SearchColumn = "ที่"
End If
If DateIN.value <> "" Then
SearchTerm = DateIN.value
SearchColumn = "ลงวันที่"
End If
If From.value <> "" Then
SearchTerm = From.value
SearchColumn = "จาก"
End If
If Too.value <> "" Then
SearchTerm = Too.value
SearchColumn = "ถึง"
End If
If Detail.value <> "" Then
SearchTerm = Detail.value
SearchColumn = "เรื่อง"
End If
Results.Clear
With Range("data[" & SearchColumn & "]")
Set RecordRange = .Find(SearchTerm, LookIn:=xlValues)
If Not RecordRange Is Nothing Then
FirstAddress = RecordRange.Address
RowCount = 0
Do
Set FirstCell = Range("B" & RecordRange.Row)
Results.AddItem
Results.List(RowCount, 0) = FirstCell(1, 1)
Results.List(RowCount, 1) = FirstCell(1, 2)
Results.List(RowCount, 2) = FirstCell(1, 3)
Results.List(RowCount, 3) = FirstCell(1, 4)
Results.List(RowCount, 4) = FirstCell(1, 5)
Results.List(RowCount, 5) = FirstCell(1, 6)
RowCount = RowCount + 1
Set RecordRange = .FindNext(RecordRange)
If RecordRange Is Nothing Then
Exit Sub
End If
Loop While RecordRange.Address <> FirstAddress
Else
Results.AddItem
Results.List(RowCount, 0) = "ไม่พบข้อมูลที่ต้องการ!!!"
End If
End With
End Sub
Private Sub UserForm_Initialize()
FormEvents = True
End Sub
อีกปัญหาคือผมทำฟังก์ชั่นปฏิทินในฟอร์มค้นหา แต่ไม่สามารถใช้งานได้ แต่ทำในฟอร์มหลักสามารถใช้งานได้ รบกวนแนะนำการปัญหาด้วยครับ
Code ของปฏิทินครับ
Code: Select all
Private Sub BasicCalendar_Click()
dateVariable = CalendarForm.GetDate
If dateVariable <> 0 Then SearchForm.DateIN.Text = Format(dateVariable, "d mmm yyyy")
End Sub