รบกวนช่วยอธิบายหน่อยค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,857   7
URL.หัวข้อ / URL
รบกวนช่วยอธิบายหน่อยค่ะ

พอดีต้องการที่จะแปลงข้อมูลคล้ายๆ กับตัวอย่างของกระทู้นี้ค่ะ

http://www.thai-access.com/yeadram_view.php?topic_id=1583
แต่มีไม่เข้าใจเวลาเราเขียน Code ในโมดูล แล้วเราเอาไปใช้อ้างอิงใน sql มันต้องทำอย่างไรค่ะ เพราะทำไปแล้วมันบอกไม่รู้จัก fnGetExpr ค่ะ


7 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R11463
เอาโค้ดนั้นไว้ในโมดูลหรือเปล่า โมดูลที่อยู่ในส่วน Module Object หน่ะครับ   ไม่ใช่ไว้ในส่วนของฟอร์มหรือรายงานตัวไหนนะครับ
2 @R11469
เรียน อ. สันติสุข

ตอนนี้ได้นำโค้ดเข้าไปไว้ใน โมดูลแล้วค่ะเป็นแบบนี้ค่ะ
Public Function fnGetExpr(txtUserName As String) As String
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim SQL As String

SQL = "select [»ÃÐʺ¡Òóì] from [Table1] where [ª×èÍ] = """ & txtUserName & """ order by [»ÃÐʺ¡Òóì]"

Set DB = CurrentDb
Set RS = DB.OpenRecordset(SQL)
Do Until RS.EOF
    If fnGetExpr = "" Then
        fnGetExpr = RS![»ÃÐʺ¡Òóì]
        Else
        fnGetExpr = fnGetExpr & "/" & RS![»ÃÐʺ¡Òóì]
    End If
    RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
Exit Function

ส่วน SQL เป็นแบบนี้ค่ะ
SELECT Table1.[ชื่อ], fnGetExpr([ชื่อ])
FROM Table1
GROUP BY Table1.[ชื่อ];

แต่พอ Run แล้วมันขึ้นว่า "Compile error: Expected End Function"
ก็เลยแก้จาก Exit Function เป็น End Function
แล้ว Run ใหม่ ก็มาติดที่บรรทัด Set RS=DB.OpenRecordset(SQL) ค่ะ

รบกวน อ. ช่วยดูให้อีกนิดค่ะ
ขอบคุณค่ะ

3 @R11470
ขอโทษนะคะ พอดีที่โพส ไปเห็นภาษาไทยไม่ขี้น ตรงที่เป็นตัวอักษร [»ÃÐʺ¡Òóì] คือ [ประสบการณ์]
[ª×èÍ]   คื่อ [ชื่อ] ค่ะ

รบกวนด้วยค่ะ
4 @R11472
อย่างแรกคือ ได้ทำการ compile หรือยัง โดยไปที่เมนู Debug แล้วเลือก Compile ถ้าผ่านก็ช่วยบอกด้วยว่าที่ error มันเป็นรหัสอะไร ข้อความว่าอะไร
5 @R11473
รหัส 3061 ค่ะ "Too few parameters. Expected 2."
ในกรณีที่ จบด้วย End Function นะคะ
6 @R11474
ลองเช็คดูให้ดีว่ามีสะกดชื่อฟิลด์ตรงไหนผิดหรือเปล่า และชื่อเทเบิลผิดหรือเปล่า ... ถ้าอ่านดูแล้วเหมือนว่าจะไม่มี ก็ลองพิมพ์ใหม่ทั้งบรรทัดอีกครั้งเลยครับ
7 @R11475
ได้แล้วค่ะ ลองเปลี่ยนชื่อฟิลด์ใหม่เป็น field1,field2 กันพลาด ทำได้แล้ค่ะ ขอบคุณมากๆค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1921s