Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

12/6/10

Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy

bài viết của Noname
Site: http://thuthuataccess.com
vui lòng giữ tên tác giả và site nếu dùng lại bài viết này làm tư liệu cho mình và chia sẻ. Cám ơn

-------------------------------------------------------------------
Ứng dụng của hàm này vào việc liệt kê danh sách khách hàng, số hóa đơn mất - xóa bỏ, liệt kê các giá trị thỏa điều kiện nào đó trong 1 câu query thành 1 chuỗi.Dùng chuỗi này vào các báo cáo...



Function columnToString(sql As String) As String
'author:Noname
'site:http://thuthuataccess.co.cc
Dim rs As Recordset
Dim S As String
Set rs = CurrentDb.OpenRecordset(sql)
rs.MoveFirst
While Not (rs.EOF)
S = S & "," & rs(0)
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
columnToString = Mid(S, 2)
End Function
Sử dụng:
Mã:
Private Sub Command0_Click()
Dim sql As String
sql = "select soHD FROM HDIndex WHERE [Trangthai] = 'xoabo'"
Me.txtChuoi = columnToString(sql)
Me.Repaint
End Sub
 [Hình: hoadonxoabo.jpg]
Ví dụ ta có table sau:
tableHDIndex (Click to View)
Yêu cầu ở đây là bạn liệt kê các số Hóa đơn bị xoabo.
ta thấy có các giá trị sau:
000003
000004
000005
000013
000016


Vấn đề là ta liệt kê nó thành 1 chuỗi và ngăn nhau bằng dấu phẩy, để nó trở thành : 000003,000004,000005,000013,000016.

hàm trên đáp ứng được điều đó bằng cách gọi:

Private Sub Command0_Click()
Dim sql As String
sql = "select soHD FROM HDIndex WHERE [Trangthai] = 'xoabo'"
Me.txtChuoi = columnToString(sql)
Me.Repaint
End Sub
Để thảo luận và download demo, vui lòng váo diễn đàn Thủ Thuật Access tại địa chỉ:
http://thuthuataccess.com/forum/Thread-ham-chuyen-gia-tri-trong-cot-thanh-chuoi-cach-nhau-dau-phay