แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Tatchawin

หน้า: [1] 2 3 4
1
ลองดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

2
ใช้​ BeforeUpdate event หลัง​ texbox อันที่2 ดีกว่าครับ

 If (not isnull(me. textbox_id) or me.textbox_id<>""​)​ and (not isnull(textbox_disease) or me. textbox_disease<>""​) then
        If dcount("*", "table_name", "id=forms! Formname!textbox_id and   disease =forms! Formname!textbox_disease" ) >0
       then
       Msgbox "ข้อมูลซ้ำ"
       Cancel=true
       End if
Else
Msgbox "ใส่ข้อมูลไม่ครบ"
End if
ลองประยุกต์ดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

3
ต้องเช็ค ทั้ง 2 textbox และ 2 Field ในครั้งเดียว ตัวอย่างโค้ด

Sub SearchDuplicate()
If Not IsNull(Me.txtCongDiseaseID1) And Not IsNull(Me.txtPersonID) Then
If DLookup("[CongDiseaseID]", "tblCongDiseaseDetails", "CongDiseaseID=" & Me.txtCongDiseaseID1 & "") _
And DLookup("[PersonID]", "tblCongDiseaseDetails", "PersonID='" & Me.txtPersonID & "'") Then
MsgBox "ไม่อนุญาตให้กรอกข้อมูลซ้ำ, กรุณาลองใหม่", vbInformation, "ข้อมูลซ้ำกับข้อมูลเดิม"
End If
End If
End Sub

Private Sub txtCongDiseaseID1_Exit(Cancel As Integer)
Call SearchDuplicate
End Sub

Private Sub txtPersonID_Exit(Cancel As Integer)
Call SearchDuplicate
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

4
ลองดูครับ
อุตส่าห์อธิบายโจทย์ขนาดนี้พยายามทำให้ละกัน  :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

5
ทำไมของผมไม่เป็นครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

6
ใช้เงื่อนไขการเช็ค ถ้าไม่มีรายการก็ยกเลิกการทำงานเช่น
Me.lstDepartment.Selected(0) = True

แก้ไขโค้ดเป็นแบบนี้ครับ

โค๊ด: [Select]
If Me.lstDepartment.Selected(0) = True Then
    Exit Sub
    Else
    For Each varItem4 In Me.lstDepartment.ItemsSelected
        strsearch4 = strsearch4 & "," & Me!lstDepartment.ItemData(varItem4)
    Next varItem4
    If strsearch4 = vbEmpty Then
    criteria4 = Null
    Else
        strsearch4 = Right(strsearch4, Len(strsearch4) - 1)
        criteria4 = " And [DepartmentID] in (" & strsearch4 & ")"
    End If
End If
'---------------------------------------------------------------------------------------------------------
If Me.lstSection.Selected(0) = True Then
    Exit Sub
    Else
    For Each varItem5 In Me.lstSection.ItemsSelected
        strsearch5 = strsearch5 & "," & Me!lstSection.ItemData(varItem5)
    Next varItem5
    If strsearch5 = vbEmpty Then
    criteria5 = Null
    Else
        strsearch5 = Right(strsearch5, Len(strsearch5) - 1)
        criteria5 = " And [SectionID] in (" & strsearch5 & ")"
    End If
End If
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

7
ลองดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

8
แก้โค้ดบรรทัดนี้นะครับ เออเร่อจะหายไป
StrWhere = Nz((criteria1 & criteria2 & criteria3 & criteria4 & criteria5), "")

ปุ่มที่ 1 โจทย์ข้อ 2

โค๊ด: [Select]
Private Sub Cmb1_Click()
Dim sql As String
Dim i As Long
Dim currentMonth As String
Dim NextMonth As String
Dim Criteria As String
With Me.lstYearSort
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstMonthSort
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstSection
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstWorkGroup
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstDepartment
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
currentMonth = Month(Date)
NextMonth = Month(Date) + 1
Criteria = " [MonthNum] in " & "(" & currentMonth & "," & NextMonth & ")"
sql = "SELECT * FROM qryPerDay WHERE" & Criteria
Forms!frmManpower1!frmqryPerDay.Form.RecordSource = sql
End Sub
ปุ่มที่ 2 โจทย์ข้อ 3 ใส่โค้ดแบบนี้
โค๊ด: [Select]
Private Sub Cmb2_Click()
Dim sql As String
Dim i As Long
With Me.lstYearSort
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstMonthSort
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstSection
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstWorkGroup
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
With Me.lstDepartment
    .Selected(0) = True
    For i = .ListCount To 0 Step -1
        .Selected(i) = False
    Next i
End With
sql = "SELECT * FROM qryPerDay;"
Forms!frmManpower1!frmqryPerDay.Form.RecordSource = sql
End Sub



โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

9
ลองดูนะครับ
โค้ดแต่ละ listbox ผมจัดไว้เป็นชุดนะครับ
คงไม่ยาก ยังติดตรงส่วนไหนบอกได้
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

10
ครับพรุ่งนี้จัดให้ครับผม
วันนี้ผมเลิกงานแล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

11
ส่งFile และ เพิ่มข้อมูลเบื้องต้นในตาราง และฟอร์มนั้นมาครับ (ถ้าไม่ได้ส่วนตัวมาก)
เดี่ยวผมปรับโค้ดให้ใหม่ ดูแล้วโค้ดไม่ได้ยาวอะไรเลยครับ สั้นๆ เอง
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

12
ใช้ได้เลยครับ เจ๋งดี ขอบคุณมากครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

13
ใส่ .BodyPart.Charset = "utf-8"   
ตามนี้ได้เลยครับ

https://stackoverflow.com/questions/43927471/send-up-arrow-%E2%86%91-character-to-iphone-with-sms-using-vba-and-a-cdo-mail-object link

ผมลองแล้วใช้ได้



โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

14
สำหรับ Gmail ใช้อันนี้ได้ครับ
https://wellsr.com/vba/2020/excel/vba-send-email-with-gmail/ link
แล้วก็เปิด App password gmail นำพาสที่ได้มาใช้ครับ
อันนี้ใช้งานได้จริง ลองแล้วครับ ติดอย่างเดียวครับ ในส่วนเนื้อหา Textbody ไม่รองรับภาษาไทย แก้ไขยังไงได้บ้างครับ
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

15
ใช้การกำหนด RowSource ครับ ตัวอย่าง
สมมุติ ชื่อตาราง table1
        ชื่อฟิลล์ที่นำมาแสดงชื่อรายการในคอมโบบ๊อกชื่อ NationalID


Private Sub cbPlantID_AfterUpdate()
Dim SQL As String
If Me.cbPlantID = 5 Then
SQL = "SELECT NationalID  FROM Table1;"
Else
SQL = "SELECT NationalID FROM Table1 WHERE (((PlantID)=[forms]![ชื่อฟอร์มหลัก]![cbPlantID]));"
End If
Forms![ชื่อฟอร์มหลัก]![ชื่อฟอร์มย่อย].Form.cbNationalID.RowSource = SQL
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

16
ที่มุมมองออกแบบ บน MainForm ให้คุณกดติ๊กที่ Subform แล้วที่คุณสมบัติของ Subform ดูชื่อจริงๆของ Subformครับมันไม่ได้ชื่อเดียวกับที่คุณตั้งไว้เสมอไป ถ้าจะแก้ให้ตรงต้องแก้ตรงนั้นครับ

โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

หน้า: [1] 2 3 4