ใส่ข้อมูลลงใน TextBox
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 340   2
URL.หัวข้อ / URL
ใส่ข้อมูลลงใน TextBox

เรียนถามอาจารย์และท่านผู้รู้ครับ..ถ้าเรามี TextBox ใน Report อยู่ 1 อัน แล้วต้องการใส่ข้อมูล 3 ฟิลด์( A1,A2, และ A3) ใส่ลงไว้ใน TextBox เดียวกันนี้ โดยมีเงื่อนไขว่า
กรณีที่ 1. ถ้าทุกฟิลด์ A1 A2 A3 มีข้อมูลครบ ให้แสดง
แถวที่1 A1
แถวที่2 A2
แถวที่3 A3
กรณีที่ 2. ถ้า ฟิลด์ A1 ไม่มีข้อมูล A2 A3 มีข้อมูล ให้แสดง
แถวที่1 A2
แถวที่2 A3
กรณีที่ 3. ถ้า ฟิลด์ A1,A2 ไม่มีข้อมูล A3 มีข้อมูล ให้แสดง
แถวที่1 A3
กรณีแบบนี้เราจะมีวิธีการเขียน Code หรือกำหนด IIF ให้กับ TextBox นี้อย่างไรครับ
หากมีตัวแบบให้ศึกษาด้วย..จะขอบคุณมากๆๆๆ


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

1 @R05906
ผมจะใช้ Text Box อีกอันหนึ่ง โดยการเขียนโค้ดให้ไปตรวจดูว่ามีข้อมูลใน Text Box เป้าหมายทั้ง 3 หรือไม่ แล้วนำมาเรียงกัน โดยใช้ vbCrLf หรือการขึ้นบันทัดใหม่ช่วย แล้วย่อ Text Box เป้าหมายให้เล็กลง แล้วกำหนดสีพื้น สีตัวหนังสือ และเส้นขอบ ให้เป็นหรือขาว หรือโปร่งใส เพื่อซ่อนไม่ให้เห็น

ตัวอย่างแค่เงื่อนไขเดียวนะครับ

=IIf(Not IsNull([TextBox1]) And Not IsNull([TextBox2]),[TextBox1] & vbCrLf & [TextBox2],
IIf(Not IsNull([TextBox1]) And IsNull([TextBox2]),
[Textbox1],
IIf(IsNull([TextBox1]) And Not IsNull([TextBox2]),
[Textbox2],"")
)
)

ถ้า 3 เงื่อนไข ก็จะยาวขึ้น ลองดู logic ข้างบนประกอบนะครับ

ถ้าเขียนโค้ดข้างหลัง Report กับเหตุการณ์ OnFormat ก็จะทำให้เข้าใจ logic ได้มากและง่ายขึ้นครับ

Dim strText As String

strText = ""

If Me.TextBox1 <> "" Or Not IsNull(Me.TextBox1) Then
strText = Me.TextBox1
End If

If Me.TextBox2 <> "" Or Not IsNull(Me.TextBox2) Then
If strText = "" Or IsNull(strText) Then
strText = Me.TextBox2
Else
strText = strText & vbCrLf & Me.TextBox2
End If
End If

If Me.TextBox3 <> "" Or Not IsNull(Me.TextBox3) Then
If strText = "" Or IsNull(strText) Then
strText = Me.TextBox3
Else
strText = strText & vbCrLf & Me.TextBox3
End If
End If

Me.TextBox4 = strText
2 @R05920
ต้องขอขอบคุณอาจารย์สุภาพมาก แต่ผมยังไม่ค่อยเข้าใจในส่วนของการเขียนโค้ดข้างหลัง Report กับเหตุการณ์ OnFormat อาจารย์พอจะมีตัวอย่างให้ DownLoad ไว้เป็นกรณีศึกษาบ้างไหมครับ... ขอขอบคุณล่วงหน้าจริงๆๆๆ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1069s