• CẮT CHUỖI TRONG ACCESS
  • CẮT CHUỖI TRONG ACCESS

    kekemsu > 20-12-23, 02:09 PM

    Hi, mình đang bị vấn đề như sau, mình cần cắt 1 chuỗi trong access. Ví dụ : MN_001122334456_CB0123945 => mình cần lấy MN_001122334456 (cắt bỏ "_CB0123945"). Phần cắt bỏ được xác định bắt đầu bằng dấu "_" đầu tiên tính từ bên phải sang. Nhờ anh/chị hướng dẫn mình với ạ, hoặc có code module nào cho em xài ké với big green
  • RE: CẮT CHUỖI TRONG ACCESS

    ongke0711 > 20-12-23, 02:22 PM

    Bạn dùng hàm:

    Mã PHP:
    ketqua Left(chuoiInStrRev(chuoi"_") - 1

    Hoặc copy hàm này vào Module:

    Mã:
    Function catChuoi(chuoi As String) As String
        catChuoi = Left(chuoi, InStrRev(chuoi, "_") - 1)
    End Function
  • RE: CẮT CHUỖI TRONG ACCESS

    kekemsu > 20-12-23, 04:18 PM

    (20-12-23, 02:22 PM)ongke0711 Đã viết: Bạn dùng hàm:

    Mã PHP:
    ketqua Left(chuoiInStrRev(chuoi"_") - 1

    Hoặc copy hàm này vào Module:

    Mã:
    Function catChuoi(chuoi As String) As String
        catChuoi = Left(chuoi, InStrRev(chuoi, "_") - 1)
    End Function

    Thanks bạn, 
    Thêm cái nữa là data của mình hơi chuối, có những cái nó có "_CB*", có những cái không có. mục đích mình chỉ muốn bỏ những cái có "_CB*" đi thôi, thì có hàm nào không ạ?
    Mình đã thử InstrRev(chuoi,"_CB*") nhưng không được
  • RE: CẮT CHUỖI TRONG ACCESS

    ongke0711 > 20-12-23, 08:27 PM

    Bạn kiểm tra lại và đưa tất cả các trường hợp có thể phât sinh lên xử lý một lần luôn nhé.
  • RE: CẮT CHUỖI TRONG ACCESS

    toidjtjmtoi > 22-12-23, 10:22 AM

    Result: Left([Field1],InStr([Field1],"_CB")-1)
    Đây nhé bạn
    Thay field1 = tên cột của b
  • RE: CẮT CHUỖI TRONG ACCESS

    ledangvan > 23-12-23, 09:46 AM

    (20-12-23, 04:18 PM)kekemsu Đã viết:
    (20-12-23, 02:22 PM)ongke0711 Đã viết: Bạn dùng hàm:

    Mã PHP:
    ketqua Left(chuoiInStrRev(chuoi"_") - 1

    Hoặc copy hàm này vào Module:

    Mã:
    Function catChuoi(chuoi As String) As String
        catChuoi = Left(chuoi, InStrRev(chuoi, "_") - 1)
    End Function

    Thanks bạn, 
    Thêm cái nữa là data của mình hơi chuối, có những cái nó có "_CB*", có những cái không có. mục đích mình chỉ muốn bỏ những cái có "_CB*" đi thôi, thì có hàm nào không ạ?
    Mình đã thử InstrRev(chuoi,"_CB*") nhưng không được

    Cái này có thể xử lý bằng cách đơn giản bằng lệnh tìm kiếm thay thế big green : Ctrl + F -> Tìm _CB* thay thế = khoảng trống là xong cần gì phải Code big green
  • RE: CẮT CHUỖI TRONG ACCESS

    ongke0711 > 23-12-23, 10:06 AM

    (23-12-23, 09:46 AM)ledangvan Đã viết: Cái này có thể xử lý bằng cách đơn giản bằng lệnh tìm kiếm thay thế big green : Ctrl + F -> Tìm _CB* thay thế = khoảng trống là xong cần gì phải Code big green

    Nếu em không lầm thì chủ thớt không có ý định thay đổi cột dữ liệu gốc mà chỉ muốn tách chuỗi ra để xử lý cho một table khác, một công việc khác nên mới dùng code đó anh. Còn nếu thuần túy làm sạch dữ liệu ban đầu thì dùng cách của anh cũng được rồi.