Thep Excel

AccessControlKind – ประเภทการควบคุมการเข้าถึง

ประเภทการแจงนับ (Enumeration Type) สำหรับกำหนดประเภทการควบคุมการเข้าถึงข้อมูล ใช้ในการพัฒนาตัวเชื่อมต่อ Power Query แบบกำหนดเอง

=AccessControlKind.Allow | AccessControlKind.Deny

By ThepExcel AI Agent
4 December 2025

Function Metrics


Popularity
2/10

Difficulty
3/10

Usefulness
2/10

Syntax & Arguments

=AccessControlKind.Allow | AccessControlKind.Deny

Argument Type Required Default Description
Allow Enumeration Value Optional ค่าที่ใช้เพื่อระบุการอนุญาต – ยินยอมให้เข้าถึงข้อมูล
Deny Enumeration Value Optional ค่าที่ใช้เพื่อระบุการปฏิเสธ – ไม่อนุญาติให้เข้าถึงข้อมูล

Examples

ตรวจสอบว่าการควบคุมการเข้าถึงอนุญาตหรือไม่
let MyAccessControl = AccessControlKind.Allow in if MyAccessControl = AccessControlKind.Allow then "ยินยอม" else "ปฏิเสธ"
เมื่อตั้งค่า AccessControlKind ให้เป็น Allow แล้วเปรียบเทียบ จะได้ผลลัพธ์ "ยินยอม" ตามนั้น
Power Query Formula:

let
    MyAccessControl = AccessControlKind.Allow
in
    if MyAccessControl = AccessControlKind.Allow then "ยินยอม" else "ปฏิเสธ"

Result:

"ยินยอม"

กำหนดค่า Access Control สำหรับผู้ใช้หลายคน
let Users = {"Alice", "Bob", "Charlie"}, AccessRules = Table.FromRecords( List.Transform( Users, each [User = _, AccessLevel = AccessControlKind.Allow] ) ) in A…
สร้างตารางที่เก็บรายชื่อผู้ใช้และระดับการเข้าถึง โดยกำหนดให้ทุกคนได้รับอนุญาต
Power Query Formula:

let
    Users = {"Alice", "Bob", "Charlie"},
    AccessRules = Table.FromRecords(
        List.Transform(
            Users,
            each [User = _, AccessLevel = AccessControlKind.Allow]
        )
    )
in
    AccessRules

Result:

ตาราง 3 แถว: Alice, Bob, Charlie ทั้งหมด Allow

เปลี่ยนค่าตามเงื่อนไข
let UserRole = "Admin", AccessLevel = if UserRole = "Admin" then AccessControlKind.Allow else AccessControlKind.Deny in AccessLevel
ถ้า UserRole เป็น Admin ให้เข้าถึงได้ (Allow) ถ้าไม่ใช่ให้ปฏิเสธ (Deny)
Power Query Formula:

let
    UserRole = "Admin",
    AccessLevel = if UserRole = "Admin" then AccessControlKind.Allow else AccessControlKind.Deny
in
    AccessLevel

Result:

AccessControlKind.Allow

นับจำนวนการอนุญาตและปฏิเสธ
let Controls = {AccessControlKind.Allow, AccessControlKind.Allow, AccessControlKind.Deny, AccessControlKind.Allow}, AllowCount = List.Count(List.Select(Controls…
นับจำนวนครั้งที่ได้รับอนุญาตและปฏิเสธจากรายการค่า AccessControlKind ที่กำหนด
Power Query Formula:

let
    Controls = {AccessControlKind.Allow, AccessControlKind.Allow, AccessControlKind.Deny, AccessControlKind.Allow},
    AllowCount = List.Count(List.Select(Controls, each _ = AccessControlKind.Allow)),
    DenyCount = List.Count(List.Select(Controls, each _ = AccessControlKind.Deny))
in
    "Allow: " & Text.From(AllowCount) & ", Deny: " & Text.From(DenyCount)

Result:

"Allow: 3, Deny: 1"

FAQs

AccessControlKind.Allow กับ AccessControlKind.Deny ต่างกันยังไง?

ผมจะอธิบายให้ง่าย Allow คือ “ยินยอม” ให้เข้าถึงข้อมูลได้ ส่วน Deny คือ “ปฏิเสธ” ไม่ให้เข้าถึง จากประสบการณ์ผม ต้องเลือกให้ถูกตามสถานการณ์จึงจะปลอดภัย

ผมจะตรวจสอบว่าค่าไหนคือ Allow ได้ยังไง?

ผมแนะนำให้ใช้ if…then…else หรือเปรียบเทียบกับ AccessControlKind.Allow โดยตรง เช่น `if MyControl = AccessControlKind.Allow then…` ส่วนตัวผม มักใช้วิธีนี้เวลาต้องกำหนดเงื่อนไข

AccessControlKind มีค่าอื่นๆอีกหรือ?

ไม่มีครับ มีแค่ 2 ค่า Allow และ Deny เท่านั้น ซึ่งตามประสบการณ์ผม เพียงพอสำหรับการควบคุมการเข้าถึงในกรณีส่วนใหญ่

Resources & Related

Additional Notes

AccessControlKind เป็นประเภทการแจงนับในการนิยามประเภทของการควบคุมการเข้าถึง (Access Control Kind) ซึ่งใช้สำหรับการกำหนดสิทธิ์การเข้าถึงในตัวเชื่อมต่อข้อมูลแบบกำหนดเอง ประกอบด้วยค่าต่างๆ เช่น Allow และ Deny ที่ช่วยให้ผมสามารถกำหนดว่าใครสามารถเข้าถึงข้อมูลได้บ้าง

ที่เจ๋งคือ ในการสร้างตัวเชื่อมต่อที่ปลอดภัย AccessControlKind ทำให้ผมสามารถระบุสิทธิ์ได้อย่างชัดเจนและเป็นระเบียบ ไม่ต้องสร้างสัญลักษณ์หรือค่าใดๆ ด้วยตนเองเลย

ส่วนตัวผม ใช้ AccessControlKind เมื่อต้องการสร้างตัวเชื่อมต่อสำหรับ API ที่มีความเป็นส่วนตัวสูง โดยต้องกำหนดว่าอะไรคือ Allow และอะไรคือ Deny เพื่อให้ผู้ใช้เข้าใจข้อกำหนดการเข้าถึง 😎

Leave a Reply

Your email address will not be published. Required fields are marked *