แสดงกระทู้

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 - 001Jetnipit

หน้า: [1] 2 3
1
สวัสดีครับ ผมทำช่องค้นหาและ Combobox ดังรูปข้างล่าง



แต่อยากให้ช่องค้นหา สามารถค้นหาได้หลายค่า ตอนแรกโค้ดแบบนี้ครับ
Code : sql = "SELECT * FROM Q_PI WHERE [ID_Card] like '*" & Nz(Me.TextSearch, "*") & "*' AND [Position] like '" & Nz(Me.CmdPosi, "*") & "' AND [Section] like '" & Nz(Me.CmdSec, "*") & "'"
ใช้ได้ปกติตามต้องการครับ

แต่พอเพิ่มตัวนี้มาอีกตัว
sql = "SELECT * FROM Q_PI WHERE [ID_Card] like '*" & Nz(Me.TextSearch, "*") & "*' OR [NameTH] like '*" & Nz(Me.TextSearch, "*") & "*'  AND [Position] like '" & Nz(Me.CmdPosi, "*") & "' AND [Section] like '" & Nz(Me.CmdSec, "*") & "'"
มันทำให้ค้นหาอะไรไม่ได้เลยครับมันเหมือนคำสั่งใช้ไม่ได้ค้นแล้วไม่แสดงค่าที่ค้น ไม่ทราบว่าผมเข้าใจอะไรผิดหรือเปล่าครับ ขอบคุณครับ

2
เรียกรูปภาษาอังกฤษได้ปกติครับ แต่ถ้าเรียกรูปที่เป็นภาษาไทยจะไม่ขึ้น รบกวนชี้แนะหน่อยครับ ขอบคุณครับ




3
ได้แล้วครับ ปรับ Input mask กับ Format ใน Query ครับ

4
สวัสดีครับ ตารางนี้ผม Import มาจาก Excel อีกที พอเอาขึ้นมาแสดงบน Form ทำไมขึ้นแบบนี้ รบกวนผู้รู้ชี้แนะทีครับ






5
โค้ด : IIf([ptts1_Exp]-Date()<90 and IIf([ptts1_Exp]-Date()>30,"หมดอายุภายใน 3 เดือน","-")
เมื่อฟิล ptts1_Exp น้อยกว่า 90 และมากกว่า 30 ให้แสดงว่า "หมดอายุภายใน 3 เดือน", ถ้าไม่ใช่ แสดง "-"
ไม่ทราบต้องใช้ and ยังไงให้ถูกใน VBA ครับ

6


ตัวนี้ as long ก็ได้คับ
ถ้าน้าย้อนกลับไปดูโพสดีๆ ผมแก้ให้แล้วนะครับ

https://www.thai-access.com/index.php?topic=1722.msg7425#msg7425

ขอบคุณครับผม ผมเริ่มศึกษาจาก 0 ขอบคุณทุกท่านมากครับ

7
เพิ่มโค้ดแบบนี้ จากเดิมมีอันเดียวคือ Dim sql As String ใส่  Dim rstRecords As Recordset เพิ่มเข้าไป
Dim sql As String
Dim rstRecords As Recordset

ทีนี้เป็นตัวนี้ครับ ลองประกาศชื่อนี้ As String แต่ไม่ได้ครับ




8
ยังไม่ได้ประกาศตัวแปร

ต้องประกาศยังไงหรอครับ

9
ผมใช้ Combobox ค้นหาแผนกและสถานะบัตร, และ Textbox ค้นหาชื่อ, Button ชื่อ Clear ใช้ล้างข้อมูลค้นหา โดยทั้งหมดนี้ใช้การเรียก Sub SearchCriteria ร่วมกันใช้ได้ปกติครับ แต่พอผมใส่โค้Saveเมื่อกดSaveเท่านั้นเข้าไป อันที่กล่าวไปข้างต้น กลับใช้ไม่ได้ซักอันเลยครับ ลองเอาตัว Sub SearchCriteria ไว้บนสุดล่างสุดแล้ว ก็ไม่หายครับ เลยอยากสอบถามพี่ๆว่า ต้องแก้ยังไงครับ ขอบคณครับ


หน้าตา Error


หน้าตา Form


โค้ดSaveเมื่อกดSaveเท่านั้น


10
จะปริ้นไฟล์ Pdf ครับเก็บโดยใช้การ Path ไฟล์มาใช้ WebBrowser ในการ Display แต่จะทำ Report โดยให้มันลิงค์กันโดยใช้ข้อมูลจากฟิล Path ใช้ Query เป็นตัวกลางในการจำค่า Path ส่งค่าไปยัง Report แต่ใน Report สร้างได้แต่ Textbox ลิงค์กันได้ปกติ แต่ไม่มี WebBrowser ให้ PrintPreview จะทำอย่างไรดีครับ


หน้าตาตัว WebBrowser ครับ








Path มาปกติครับ


11
แก้โค้ดเป็น
โค๊ด: [Select]
Private Sub Searchcriteria()
Dim sql As String
Dim rstRecords As Recordset
sql = "SELECT * FROM Ptt WHERE [Name] like '*" & Nz(Me.TextSearch, "*") & "*' and [Sex] like '" & Nz(Me.Combo1, "*") & "' and [Dep] like '" & Nz(Me.Combo2, "*") & "' and [Age]  like '" & Nz(Me.Combo3, "*") & "'"
Set rstRecords = CurrentDb.OpenRecordset(sql)
forms!.....................recordsource = sql
forms!.....................Requery

        If rstRecords.EOF Then
            FindRecordCount = 0
        Else
            rstRecords.MoveLast
            FindRecordCount = rstRecords.RecordCount
        End If
   If FindRecordCount = 0 Then
   MsgBox "Not Found This Name!!", vbCritical, "Status"
   End If
End Sub

ขอบคุณครับผม

12
ผมต้องการให้ ถ้าหากค้นหาไม่เจอในตารางหรือจากข้อมูลที่กรอง ให้ MsgBox ว่า Not found this name ครับ แต่ไม่ทราบว่าโค้ดที่ผมเขียนมันผิดพลาดตรงไหนครับ


อันนี้ Sub ครับ






อันนี้ผลจารการค้นหาชื่อที่ไม่ตรง ก่อนใส่โค้ด MsgBox ครับ

13
จากโค้ดที่ให้ไป แก้ชื่อตารางจาก mytable เป็น ptt ก้อนครับผมลืมแก้ให้ :prettiness: :prettiness:

ได้แล้วครับพี่สุดยอดเลยครับ
เดี๋ยวตอนบ่ายผมมาถามเรื่องตั้งกระทู้ถามเรื่อง MsgBox ใน กรณีที่ใช้ Sub อีกครับนะครับขอบคุณครับ

14

แก้ใน private sub SearchCriteria ครับ



ขึ้นแบบนี้ตอนเปิดครับครับเพราะผมใช้ Form_Load รัน SearchCriteria ด้วยครับ


15
อ่อเดียวแก้ให้ใหม่ครับ ชื่อถ้าพิมพ์ไม่เหมือนทุกตัวมันจะไม่ขึ้น ถ้าจะให้พิมพ์แค่บางตัวแล้วขึ้น ต้องใบ้ Like  เข้ามาเพิ่ม เดี่ยวแก้ให้

แก้เป็นแบบนี้ครับ
โค๊ด: [Select]
sql = "SELECT * FROM Mytable WHERE [Name] like '*" & Nz(Me.TextSearch, "*") & "*' and [Sex] like '" & Nz(Me.Combo1, "*") & "' and [Dep] like '" & Nz(Me.Combo2, "*") & "' and [Age]  like '" & Nz(Me.Combo3, "*") & "'"

อันนี้ใส่แค่ปุ่ม Search หรือว่าใส่กับทุก Combobox ด้วยหรอครับ

16
Msgbox กรณีไหนครับ ?


รบกวนพี่ดูการตอบกลับก่อนหน้าของผมอีกทีครับ เหมือนมันยังไม่ Success ครับ

หน้า: [1] 2 3