กระทู้เก่าบอร์ด อ.Yeadram
1,524 3
URL.หัวข้อ /
URL
Continuous From และ การกำหนด properties Current R
If S3 + S4 + S2 + S1 > Me.BuyNext Then
MsgBox ("«×éÍÁÒ¡¡ÇèÒá¼¹·ÕèàµÃÕÂÁäÇ é ¤×Í" & Me.BuyNext)
Me.BuyNext.BackColor = RGB(200, 100, 0)
End If
ตรง me.buynext ผมต้องการให่มันเปลี่ยนสีเฉพาะ RECORD ที่กำลัง
key(Current Record) แต่มันเปลี่ยนสีทุก Record เนื่องจากมันเป็น
From ต่อเนื่อง ผมต้องสั่ง อะไรเพิ่มครับ
ขอบคุณครับ
MsgBox ("«×éÍÁÒ¡¡ÇèÒá¼¹·ÕèàµÃÕÂÁäÇ é ¤×Í" & Me.BuyNext)
Me.BuyNext.BackColor = RGB(200, 100, 0)
End If
ตรง me.buynext ผมต้องการให่มันเปลี่ยนสีเฉพาะ RECORD ที่กำลัง
key(Current Record) แต่มันเปลี่ยนสีทุก Record เนื่องจากมันเป็น
From ต่อเนื่อง ผมต้องสั่ง อะไรเพิ่มครับ
ขอบคุณครับ
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02378
ลองทำแบบอาจารย์บอกแล้วครับ ได้ตามต้องการ
เป็นเรื่องใหม่ที่เพิ่งรู้ครับ
แต่ขอความรู้อาจารย์เพิ่มอีกหน่อยครับว่า
ไปค้น HELP เจอ CODE นี้มา แต่ใช้ไม่เป็น
With forms("forms1").Controls("Textbox1").FormatConditions(1)
.BackColor = RGB(255,255,255)
.FontBold = True
.ForeColor = RGB(255,0,0)
End With
ทดลองใช้ มันแจ้ง NOT SUPPORT อะไรประมาณนี้ ผมคิดว่ามันเป็นเรื่องเดียวกัน แต่เป็นการเขียน CODE เอา ถ้าเราจะใช้ต้องทำอย่างไรบ้างครับ
เป็นเรื่องใหม่ที่เพิ่งรู้ครับ
แต่ขอความรู้อาจารย์เพิ่มอีกหน่อยครับว่า
ไปค้น HELP เจอ CODE นี้มา แต่ใช้ไม่เป็น
With forms("forms1").Controls("Textbox1").FormatConditions(1)
.BackColor = RGB(255,255,255)
.FontBold = True
.ForeColor = RGB(255,0,0)
End With
ทดลองใช้ มันแจ้ง NOT SUPPORT อะไรประมาณนี้ ผมคิดว่ามันเป็นเรื่องเดียวกัน แต่เป็นการเขียน CODE เอา ถ้าเราจะใช้ต้องทำอย่างไรบ้างครับ
3 @R02379
ผมคงอธิบายคร่าวๆนะครับ ถ้าเอารายละเอียดก็มีใน Help แล้ว เพียงแต่ ตย.ที่ให้มานี้ มันเขียนในกรณีที่เรามีกำหนด ConditionalFormatting เงื่อนไขที่ 2 แล้วบนหน้าจอ ส่วนโค้ดนี้ก็เป็นการไปแก้ไขเงื่อนไขนั้นอีกทีครับ
ในแต่ละ textbox สามารถกำหนดได้แค่ 3 เงื่อนไข ดังนั้น .FormatConditions( ) จึงมีค่า element เริ่มจาก 0 ถึง 2
ก่อนจะกำหนด property ได้จะต้องสร้าง FormatCondition object ก่อน อาจโดยผ่าน user interface บนหน้าจอ หรือจะเขียนโค้ดก็ได้โดยใช้ .Add method เพิ่ม object เข้าไปใน FormatConditions collection (ถ้าจะลบ object ก็ใช้ .Delete method) เช่น
Me.Textbox1.FormatConditions.Add [Type]
โดย [Type] มีค่าเป็น
- acFieldHasFocus เป็นการบอกว่าเมื่อคอลโทรลนี้ได้รับโฟกัสแล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
- acExpression เป็นการบอกว่าเมื่อเงื่อนไขเป็นจริงแล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
- acFieldValue เป็นการบอกว่าเมื่อคอลโทรลมีค่าตามนี้แล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
เมื่อสั่ง .Add แล้ว object ที่ได้จะเริ่มจาก 0 เสมอ แล้วเพิ่มขึ้นไปเรื่อยๆ ถ้าเกิน 3 object เมื่อไหร่ก็จะ runtime error ทันที
ดังนั้น ตย.ที่ถูกต้องทั้งหมดก็คือ
Me.Textbox1.FormatConditions.Add acFieldHasFocus
With Me.Textbox1.FormatConditions(0)
.BackColor = RGB(255, 255, 255)
.FontBold = True
.ForeColor = RGB(255, 0, 0)
End With
ในแต่ละ textbox สามารถกำหนดได้แค่ 3 เงื่อนไข ดังนั้น .FormatConditions( ) จึงมีค่า element เริ่มจาก 0 ถึง 2
ก่อนจะกำหนด property ได้จะต้องสร้าง FormatCondition object ก่อน อาจโดยผ่าน user interface บนหน้าจอ หรือจะเขียนโค้ดก็ได้โดยใช้ .Add method เพิ่ม object เข้าไปใน FormatConditions collection (ถ้าจะลบ object ก็ใช้ .Delete method) เช่น
Me.Textbox1.FormatConditions.Add [Type]
โดย [Type] มีค่าเป็น
- acFieldHasFocus เป็นการบอกว่าเมื่อคอลโทรลนี้ได้รับโฟกัสแล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
- acExpression เป็นการบอกว่าเมื่อเงื่อนไขเป็นจริงแล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
- acFieldValue เป็นการบอกว่าเมื่อคอลโทรลมีค่าตามนี้แล้ว ก็ใช้รูปแบบอักษรหรือสีตามที่กำหนดได้เลย
เมื่อสั่ง .Add แล้ว object ที่ได้จะเริ่มจาก 0 เสมอ แล้วเพิ่มขึ้นไปเรื่อยๆ ถ้าเกิน 3 object เมื่อไหร่ก็จะ runtime error ทันที
ดังนั้น ตย.ที่ถูกต้องทั้งหมดก็คือ
Me.Textbox1.FormatConditions.Add acFieldHasFocus
With Me.Textbox1.FormatConditions(0)
.BackColor = RGB(255, 255, 255)
.FontBold = True
.ForeColor = RGB(255, 0, 0)
End With
Time: 0.3443s
Conditional Formatting ทำงานได้ค่อนข้างจำกัด แต่อาจพอช่วยได้บ้าง ลองไปฝึกใช้ดูครับ