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

    Xuân Thanh > 04-04-20, 05:51 PM

    (04-04-20, 05:30 PM)dotrung Đã viết: Anh Bảo ơi, phần này dùng table thì đúng, nhưng qua dùng query lại không dùng được ạ
    ở đây em dùng query : Qry_makho_phieunhap (quên Group) bị báo lỗi

    vd: Me.Makho = ConcatRelated("MaKho", "Qry_makho_phieunhap", "SOCHUNGTU='" & txtSOCHUNGTU & "'")

    Sao không dùng đúng như Bảo đã hướng dẫn? Hàm gọi từ table chứ đâu gọi từ query? Muốn dùng cho query phải tinh chỉnh lại hàm
  • RE: Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy

    dotrung > 04-04-20, 06:04 PM

    Mã PHP:
    dotrung Đã viết:
    Xin hỏi anh NoNameem sử dụng hàm này trong table thì đượcnhưng dùng trong Query thì nó báo lỗixin mọi người chỉ giúpcảm ơn.

    Đưa cái query đó lên đây 


    Hic hic, lúc đầu em có hỏi là làm từ query, có gì nhờ anh Thanh giúp đỡ ạ.
    (em thường hay append ra table tạm, nhưng mất thời gian quá anh)
  • RE: Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy

    Xuân Thanh > 05-04-20, 11:25 AM

    (04-04-20, 06:04 PM)dotrung Đã viết:
    Mã PHP:
    dotrung Đã viết:
    Xin hỏi anh NoNameem sử dụng hàm này trong table thì đượcnhưng dùng trong Query thì nó báo lỗixin mọi người chỉ giúpcảm ơn.

    Đưa cái query đó lên đây 


    Hic hic, lúc đầu em có hỏi là làm từ query, có gì nhờ anh Thanh giúp đỡ ạ.
    (em thường hay append ra table tạm, nhưng mất thời gian quá anh)

    1/ Sửa lại cái query Qry_makho_phieunhap một chút

    Mã:
    SELECT tblPhieunhapkhochitiet.Makho
    FROM tblPhieunhapkhochitiet
    WHERE (((tblPhieunhapkhochitiet.SOCHUNGTU)=[So]));

    2/ Sửa lại hàm của ongke0711 một chút

    Mã:
    Public Function GopMa(qryName, strMa As String, Optional strSeparator = ", ") As Variant
        Dim DB As DAO.Database, qryNew As DAO.QueryDef, rs As DAO.Recordset, KQ As String
        Dim GiaTri As Boolean, lngLen As Long, rKQ As DAO.Recordset
        KQ = ""
        Set DB = CurrentDb
        Set qryNew = DB.QueryDefs(qryName)
        qryNew.Parameters("So") = strMa
        Set rs = qryNew.OpenRecordset
        GiaTri = rs.Fields(0).Type > 100
        Do Until rs.EOF
            If GiaTri Then
                Set rKQ = rs.Fields(0).Value
                Do Until rKQ.EOF
                    If Not IsNull(rKQ.Fields(0)) Then
                        KQ = KQ & rKQ.Fields(0) & strSeparator
                    End If
                    rKQ.MoveNext
                Loop
                Set rKQ = Nothing
            ElseIf Not IsNull(rs.Fields(0)) Then
                KQ = KQ & rs.Fields(0) & strSeparator
            End If
            rs.MoveNext
        Loop
        rs.Close
        lngLen = Len(KQ) - Len(strSeparator)
        If lngLen > 0 Then
            GopMa = Left(KQ, lngLen)
        End If
    End Function

    3/ Sử dụng
    3.1/ Xóa trắng txtMaKho ====> Me.txtMaKho = ""
    3.2/ Gọi hàm GopMa ====> Me.txtMaKho = GopMa("Qry_makho_phieunhap", Me.txtSoChungTu)
  • RE: Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy

    dotrung > 05-04-20, 12:02 PM

    Em đã làm được, cảm ơn anh Xuân Thanh rất nhiều.
  • RE: Hàm chuyển giá trị trong cột thành chuỗi cách nhau dấu phẩy

    Xuân Thanh > 05-04-20, 12:26 PM

    (05-04-20, 12:02 PM)dotrung Đã viết: Em đã làm được, cảm ơn anh Xuân Thanh rất nhiều.

    Phương pháp tốt nhất là gọi hàm từ table như của ongke0711. Sử dụng query chỉ tốn thêm thời gian mà thôi. Cái câu lệnh sql trong hàm của ongke0711 thực chất là cái qry của bạn đấy