กำหนดแถบเครื่องมือ แถบเมนู ใน Accress2010
กระทู้เก่าบอร์ด อ.Yeadram

 10,686   26
URL.หัวข้อ / URL
กำหนดแถบเครื่องมือ แถบเมนู ใน Accress2010

ธรรมดา Accress 2003 จะกำหนดแถบได้เอง พอเปลี่ยนมาเป็น 2010
หาไม่เจอครับ มันจะเป็นการกำหนด Ribbon ซึ่งแถบมันใหญ่ไปไม่สวย
ผมลองไปทำใน 2003 แล้วมาเปิดใน 2010 ก็ได้ครับ แสดงว่ามันน่าจะ
สามารถทำได้ใน 2010 แต่หาไม่เจอว่าจะทำตรงไหน

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

1 @R12498
คลิ๊กขวาที่ว่าง บน ribbon มีคำสั่ง
- Custumize Ribbon
- Minimize Ribbon
- Custumize Quick Access

ลุยโลดครับ
2 @R12500
อาจารย์ครับ ทำตรงนี้มันเป็นการกำหนด Ribbon แถบมันจะใหญ่
ผมอยากทำให้มันเป็นแถบเมนูแบบเก่า ซึ่งถ้าผมทำในเวอร์ชั่นเก่า
มันจะทำได้ และสังเกตุว่า มันจะอยู่ใน Add-in เลยคิดว่าใน 2010
น่าจะยังทำได้ แต่หาที่ทำไม่เจอ จะทำแบบเดิมซึ่งเป็น 2003 แปลง
ก็ทำไม่ได้เพราะงานนนี้ ผมทำเป็น 2010 แล้ว
3 @R12501
อ๋อ user menu ที่ใช้ มาโครทำเหรอครับ
ผมเข้าใจผิดไป ขออภัยครับ
ผมก็ยังไม่ทราบวิธีเหมือนกันครับ ยังไม่เคยลอง ลองพยายามดูนะครับ ถ้าได้แล้วบอกด้วย ผมก็จะกลับไปลองเหมือนกันครับ
4 @R12513
รบกวน capture รูปมาให้ดูได้ไหมครับ
จะได้เข้าใจได้ชัดเจนมากขึ้น
5 @R12515


แถบตรงวงกลมสีดำครับ

ผมทำใน 2003 แล้วเปิดใน 2010 แต่ตอนนี้ผมหาวิธีทำใน 2010 ไม่ได้ครับ
6 @R12520
คุณมาลี ทราบมั้ยครับ หรือว่าใช้ Ribbon กัน

ผมว่า Ribbon แถบมันใหญ่ จัดไม่สวยสำหรับ Report
7 @R12523
หนูใช้วิธีสร้างเมนูจาก Macro ให้เรียบร้อยก่อนค่ะ สมมติว่าชื่อ MacroMenu
แล้วค่อยเอามาใช้ โดยป้อนชื่อ Macro ของเราลงไปในช่อง ตามรูปเลยค่ะ

ไม่ทราบว่าท่านสร้างเมนูจาก Macro ไว้แบบหนูหรือเปล่า
8 @R12525
ผมหาเท่าไหร่ก็ไม่เจอครับคุณมาลี ตอนแรกเห็นโพสคุณมาลีแล้วดีใจว่าเจอแล้ว

แต่ไปหาดูของผมทำไมมันเป็นแบบนี้หล่ะครับ TT

9 @R12526
แปลกค่ะ
ทำไมมีตัวเลือกแตกต่างกัน ไม่ทราบว่าก่อนหน้านี้ท่านได้เซ็ทค่าอะไรไว้หรือเปล่า
หนูไปดู 2010 เครื่องของเพื่อนๆ ก็มีปกติ
หนูจะลองช่วยหาดูก่อนนะคะว่า เซ็ทอะไรแล้วทำให้เมนูนี้หายไปได้
10 @R12527
เจอแล้วค่ะ

ท่านต้องเลือกกำหนดรูปแบบแฟ้มเริ่มต้น ให้เป็น Access 2002-2003 ค่ะ
จากนั้นปิดแล้วเปิดขึ้นมาใหม่ ก็จะมีเมนูนี้ให้ใช้ได้ค่ะ
11 @R12528
ไฟล์ที่ผมทำนี้ เริ่มสร้างจาก 2010 ผมลองทำตามแล้วมันไม่ได้ ผมเข้าใจว่า
ถ้าเป็นไฟล์ที่แปลงจาก 2003 หรือ ไฟล์ที่ไปกำหนดค่าแบบที่คุณมาลีบอก
น่าจะได้ วิธีแก้ตอนนี้คือ กำหนดฐานข้อมูลเปล่าขึ้นใหม่จากการตั้งค่านี้
แล้วนำเข้าตาราง คิวรี ฟอร์ม จากไฟล์ 2010 น่าจะได้ ผมที่ได้เป็นยังงัย
จะแจ้งให้ทราบครับ ขอบคุณ คุณมาลีมากครับ ไม่ผิดหวังจริงๆ
12 @R12545
สรุปว่าทำไม่ได้นะครับ ไฟล์ที่กำหนดเริ่มต้นให้เป็น 2002-2003 จะสามารถทำได้
แต่ถ้าเราทำจาก ไฟล์ 2010 เลย จะไม่มีแถบเมนู คงต้องเปลี่ยนไปใช้ Ribbon แทน
หรืออาจจะมีวิธีอื่นให้ทำ คงต้องหาทางต่อไป เพราะแถบ Ribbon ใหญ่เหลือเกิน
13 @R12546
เท่าที่ศึกษา ใน ACCESS 2010 ไม่ยอมให้สร้าง Menu Bar จาก macro แต่ยอมให้สร้างจาก VBA โดยใช้เพิ่ม Microsoft office xx.x Library
แล้ว เขียน vba โดยศึกษาจากคำสั่ง Office.CommandBar แต่อย่างไรก็ตาม ก็จะไม่ได้ Menu Bar ตามใจปรารถนา เพราะใน 2010 จะไปเพิ่มใน แถบ Ribbon Add in (ก็ยังคงรูปแบบ Ribbon อยู่)
หมายเหตุ ลองศึกษา KEY WORD =COMMANDBAR.ADD ดูนะครับ
14 @R12547
เปิด MS ACCESS 2010
ใช้ Format 2000 - 2003 ก็ได้นะ หลังทดลองใน 2010 แล้วไปเปิดใน 2003 ดู แล้วจะเห็นความแตกต่างครับ
ทดลองสร้างดู โดยใช้ ฟอร์มเปล่า เปิด VBA EDITOR (หน้าต่างที่เขียน code) แล้วแปะ code ลงไป
อย่าลืมไปที่ Tool --> references เลือก microsoft office xx.x object library

Sub CreateCustomCBar0()

On Error GoTo 0

Dim cbar As Office.commandBar
Dim cntrl As Office.CommandBarControl

Set cbar = Application.CommandBars.Add(Name:="PracticeCommandBar", _
Position:=msoBarTop, temporary:=True)

Set cntrl = cbar.Controls.Add(Type:=msoControlPopup, temporary:=True)
cntrl.Caption = "&รหัสหลัก"

Set cntrl = cbar.Controls(1).Controls.Add(Type:=msoControlButton, temporary:=True)
cntrl.Caption = "&ทะเบียนสินค้า"
cntrl.OnAction = "=MsgBox('รายการสินค้า')"

Set cntrl = cbar.Controls(1).Controls.Add(Type:=msoControlButton, temporary:=True)
cntrl.Caption = "&ทะเบียนสถานีอนามัย"
cntrl.OnAction = "=MsgBox(รายชื่ออนามัย')"

Set cntrl = cbar.Controls(1).Controls.Add(Type:=msoControlButton, temporary:=True)
cntrl.Caption = "&ทะเบียนคนไข้"
cntrl.OnAction = "=MsgBox('รายชื่อคนไข้')"

Set cntrl = cbar.Controls.Add(Type:=msoControlPopup, temporary:=True)
cntrl.Caption = "&Transaction"

Set cntrl = cbar.Controls(2).Controls.Add(Type:=msoControlButton, temporary:=True)
cntrl.Caption = "&OPD"
cntrl.OnAction = "=MsgBox('รายการ opd')"

Set cntrl = cbar.Controls(2).Controls.Add(Type:=msoControlButton, temporary:=True)
cntrl.Caption = "&IPD"
cntrl.OnAction = "=MsgBox('IPD-LIST')"

cbar.Visible = True

Set cbar = Nothing
Set cntrl = Nothing

End Sub


Private Sub Form_Load()
CreateCustomCBar0
End Sub

Private Sub Form_Unload(Cancel As Integer)
Application.CommandBars("PracticeCommandBar").Delete

End Sub
ลองทำดูแล้วจะเข้าใจ และเห็นกลไกใน ms access มากขึ้นครับ
15 @R12548


อาจารย์ครับ มัน Error ตามรูปครับ


แล้วผมสงสัยตรงบอกให้ไปเปิดดูใน 2003 คือ ผมสร้างในรุ่น 2010 แล้วมันเปิดใน 2003 ไม่ได้ครับ
16 @R12549
1 อย่าลืมไปที่ Tool --> references เลือก microsoft office xx.x object library    ข้อนี้ทำรึยังครับ

2 การสร้าง database ใหม่ ใน 2010 แต่เลือก format เป็น 2003 มันจะสร้างไฟล์ database โดยมี extension เป็น mdb ซึ่งเปิดใน ms access 2003 ได้ แต่ถ้าเลือก format 2007 จะมี extension ต่อท้าย เป็น accdbมันจะเปิดได้เฉพาะ 2007-2010
17 @R12550

จารย์ครับผมเห็นมันเป็นแบบที่วงกลมอยู่แล้ว(ใช่รึปล่าวครับ)

ฐานผมเป็น accdb แล้วครับ เปิดใน 2003 ไม่ได้
18 @R12551
ไม่ใช่ครับ
19 @R12552
คุณ UN
ลองสร้าง ฐานข้อมูลใหม่ อีกตัว โดยใช้ FORMAT 2002-2003 แล้วจะรู้ว่า code เดียวกัน แต่คนละ format รูปลักษณ์ที่ปรากฏจะต่างกัน
20 @R12553
ครับอาจารย์ ถ้าทำแบบอาจารย์บอก ผมลองทำแล้วครับมันทำได้ครับ

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