ลบข้อมูลที่ติ๊กถูกออก
กระทู้เก่าบอร์ด อ.Yeadram

 1,281   2
URL.หัวข้อ / URL
ลบข้อมูลที่ติ๊กถูกออก

ผมมีปัญหาเรื่องการลบข้อมูลของจากฐานข้อมูลครับ
คือตอนนี้ผมทำโปรแกรมแล้วประมาณหนึ่ง แต่ติดตรงที่เมื่อเราติ๊กเครื่องถูกแล้วต้องการทำปุ่มเพื่อให้ลบข้อมููลออกจากฐานข้อมูลด้วย ต้องทำแบบไหนดีครับ
ซึ่งผมส่งตัวอย่างโปรแกรมไปที่ Gmail นี้ครับ
accboard@gmail.com   pass: accgmail

ขอบคุณครับ

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

1 @R10474
เพิ่มฟังก์ชั่นนี้ในฟอร์ม

Private Function buildSQL(strSQL As String, strPattern As String, col As Collection, i As Integer) As String
    If i = 1 Then
        buildSQL = strSQL & "'" & strPattern & "'" & " & '" & colCheckBox.Item(i) & "'"
        Else
            buildSQL = buildSQL & strSQL & "'" & strPattern & "'" & " & '" & colCheckBox.Item(i) & "' OR "
            Debug.Print buildSQL
            buildSQL = buildSQL(buildSQL, "*", col, (i - 1))
    End If
    
End Function

และคำสั่งสำหรับปุ่มลบข้อมูล

Private Sub Command46_Click()
Dim i As Integer
Dim strSQL As String
Dim strPattern As String
Dim tmpQuery As QueryDef

strPattern = "??????"

strSQL = "DELETE del_no FROM Q_ORDER_SELECT WHERE del_no Like "

    strSQL = buildSQL(strSQL, "*", colCheckBox, colCheckBox.Count)

    With CurrentDb
        Set tmpQuery = .CreateQueryDef("delQuery", strSQL)
        tmpQuery.Execute
        .QueryDefs.Delete tmpQuery.Name
    End With
    Set colCheckBox = Nothing

End Sub

*** หมายเหตุ
     รูปแบบเงื่อนไขการลบไม่แน่นอนจึงไม่สามารถระบุว่าจะใช้ Pattern '??????' หรือ '*' ถ้านัยสำคัญของการลบคือเลขท้าย 5 ตัว ก็อาจใช้แพทเทิร์น '*' ได้ แต่ถ้าเกิดว่า ขณะที่กำลังเก็บค่า Collection นั้น มีเลขที่เป็นจำนวน 0xxxx
เลขที่เก็บใน Collection จะมีแค่ 4 หลัก ผลกระทบก็คือ ถ้ามีข้อมูล 14443 และ 04443 ซึ่งค่าใน Collection เท่ากับ 14443, 4443 ถ้าใช้แพทเทิร์น '??????' & '14443' เรคคอร์ดจะถูกลบเพียงเรคคอร์ดเดียว แต่ถ้าใช้แพทเทิร์น '*' & '4443' เรคคอร์ดจะถูกลบออกไป 2
2 @R10480
ขอบคุณ U&ME ครับสำหรับคำตอบ แต่ผมยอมรับไม่เก่งเรื่องคำสั่งที่ทำให้ดู ที่ผมทำโปรแกรมได้บางส่วน คือใช้ดูตัวอย่างที่เขาทำโปรแกรมไว้แล้ว แล้วเอามาแกะดูที่ละคำสั่งดู ผมรบกวนช่วยทำเป็นตัวอย่างโปรแกรมให้ดูหรือมีตัวอย่างโปรแกรมที่ทำไว้แล้วก็ได้ครับ
ส่งไปที่ accboard@gmail.com Password : accgmail
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3433s