Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hàm tách chuỗi cách nhau dấu phẩy thành cột
#1
Hôm trước, Noname có giới thiệu hàm tách cột thành chuỗi cách nhau dấu phẩy tại http://thuthuataccess.com/forum/thread-640.html
Hôm nay xin giới thiệu hàm làm nhiệm vụ ngược lại, vì gần đây thấy nhiều bạn thắc mắc về vấn đề tìm kiếm theo nhiều giá trị. Bạn tạo một table tblTam có một trường duy nhất để chứa các giá trĩ trả về của hàm TachChuoi mà chúng ta sẽ soạn thào ngay sau đây. Trong modul, bạn chép hàm TachChuoi này vào

Mã PHP:
Function TachChuoi(ChuoiCanTach As String)
    
Dim rs As Recordset
    Set rs 
CurrentDb.OpenRecordset("tblTam"dbOpenTable)
    If 
rs.RecordCount 0 Then
        DoCmd
.SetWarnings False
        DoCmd
.RunSQL "Delete * From tblTam"
        
DoCmd.SetWarnings True
    End 
If
    
Dim Chuoi As String
    Dim KQ 
As String
    Dim VT 
As IntegerAs Integer
    KQ 
Space(0)
    
Chuoi Trim(ChuoiCanTach)
    For 
1 To Len(Chuoi)
        
VT InStr(iChuoi",")
        If 
VT 0 Then
            KQ 
KQ Left(ChuoiVT 1)
            
rs.AddNew
            rs
.Fields(0) = KQ
            rs
.Update
            Chuoi 
Trim(Right(ChuoiLen(Chuoi) - VT))
            
KQ Space(0)
        
End If
        If 
Len(ChuoiThen
            rs
.AddNew
            rs
.Fields(0) = Chuoi
            rs
.Update
        End 
If
    
Next
End 
Function 

Kết quả là ta đã có một table chứa các giá trị trong chuỗi được cách nhau bằng dấu phẩy

Ứng dụng:
Ta có một CSDL quản lý vật tư, có một table tblVatTu gồm MaVT, TenVT, DVT, Ton. Trong một ngày xấu trời, sếp yêu cầu ta báo cáo số lượng tồn của một số vật tư nào đó. Chả lẽ mỗi VT làm 1 query để báo cáo? Vậy ta dùng hàm TachChuoi này kết hợp với một hàm viết trong form nữa là ta có báo cáo cho sếp rồi
Các bạn xem file DeMo sẽ biết cách thực hiện
1/ Mở table tblVatTu xem các vật tư hiện có trong kho
2/ Trong form, ghi các Mã VT cần tìm vào textbox Tách mã VT sau đó nhấn nút command bên cạnh, Giá trị trả về của hàm TachChuoi được hiển thị trong ListBox

Các bạn vận dụng vào trường hợp cụ thể của minh
Thân mến


File đính kèm
.zip   DeMo Tach Chuoi.zip (Kích cỡ: 16.07 KB / Tải về: 126)
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Thanh Phương , haquocquan , Noname
#2
Góp sức với Xuân Thanh tí, bạn nào vững code một chút có thể ứng dụng cách tạo giao diện chọn hàng hóa trước khi in như Long đã trình bày trong:

Chuẩn hóa chương trình

mục số 2 ấy. Sẽ giúp chương trình có độ uyển chuyển và chuyên nghiệp hơn nhé!

Thân! ^^005
ღღღღღTài sản của bomnhauag (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname
#3
Bạn nào hơi cứng về VBA một chút, có thể sửa lại hàm trên như sau :

Mã PHP:
Function TachChuoi(ChuoiCanTach As String)
    
Dim rs As Recordset
    Set rs 
CurrentDb.OpenRecordset("tblTam"dbOpenTable)
    If 
rs.RecordCount 0 Then
        DoCmd
.SetWarnings False
        DoCmd
.RunSQL "Delete * From tblTam"
        
DoCmd.SetWarnings True
    End 
If
    
Dim i As Long
    Dim Chuoi 
As Variant
    Chuoi 
Split(ChuoiCanTach",")
    For 
LBound(ChuoiTo UBound(Chuoi)
        
rs.AddNew
        rs
.Fields(0) = Chuoi(i)
        
rs.Update
    Next
End 
Function 

Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng Dẫn Tổng hợp hàm xử lý văn bản và chuỗi ( Có ví dụ) maidinhdan 0 314 16-04-16, 01:17 PM
Bài mới nhất: maidinhdan
  [Hàm] Hàm tách lấy số trong một chuỗi cho trước Xuân Thanh 11 2,124 13-10-15, 10:08 AM
Bài mới nhất: tranthanhan1962
  [Hàm] Demo hàm nén mọi file thành file *.zip maidinhdan 4 897 20-09-15, 11:57 AM
Bài mới nhất: conmeocon
  Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy Noname 24 13,148 15-02-15, 08:14 PM
Bài mới nhất: thucgia
  Hàm chuyển chuỗi Unicode tiếng Việt thành Chuỗi mã Unicode trong VBA Noname 12 7,944 08-04-14, 08:17 PM
Bài mới nhất: vulhu06

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ