Recordset Clone
กระทู้เก่าบอร์ด อ.Yeadram

 1,464   2
URL.หัวข้อ / URL
Recordset Clone

ต้องการทำ list เพื่อต้องการให้เลือกข้อมูลแล้วแสดงที่ text box จึงเขียน code ตามรายละเอียดด้านล่าง ซึ่งสามารถใช้ได้ในกรณี field WorkingCode Data Type เป็น number แต่หากกำหนดให้ field WorkingCode Data Type เป็น Text จะ error ค่ะ ต้องเขียนอย่างไรจึงจะใช้กับ text ได้ค่ะ พร้อมกันนี้ได้แนบรูปตัวอย่างมาด้วยค่ะ

Private Sub ListWorking_Click()
       Dim ls As Object
        Set ls = Me.RecordsetClone
        ls.FindFirst "[WorkingCode]=" & Str(Me![ListWorking])
        Me.Bookmark = ls.Bookmark
        Me.ListWorking = Me.WorkingCode
       
    txtWorkingCode.Enabled = False
    txtWorking.Enabled = False

End Sub

ขอบคุณค่ะ

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

1 @R01919
ls.FindFirst "[WorkingCode]=""" & Me![ListWorking] & """"

กรณีเป็น text เราต้องครอบข้อความด้วยเครื่องหมาย double quote   การสร้าง double quote ใน string constant ต้องใช้ double quote ติดกัน 2 ตัวเพื่อให้ VBA ตีความเป็น double quote 1 ตัวครับ และเราไม่จำเป็นต้องใช้ Str( ) ครับ เพราะไม่ว่าข้อมูลที่เราเห็นว่าแสดงบนหน้าจอจะเป็น text หรือ numeric ก็ตาม ทั้งหมดเมื่อถูกอ้างอิงแล้ว มันก็จะคือ string ทั้งนั้น เพียงแต่ว่า VBA จะมีการแปลงประเภทของข้อมูลให้เหมาะสมใน expression ที่กำลังใช้ครับ แต่กรณี argument ของ FindFirst method นี้ เขาต้องการ string expression อยู่แล้ว ก็เลยไม่จำเป็นต้องใส่ Str( ) เพื่อแปลงประเภทข้อมูลอีกที
2 @R01920
ขอบคุณค่ะ อาจารย์สันติสุข
ได้ความรู้เพิ่มขึ้นอีกด้วย
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3050s