การแสดงเมนูบาร์
กระทู้เก่าบอร์ด อ.Yeadram

 2,046   8
URL.หัวข้อ / URL
การแสดงเมนูบาร์

ถ้าเราต้องการให้แสดงเมนูบาร์แต่ละแผนกตามผู้ใช้ที่ login เข้าไปสามารถทำได้หรือไม่ครับ
เช่น นาย a อยู่ฝ่ายขาย ก็ให้แสดงเมนูบาร์เฉพาะเอกสารฝ่ายขาย
นาย b อยู่บัญชี ก็ให้แสดงเมนูบาร์เฉพาะเอกสารบัญชี
ขอบคุณครับ

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

1 @R14859
Access เวอร์ชั่นอะไรครับ
2 @R14860
สามารถสร้าง Menu Bar ด้วย Macro
- สร้าง macro Menu แยกตาม ฝ่ายที่ต้องการ
- ตอน Log In ให้ เก็บค่า ฝ่ายไว้
- กำหนด Menu ด้วย vba ตามฝ่ายที่ต้องการ
3 @R14864
ขอบคุณครับ ผมใช้ Access 2010 ครับ ผมมีข้อสงสัยอยู่ 1 ข้อครับ
"กำหนด Menu ด้วย vba ตามฝ่ายที่ต้องการ" พอจะมีตัวอย่างบ้างไหมครับ

ขอบคุณครับ
4 @R14865
ออกตัวก่อนว่าไม่ชัวร์นะครับ เพราะไม่ได้ใช้มานานแล้ว และ การใช้ macro สร้าง menu เหมาะกับ 2003 ลงไป ส่วน 2007 ขึ้นไปเปลี่ยนมาใช้ Ribbon แล้ว การสร้าง Ribbon เท่าที่ผมทราบคือเขียนด้วย xml ซึ่งผมก็ยังไม่คิดจะลองเหมือนกัน

การสร้าง Menu Bar (Tool Bar) ด้วย Macro
- สมมุติมี macro ที่สร้างไว้เป็น Menu (ด้วยคำสั่ง AddMenu) 2 ตัว คือ macMenuForSales กับ macMenuForAccount
- ตอน Log In อาจจะเก็บตัวแปร เป็น Global หรือเก็บค่าลง Table หรือ ... ว่าเป็นฝ่ายอะไร
- ตอน On Open event ของแต่ละ Form ให้กำหนด code ดังนี้
If = "Sales" Then
    Me.ToolBar = "macMenuForSales"
Elese
    Me.ToolBar = "macMenuForSales"
End IF

นี่เป็นเพียงวิธีหนึ่งเท่านั้น
วิธีอื่นๆ เช่น
- กำหนด condition ใน Macro เลยว่าถ้า ฝ่ายเป็นค่าใด จะแสดง menu ย่อยใดบ้าง
- สร้าง Form ขึ้นมาเพื่อทำหน้าที่เป็น menu แล้่วก็ code เอาว่าเงื่อนไขเป็นอย่างไร (โดยส่วนตัว ผมชอบใช้วิธีนี้ที่สุด)
5 @R14867
แก้ไขตรง code ทีหายไปครับ

If {ตัวแปรที่ดึงค่าฝ่ายที่เก็บไว้} = "Sales" Then
6 @R14872
ขอบคุณครับ ผมจะลองศึกษาดูตามตัวอย่างครับ
7 @R14876
เอาใหม่ครับ copy แล้วลืมแก้

If {ตัวแปรที่ดึงค่าฝ่ายที่เก็บไว้} = "Sales" Then
    Me.ToolBar = "macMenuForSales"
Elese
    Me.ToolBar = "macMenuForAccount"
End IF
8 @R14882
ขอบคุณครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1891s