• Xóa 1 record từ 1 file khác
  • Xóa 1 record từ 1 file khác

    Minh Tiên > 26-04-14, 11:52 AM

    tmtien261 có một vấn đề nhờ các A/C/E Pro giúp:
    tmtien261 muốn xóa 1 record theo điều kiện ở 1 file khác theo đoạn code:

    Function Delete(strDelType As String, strSohieu as string)
    Dim sql As String
    Dim sFilePathName As String: "Diachi"
    Dim sPass As String: sPass = "Pass"
    Dim db As DAO.Database
    Set db = OpenDatabase(sFilePathName, False, False, "Ms Access" & ";pwd=" & sPass & "")
    Select Case strDelType
    Case "All"
    sql = "Delete * from tblName"
    Case "Unique"
    sql = "Delete * from tblName Where Sohieu='" & strSohieu & "'"
    End Select
    db.Execute sql
    Set db = Nothing
    End Function
    Nhưng khi xóa hết tất cả thì Ok còn xóa 1 record theo điều kiện thì ko được. tmtien261 đã thử thay biến "strSohieu as string" thành "byval strSohieu as string" vẫn ko được.
    Nhờ các Pro chỉ giáo giúp !
    Cảm ơn nhiều !
  • RE: Xóa 1 record từ 1 file khác

    ht03 > 26-04-14, 12:39 PM

    bạn chưa gắn giá trị cho biến strSohieu kìa 007
  • RE: Xóa 1 record từ 1 file khác

    Minh Tiên > 26-04-14, 02:29 PM

    Bạn ơi ! Sao không gắn mà xóa được bạn. Do mình ko ghi rõ lệnh gọi đó chứ.
    Để xóa tất cả tại form mình gọi: Call Delete("All",me.Sohieu.value) (Thực ra biến strSohieu trong trường hợp xóa tất cả ko có tác dụng);
    Xóa chỉ 1 record thì gọi: Delete("Unique",me.Sohieu.value)
    Thanks bạn !
  • RE: Xóa 1 record từ 1 file khác

    Minh Tiên > 26-04-14, 03:35 PM

    tmtien261 đã tìm ra nguyên nhân của việc ko xóa được trên form của mình rồi.
    Khi mình gọi bằng lệnh: Delete("Unique",me.Sohieu.value) với me.Sohieu.value là record trực tiếp trên form tức là Click vào Record nào thì là lấy record đó để làm điều kiện xóa. Việc này ko ổn định, có lúc xóa được, có lúc không.
    Mình đã khắc phục bằng cách tạo 1 textbox phụ, khi Click vào record nào thì giá trị của Record đó được gán vào textbox phụ để làm điều kiện xóa ---> Thế là Ok !
  • RE: Xóa 1 record từ 1 file khác

    Xuân Thanh > 26-04-14, 04:09 PM

    Có thể không cần textbox phụ vẫn xóa được. Có thể. bạn làm chưa đúng cách đó thôi. Gửi file kên đi
    Thân mến
  • RE: Xóa 1 record từ 1 file khác

    Minh Tiên > 26-04-14, 05:48 PM

    tmtien261 Up file lên nhờ XT cùng các Pro xem giúp nhé !
    FileDemo
    Thanks !
  • RE: Xóa 1 record từ 1 file khác

    MTNQ > 28-04-14, 02:04 AM

    Bạn sửa thủ tục Sub btnXoa_Click() lại như sau là được:

    Mã PHP:
    Private Sub btnXoa_Click()
    On Error GoTo HandleError
        Dim strSohieuTK 
    As String
        strSohieuTK 
    Me.SohieuTK.Value
        strText 
    "Co1 d9u1ng User muo61n xo1a so61 du7 cu3a TK: " Me.SohieuTK " kho6ng ?"
        
    If MsgBox(UniConvert(strText"vni"), vbQuestion vbYesNo vbDefaultButton2) = vbNo Then
            
    Exit Sub
        
    Else
            
    'Call Sodudauky.Delete("CurrentDB", Me.txtSohieuTKXoa.Value)
            '
    Call Sodudauky.Delete("BackupDB"Me.txtSohieuTKXoa.Value)
            
    Call Sodudauky.Delete("CurrentDB"strSohieuTK)
            
    Call Sodudauky.Delete("BackupDB"strSohieuTK)
            
    DoCmd.Requery
            Call SetButton
    ("Delete")
        
    End If

    HandleExit:
        Exit 
    Sub
    HandleError
    :
        
    MsgError Err.NumberErr.DescriptionmodName"btnXoa_Click"
        
    Resume HandleExit
    End Sub 
  • RE: Xóa 1 record từ 1 file khác

    Minh Tiên > 28-04-14, 03:39 PM

    Cảm ơn "MTNQ" đã giúp. Mình làm trên Function của cls để tiện gọi dùng trên nhiều form. Cách của bạn cũng giống như mình tạo textbox phụ thôi.
    Mình đã ko hiểu tại sao khi chạy trực tiếp bằng cách Click chuột vào Record để lấy giá trị thì ko chạy được (Chạy ko ổn định) mà truyền sang 1 textbox phụ thì OK ?
    Thanks !
  • RE: Xóa 1 record từ 1 file khác

    MTNQ > 28-04-14, 07:52 PM

    (28-04-14, 03:39 PM)tmtien261 Đã viết: Cảm ơn "MTNQ" đã giúp. Mình làm trên Function của cls để tiện gọi dùng trên nhiều form. Cách của bạn cũng giống như mình tạo textbox phụ thôi.
    Mình đã ko hiểu tại sao khi chạy trực tiếp bằng cách Click chuột vào Record để lấy giá trị thì ko chạy được (Chạy ko ổn định) mà truyền sang 1 textbox phụ thì OK ?
    Thanks !

    Thực ra bạn chỉ cần làm như sau cũng được:

    đổi thứ tự:
    Mã:
    Call Sodudauky.Delete("CurrentDB", Me.SohieuTK.Value)
            Call Sodudauky.Delete("BackupDB", Me.SohieuTK.Value)

    lại thành:
    Mã:
    Call Sodudauky.Delete("BackupDB", Me.SohieuTK.Value)
    Call Sodudauky.Delete("CurrentDB", Me.SohieuTK.Value)

    Nói đến đây chắc bạn suy ra nguyên nhân rùi đúng ko?
  • RE: Xóa 1 record từ 1 file khác

    Minh Tiên > 29-04-14, 08:54 AM

    Cảm ơn bạn đã giúp. Mình cũng đã chỉ dùng 1 câu để xóa trên BackupDB là: Call Sodudauky.Delete("BackupDB", Me.SohieuTK.Value) vẫn No OK !