กระทู้เก่าบอร์ด อ.Yeadram
2,544 7
URL.หัวข้อ /
URL
รบกวนช่วยแก้ไขคำสั่งซ่อนเมนูให้หน่อยนะคะ
หนูนำคำสั่งของ อ.PichaiTC ที่ได้แนะนำไว้ในบอร์ดนี้
DoCmd.ShowToolbar "Ribbon", acToolbarNo
เพื่อซ่อนเมนู Ribbon ของ Access 2007-2010 ใช้ได้ผลดีมากๆเลยค่ะ
แต่หากนำไปใช้กับ Access 2003 มันไม่ได้ค่ะ มัน error ตามรูป
ไม่ทราบว่า พอจะมีวิธีแก้ไข ให้มันใช้กับ 2003 ได้ด้วยหรือไม่คะ หรือไม่ก็ ทำเพียงไม่ให้มันขึ้น error มารบกวนก็ได้ค่ะ
DoCmd.ShowToolbar "Ribbon", acToolbarNo
เพื่อซ่อนเมนู Ribbon ของ Access 2007-2010 ใช้ได้ผลดีมากๆเลยค่ะ
แต่หากนำไปใช้กับ Access 2003 มันไม่ได้ค่ะ มัน error ตามรูป
ไม่ทราบว่า พอจะมีวิธีแก้ไข ให้มันใช้กับ 2003 ได้ด้วยหรือไม่คะ หรือไม่ก็ ทำเพียงไม่ให้มันขึ้น error มารบกวนก็ได้ค่ะ
7 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R14755
ขอบคุณค่ะ อ. TTT
คำสั่งนี้ พอนำไปใช้กับ 2007 ก็ไม่ได้อีกค่ะ มัน error ตามในรูปค่ะอาจารย์
เหมือนกับว่ามันใช้แทนกันไม่ได้
หนูคิดว่า เมื่อมันใช้กันไม่ได้ ก็อยากหาวิธีปิดไม่ให้มันขึ้น orror คือว่าหากมันไม่ทำงานก็ให้มันอยู่เฉยๆ เน้นต้องการให้ทำงานกับ 2007-2010 เป็นหลักค่ะ
หากนำไปใช้กับ 2003 แล้วไม่ทำงานก็ให้มันหยุดไปเฉยๆ ไม่ต้องขึ้น orror ค่ะ
คำสั่งนี้ พอนำไปใช้กับ 2007 ก็ไม่ได้อีกค่ะ มัน error ตามในรูปค่ะอาจารย์
เหมือนกับว่ามันใช้แทนกันไม่ได้
หนูคิดว่า เมื่อมันใช้กันไม่ได้ ก็อยากหาวิธีปิดไม่ให้มันขึ้น orror คือว่าหากมันไม่ทำงานก็ให้มันอยู่เฉยๆ เน้นต้องการให้ทำงานกับ 2007-2010 เป็นหลักค่ะ
หากนำไปใช้กับ 2003 แล้วไม่ทำงานก็ให้มันหยุดไปเฉยๆ ไม่ต้องขึ้น orror ค่ะ
3 @R14756
ถ้าเขียนให้มันยืดหยุ่นโดยใช้ได้กับหลายเวอร์ชั้น ก็ต้องเขียนประมาณนี้ครับ
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
else
DoCmd.ShowToolBar "Menu Bar", acToolbarYes
End If
syscmd(acSysCmdAccessVer)
ค่าเป็น 10.0 ก็เท่ากับ Access 2002
ค่าเป็น 11.0 ก็เท่ากับ Access 2003
ค่าเป็น 12.0 ก็เท่ากับ Access 2007
ค่าเป็น 14.0 ก็เท่ากับ Access 2010
ค่าเป็น 15.0 ก็เท่ากับ Access 2012
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
else
DoCmd.ShowToolBar "Menu Bar", acToolbarYes
End If
syscmd(acSysCmdAccessVer)
ค่าเป็น 10.0 ก็เท่ากับ Access 2002
ค่าเป็น 11.0 ก็เท่ากับ Access 2003
ค่าเป็น 12.0 ก็เท่ากับ Access 2007
ค่าเป็น 14.0 ก็เท่ากับ Access 2010
ค่าเป็น 15.0 ก็เท่ากับ Access 2012
4 @R14757
ขอบคุณอย่างยิ่งค่ะอาจารย์
เห็นทางสว่างแล้ว ค่ำๆจะทดลองนำไปใช้ดู แล้วจะมารายงานผลให้ทราบนะคะ
เห็นทางสว่างแล้ว ค่ำๆจะทดลองนำไปใช้ดู แล้วจะมารายงานผลให้ทราบนะคะ
5 @R14759
เย้..ได้ตามที่ต้องการแล้วค่ะอาจารย์ โดยต้องแก้บรรทัดล่างให้เป็น No ด้วยค่ะ
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Else
DoCmd.ShowToolbar "Menu Bar", acToolbarNo
End If
นอกจากนี้หนูยังได้แนวคิดสามารถนำ SysCmd(acSysCmdAccessVer) ไปขยายผลใช้งานด้านอื่นๆได้อีกด้วยค่ะ
ขอบพระคุณอย่างยิ่งค่ะอาจารย์
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Else
DoCmd.ShowToolbar "Menu Bar", acToolbarNo
End If
นอกจากนี้หนูยังได้แนวคิดสามารถนำ SysCmd(acSysCmdAccessVer) ไปขยายผลใช้งานด้านอื่นๆได้อีกด้วยค่ะ
ขอบพระคุณอย่างยิ่งค่ะอาจารย์
6 @R20034
โค้ดนี้ใส่ตรงไหนครับ
7 @R20040
เหตุการณ์ไหนก็ได้ครับที่คุณต้องการซ่อน เช่น ถ้าต้องการให้เมื่อเปิดฟอร์มแล้วซอนเลย ก็ไว้ที่ Event > On Open
Private Sub Form_Open(Cancel As Integer)
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Else
DoCmd.ShowToolbar "Menu Bar", acToolbarNo
End If
End Sub
ปล. ส่วนการทำกลับคืน ก็เปลี่ยนจาก acToolbarNo เป็น acToolbarYes
Private Sub Form_Open(Cancel As Integer)
If SysCmd(acSysCmdAccessVer) > 11 Then
DoCmd.ShowToolbar "Ribbon", acToolbarNo
Else
DoCmd.ShowToolbar "Menu Bar", acToolbarNo
End If
End Sub
ปล. ส่วนการทำกลับคืน ก็เปลี่ยนจาก acToolbarNo เป็น acToolbarYes
Time: 0.3579s
DoCmd.ShowToolBar "Menu Bar", acToolbarYes
DoCmd.ShowToolBar "Menu Bar", acToolbarNo