thucgia > 15-02-15, 08:14 PM
(05-12-10, 03:13 PM)Noname Đã viết: bài viết của Noname
Site: http://thuthuataccess.co.cc
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...
Sử dụng:Mã: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
Ví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
Ví dụ ta có table sau:
Yêu cầu ở đây là bạn liệt kê các số Hóa đơn bị xoabo.tableHDIndex (Click to View)
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:
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