---
title: AccessControlKind – ประเภทการควบคุมการเข้าถึง
url: https://www.thepexcel.com/functions/power-query/enumerations/accesscontrolkind-type/
type: function-explainer
program: Power Query
syntax: "AccessControlKind.Allow | AccessControlKind.Deny"
date: 2025-12-04
updated: 2025-12-26
scores:
  popularity: 2
  difficulty: 3
  usefulness: 2
---

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

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

## คำอธิบาย

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

## Syntax

```excel
AccessControlKind.Allow | AccessControlKind.Deny
```

## Arguments

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

## ตัวอย่าง

### 1. ตรวจสอบว่าการควบคุมการเข้าถึงอนุญาตหรือไม่

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

**ผลลัพธ์:** `"ยินยอม"`

เมื่อตั้งค่า AccessControlKind ให้เป็น Allow แล้วเปรียบเทียบ จะได้ผลลัพธ์ "ยินยอม" ตามนั้น

### 2. กำหนดค่า Access Control สำหรับผู้ใช้หลายคน

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

**ผลลัพธ์:** `ตาราง 3 แถว: Alice, Bob, Charlie ทั้งหมด Allow`

สร้างตารางที่เก็บรายชื่อผู้ใช้และระดับการเข้าถึง โดยกำหนดให้ทุกคนได้รับอนุญาต

### 3. เปลี่ยนค่าตามเงื่อนไข

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

**ผลลัพธ์:** `AccessControlKind.Allow`

ถ้า UserRole เป็น Admin ให้เข้าถึงได้ (Allow) ถ้าไม่ใช่ให้ปฏิเสธ (Deny)

### 4. นับจำนวนการอนุญาตและปฏิเสธ

```excel
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)
```

**ผลลัพธ์:** `"Allow: 3, Deny: 1"`

นับจำนวนครั้งที่ได้รับอนุญาตและปฏิเสธจากรายการค่า AccessControlKind ที่กำหนด

## หมายเหตุเพิ่มเติม

- ผมแนะนำให้เลือก Allow เป็นค่าเริ่มต้นเมื่อต้องการให้ผู้ใช้ส่วนใหญ่เข้าถึงได้ และใช้ Deny สำหรับกรณีพิเศษเท่านั้น

- ส่วนตัวผม มักเก็บค่า AccessControlKind ในตารางหรือ Table เพื่อให้ง่ายต่อการจัดการและตรวจสอบในภายหลัง

- ต้องระวังไม่ให้ใช้ Deny โดยมิชอบ เพราะอาจปฏิเสธการเข้าถึงที่ควรจะอนุญาต ผมจึงขอแนะนำให้ทดสอบเป็นอย่างดีก่อนนำไปใช้

## คำถามที่พบบ่อย

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

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

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

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

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

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

## แหล่งข้อมูลเพิ่มเติม

- [Power Query M Function Reference](https://learn.microsoft.com/en-us/powerquery-m/power-query-m-function-reference) _(official)_
- [Handling authentication for Power Query connectors](https://learn.microsoft.com/en-us/power-query/handling-authentication) _(official)_
- [PowerQuery.how - M Language Reference](https://powerquery.how/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/power-query/enumerations/accesscontrolkind-type/](https://www.thepexcel.com/functions/power-query/enumerations/accesscontrolkind-type/)_
