กระทู้เก่าบอร์ด อ.Yeadram
1,055 6
URL.หัวข้อ /
URL
ผลลัพไม่เปลี่ยน ต้องคลิก แก้ยังไงครับ
จากกรณี ผมใช้ Text box1 มาคำนวณสูตร แล้วส่งไปให้ Text box1 ที่เป็นตัวที่ส่งไปที่เทเบิล ผมลงทั้ง before และ after แม้แต้อันอื่น มันก็ไม่เปลี่ยนค่าตามให้ครับ ต้องคลิกหรือ enter ผ่านช่องของมันเท่านั้น ค่ามันถึงจะเปลี่ยนตาม
หาทางแก้มานานแล้วครับผม ทำงานไม่สะดวกเลยครับ ทำให้ผิดพลาดง่ายและบ่อยครับ รบกวนอาจารย์ด้วยครับ
หาทางแก้มานานแล้วครับผม ทำงานไม่สะดวกเลยครับ ทำให้ผิดพลาดง่ายและบ่อยครับ รบกวนอาจารย์ด้วยครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R20022
ผิดๆๆ ส่งไปให้ Text box2 นะครับผม
2 @R20035
ใครพอทราบมั่งครับผม
3 @R20036
เอาผลคำนวน ป้อนเข้าเทเบิลทันที แล้วค่อยสั่งให้ text2 รีเฟรช ข้อมูลครับ เพราะเท่าที่อ่านดู เหมือนกับว่า text2 มันผูก (bound) อยู่กับฟิลด์ มันจะไม่อัพเดทค่า ถ้าข้อมูลในตารางยังไม่เปลี่ยนแปลง ซึ่ง.
ลำพังแค่เหตุกาณ์ ที่เกิดใน text1 ที่เล่ามา มันยังไม่เพียงพอครับ ที่จะทำให้ข้อมูลในตารางมีการเปลี่ยนแปลง (นอกจากจะใช้วิธีอื่น)
ตัวอย่าง
sub text1_exit()
docmd.runsql "update table1 set ...... = " & text1 & " where....."
text2.refresh
end sub
ประมาณนี้ครับ
ลำพังแค่เหตุกาณ์ ที่เกิดใน text1 ที่เล่ามา มันยังไม่เพียงพอครับ ที่จะทำให้ข้อมูลในตารางมีการเปลี่ยนแปลง (นอกจากจะใช้วิธีอื่น)
ตัวอย่าง
sub text1_exit()
docmd.runsql "update table1 set ...... = " & text1 & " where....."
text2.refresh
end sub
ประมาณนี้ครับ
4 @R20037
ขอบคุณครับ อาจารย์
ผมไม่เข้าใจตรงนี้ครับคืออะไรครับผม
docmd.runsql "update table1 set ...... = " & text1 & " where....."
ผมไม่เข้าใจตรงนี้ครับคืออะไรครับผม
docmd.runsql "update table1 set ...... = " & text1 & " where....."
5 @R20038
และเอาโค๊ดนี้ไว้ตรงส่วนไหนครับผม
6 @R20039
ไม่ค่อยเข้าใจคำถามนะ คุณหมายถึง ต้องการให้ตอนกดใส่ค่าที่ Text1 แล้วให้มันคำนวณค่าส่งไปที่ Text2 แบบ realtime อะไรประมาณนั้นเลยใช่ป่าวครับ
เอาเป็นว่าไม่รู้เข้าใจถูกป่าว ผมยกตัวอย่างเลยแล้วกัน
สมมุติผมต้องการคำนวณ VAT 7%
ผมกดใส่ค่าเงินที่ Text1 เป็น 100
ผมต้องการให้ที่ Text2 ขึ้นเป็น 7 ทันที โดยไม่ต้องย้ายโฟกัส
เขียนโค๊ดที่ Text1: Event > On Change:
-----------------------------------------------
Me.Recalc
If Len(Me.Text1.Text) > 0 Then
If IsNumeric(Me.Text1.Text) Then
Me.Text2 = Me.Text1 * 0.07
End If
Me.Text1.SelStart = Len(Me.Text1)
Else
Me.Text2 = 0
End If
--------------------------------------------------
ประมาณนี้ครับ ปรับใช้ดูครับ
เอาเป็นว่าไม่รู้เข้าใจถูกป่าว ผมยกตัวอย่างเลยแล้วกัน
สมมุติผมต้องการคำนวณ VAT 7%
ผมกดใส่ค่าเงินที่ Text1 เป็น 100
ผมต้องการให้ที่ Text2 ขึ้นเป็น 7 ทันที โดยไม่ต้องย้ายโฟกัส
เขียนโค๊ดที่ Text1: Event > On Change:
-----------------------------------------------
Me.Recalc
If Len(Me.Text1.Text) > 0 Then
If IsNumeric(Me.Text1.Text) Then
Me.Text2 = Me.Text1 * 0.07
End If
Me.Text1.SelStart = Len(Me.Text1)
Else
Me.Text2 = 0
End If
--------------------------------------------------
ประมาณนี้ครับ ปรับใช้ดูครับ
Time: 0.4582s