Form Control
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 336   2
URL.หัวข้อ / URL
Form Control

...สวัสดีครับ คืออยากทราบว่ามีวิธีเขียนโค้ดกำหนด icon ของ access แทนการกำหนดที่ Tool --> Start หรือเปล่าครับ เพราะผมมีปัญหาว่าเมื่อกำหนด icon ที่ start แล้ว ฟอร์มที่เปิดจะโดดออกมาอีกหน้า แต่พอยกเลิกการกำหนด icon ฟอร์มจะอยู่หน้าเดียวกับโปรแกรมที่เปิด(ปกติเวลาเปิดจะกำหนดให้มันซ่อนวินโดว์อื่นๆ หมด แต่พอกำหนดไอคอนมันไม่ซ่อนให้ครับ)

...และมีวิธีกำหนดปุ่มอื่นแทนปุ่ม Shif หรือเปล่าครับ คือบางครั้งผมต้องการแก้ไขโปรแกรมโดยต้องการกดปุ่มอื่นแทน Shif เพราะไม่ต้องการให้คนอื่นใช้วิธีการกด Shif เช่นเดียวกัน

...และจะกำหนด Sub form แบบ link ได้หรือเปล่าครับ คือไม่ต้องให้ sub form อยู่หน้าเดียวกับฟอร์มหลักแต่ต้องการให้เป็นปุ่มคลิกเปิด sub form อีกที?

...เวลาเปิดฟอร์มหลักผมกำหนดให้เลื่อนไปยังเรคคอร์ดล่าสุดแล้ว และผมต้องการให้ฟอร์มย่อยเลื่อนไปยังเรคคอร์ดล่าสุดด้วย ต้องทำยังไงหรือใช้เหตุการณ์อะไรกำหนดว่าเวลาที่เราเลื่อนเรคคอร์ดบนฟอร์มหลักแล้วให้ฟอร์มย่อยเลื่อนไปยังเรคคอร์ดล่าสุดด้วยครับ

...และผมยกเลิกปุ่มนำทางที่ระบุว่าขณะนี้อยู่ที่เรคคอร์ดที่ เท่าไร ของ ทั้งหมดเท่าไร แต่ต้องการสร้าง text box ที่ระบุว่าขณะนี้อยู่ที่เรคคอร์ดที่เท่าไรของทั้งหมดเท่าไร ขึ้นแทน ...คล้ายๆ ผมจะเห็นตัวอย่างจากที่นี้แต่จำไม่ได้ว่าตรงที่ผมต้องการหรือเปล่า ยังไงช่วยแนะนำอีกทีนะครับ อาจารย์สุภาพหรือผู้รู้ท่านอื่น

จริงๆ มีคำถามเยอะครับ เยอะจนลืม! ขอถามแค่นี้ก่อนนะครับ แล้วจะขอรบกวนเรื่อยๆ ครับ :-)

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

1 @R04069
ข้อ 1 เป็น Bug ของ Access 2002 ครับ ต้องลง SP ครับ
อ่านปัญหานี้ได้ที่ http://support.microsoft.com/default.aspx?scid=kb;EN-US;313915

ข้อ 2 ลองดูตัวอย่างสำหรับ Access 2000 ขึ้นไปที่ http://www.utteraccess.com/forums/showflat.php?Cat=&Board=codearchive&Number=233728&Forum=codearchive&Words=ByPass&Match=Entire%20Phrase&Searchpage=0&Limit=25&Old=1year&Main=233728&Search=true#Post233728
และสำหรับ 97 ดูที่ http://www.utteraccess.com/forums/showflat.php?Cat=&Board=codearchive&Number=233726&Forum=codearchive&Words=ByPass&Match=Entire%20Phrase&Searchpage=0&Limit=25&Old=1year&Main=233726&Search=true#Post233726

ข้อ 3 ทำได้ครับ แต่ต้องทำช่องสำหรับใส่ฟีลด์ที่ใช้ Link กันระหว่างฟอร์มทั้ง 2 ด้วย แล้วซ่อนไว้ ซึ่งจะต้องเปิด Main Form ไว้ เพื่อใช้เป็นส่งค่าฟีลด์ดังกล่าวให้ Subform
ซึ่งอาจใช้ OnCurrent ของ SubForm นี้เป็นตัวช่วยใส่ค่าดังกล่าวให้ เช่น

Private Sub Form_Current()
' ถ้าใส่ข้อมูลใหม่
If Me.NewRecord Then
Me.Tex1 = Forms!ชื่อMainForm!ชื่อControlที่เก็บค่าที่ใช้Link
End If

ข้อ 4.

DoCmd.GoToRecord , , acLast

ข้อ 5.

Private Sub Form_Current()
Dim rst As Recordset
Set rst = Me.RecordsetClone
rst.MoveLast
rst.MoveFirst
Me.Text0 = [CurrentRecord] & " of " & rst.RecordCount
End Sub
End If
2 @R04143
Access2002[XP]
....1. ครับ หลังจากผมเข้าเว็บ Microsoft อัพเดตด้วย SP1 ตามด้วย SP2 แล้ว ก็ไม่เกิดปัญหาดังกล่าวครับ
....2. ผมเข้าไปตามลิงค์ลองดาวน์โหลดโปรมแกรมนั้นมาใช้งาน ก็โอเคครับ สามารถ กำหนด enable disable การใช้งาน Shift ได้ แต่คงต้องไปดูโค้ดอีกทีว่ามันเป็นยังไง จะประยุกต์กรณีอื่นๆ ได้ยังไง เพราะผมเองส่วนใหญ่อาศัยจับนู่นชนนี่ :-) แก้ไขดัดแปลงได้ แต่สร้างงานเองยังไม่ค่อยได้ เพราะไม่ได้ทำตรงนี้จริงๆ จังๆ
....3. มองออกแล้ว แต่ยังไม่ได้ลองครับ :-)
.....4. ผมใช้คำสั่งนั้นครับ แต่ไม่รู้จะใช้เหตุการณ์อะไรใน sub form คือ พอเปิดโปรแกรมปุ๊บ เจ้า Main form ก็เลื่อนไปยัง record สุดท้ายได้ (onOpen form) อันนี้ไม่มีปัญหา
....แต่ว่า sub form ที่เป็น single form ไม่รู้จะใช้เงื่อนไงอะไรดี เพราะผมต้องการว่า เมื่อเราเลื่อนเรคคอร์ดใน Main form แล้ว ให้ sub form เลื่อนเรคคอร์ด ไปเรคคอร์ดสุดท้ายด้วย...

....5. ผมประกาศ rst เป็น Recordset แล้วมัน error ที่ Set rst=Me.recordsetClone ว่า Typemismath ครับ
ผมก็เลยเปลี่ยนชนิด rst เป็น Object แทน คราวนี้ไม่ error เป็นเพราะอะไรครับ?
และ rst.MoveLast กับ rst.MoveFirst ในนี้ ทำเหตุการณ์อะไรครับ?

...ขอบคุณอาจารย์สุภาพ ที่ให้คำตอบที่ผ่านมาด้วยครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0495s