วิธีใช้บทบาทของแอพลิเคชันกับโครงการที่มีการเข้าถึงและ SQL Server 2000 Desktop Edition

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 308312 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขั้นสูง: ต้องเขียนโค้ดผู้เชี่ยวชาญ ทำงานร่วมกัน และทักษะ multiuser

บทความนี้สามารถใช้ได้เฉพาะกับโครงการ Microsoft Access (.adp)

สำหรับรุ่น Microsoft Access 2000 ของบทความนี้ ดู318816.
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

บทความนี้อธิบายถึงความสามารถ ข้อจำกัด และแก้ไขปัญหาการใช้โปรแกรมประยุกต์เซิร์ฟเวอร์ของ Microsoft SQL บทบาทในโครงการ Microsoft Access (ADP)

ข้อมูลเพิ่มเติม

ใน SQL Server คุณสามารถสร้างบทบาทฐานข้อมูลสำหรับการจัดการสิทธิ์ในฐานข้อมูลได้ง่ายขึ้น แทนที่การอนุญาตให้สิทธิ์แต่ละผู้ใช้แต่ละแยกจากกัน คุณสามารถจัดกลุ่มผู้ใช้ที่ มีความต้องการสิทธิ์เดียวกัน โดยการทำให้สมาชิกของบทบาทฐานข้อมูลทั่วไปเดียวกัน และการกำหนดสิทธิ์ให้กับ role ของฐานข้อมูลเองแล้ว นอกจากว่าสิทธิ์ที่เฉพาะเจาะจงได้ปฏิเสธในที่อื่น ผู้ใช้ของสมาชิกจะได้รับสิทธิการได้รับบทบาทของฐานข้อมูลนั้น

ในขณะที่บทบาทฐานข้อมูลแบบปกติจะเป็นประโยชน์อย่างยิ่งสำหรับสถานการณ์ที่คุณต้องการให้ผู้ใช้สามารถทำแบบสอบถามแบบชั่วคราวหรือการปรับปรุงไปยังฐานข้อมูลของตนเอง จะไม่ทุกครั้งที่เหมาะสม ในบางครั้ง คุณอาจต้องให้สิทธิ์เฉพาะเมื่อมีใช้โปรแกรมประยุกต์ที่ระบุ และคุณไม่ต้องการให้สามารถดู หรือแก้ไขข้อมูลภายนอกโปรแกรมประยุกต์เฉพาะผู้ใช้

วิธีการหนึ่งซึ่งมักจะใช้สำหรับการทำงานที่ต้องการแก้ไขนี้จะให้สิทธิ์ที่จำเป็นกับบัญชีผู้ใช้ SQL Server เดียวเท่านั้น ผู้ใช้ที่แท้จริงอาจมีสิทธิ์ใน การเชื่อมต่อกับฐานข้อมูล แต่ไม่เพื่อดู หรือแก้ไขข้อมูลใด ๆ การเชื่อมต่อหลังจากที่ผู้ใช้เชื่อมต่อกับฐานข้อมูลโดยใช้บัญชีแต่ละของผู้ใช้ ADP สามารถแล้วโดยทางโปรแกรมใหม่โดยใช้ข้อมูลประจำตัวของบัญชีผู้ใช้ได้รับอนุญาต ในขณะนี้อาจมีผลบังคับใช้ นั้นไม่อนุญาตให้คุณแยกระหว่างผู้ใช้ในฐานข้อมูล หรือกำหนดผู้ใช้ที่ทำการดำเนินการเฉพาะ

บทบาทของแอพลิเคชันจะได้รับการออกแบบเพื่อหลีกเลี่ยงข้อจำกัดนี้ โปรแกรมประยุกต์บทบาท ไม่เหมือนกับบทบาทของฐานข้อมูลทั่วไป ไม่มีสมาชิกพวกเขาเอง แทน ผู้ใช้เข้าสู่ระบบ SQL Server และเชื่อมต่อกับฐานข้อมูลโดยใช้ข้อมูลประจำตัวของตนเอง ณจุดนั่น บริบทการรักษาความปลอดภัยของบทบาทของแอพลิเคชันสามารถถูกประยุกต์ใช้โดยทางโปรแกรมเพื่อเชื่อมต่อที่มีอยู่ โดยใช้การsp_setapproleกระบวนงานที่เก็บไว้ ใน SQL Server ผู้ใช้แต่ละยังคงมี differentiated แต่สิทธิ์ที่พร้อมใช้งานภายในการเชื่อมต่อเฉพาะได้จำกัดเพียงการสิทธิ์ของบทบาทของแอพลิเคชัน ผู้ใช้ของแต่ละสิทธิ์ ว่ากเก หรือ มากกว่า จะถือว่าไม่

การสร้างบทบาทของแอพลิเคชัน

Microsoft Accessโครงการไม่มีเครื่องมือออกแบบที่มองเห็นใด ๆ สำหรับการสร้างวัตถุการรักษาความปลอดภัยของเซิร์ฟเวอร์ SQL เช่นบทบาทของแอพลิเคชัน Microsoft แนะนำให้ คุณใช้เครื่องมือไคลเอนต์ที่มีอยู่ใน SQL Server หรือสำหรับนักพัฒนา XP ของ Microsoft Office รุ่นทั่วไปสำหรับการสร้าง role แอพลิเคชัน และการกำหนดสิทธิ์ อย่างไรก็ตาม คุณสามารถยังสร้างบทบาทแอพลิเคชัน และสิทธิ์ดังกล่าวจำเป็นโดยทางโปรแกรม โดยใช้ Transact-SQL (T SQL) จาก ADP อิน แม้ว่าการสนทนาทั้งหมดของการรักษาความปลอดภัยของเซิร์ฟเวอร์ SQL ที่อยู่นอกขอบเขตของบทความนี้ สามารถพบข้อมูลเพิ่มเติมในหนังสือ เซิร์ฟเวอร์ SQL แบบอ อนไลน์ขั้นตอนต่อไปนี้แสดงวิธีการสร้างบทบาทของแอพลิเคชันโดยทางโปรแกรม และให้ role ใหม่เลือกสิทธิ์บนตาราง:
  1. เริ่ม ต้น การ เข้า ถึง ได้
  2. เปิดโครงการ Access ตัวอย่าง Northwind
  3. ในหน้าต่างฐานข้อมูล คลิกโมดูลภายใต้วัตถุแล้ว คลิกใหม่เมื่อต้องการเปิดโมดูลใหม่ในสภาพแวดล้อมของ Visual Basic

    หมายเหตุ:ในการเข้าถึง 2007 คลิกโมดูลในการอื่น ๆจัดกลุ่มในการสร้างแท็บ
  4. พิมพ์ หรือวางรหัสต่อไปนี้ลงในโมดูลใหม่:
    Public Function AddNewAppRole(RoleName As String, PW As String) As Boolean
    On Error GoTo EH:
    If CurrentProject.IsConnected Then
    Dim sTSQL As String
        'Create the command
    sTSQL = "EXEC sp_addapprole '" & RoleName & "','" & PW & "'"
        'Send the command
    Application.CurrentProject.Connection.Execute sTSQL
    AddNewAppRole = True
    Else
    AddNewAppRole = False
    End If
    Exit Function
    EH:
    MsgBox Err.Number & ": " & Err.Description, vbCritical
    AddNewAppRole = False
    End Function
    					
  5. บันทึกโมดูล และจากนั้น ออกจากสภาพแวดล้อมแบบพื้นฐานที่แสดงผล
  6. สร้างสำเนาของลูกค้าตาราง และจากนั้น ให้บันทึกเป็นtNewTable. โดยให้ทำตามขั้นตอนต่อไปนี้::
    1. ในหน้าต่างฐานข้อมูล คลิกขวาลูกค้าตาราง แล้วคลิกบันทึกเป็นบนเมนูทางลัด

      หมายเหตุ:ในการเข้าถึง 2007 คลิกการลูกค้าตารางในบานหน้าต่างนำทาง คลิกปุ่ม Microsoft Officeชี้ไปที่บันทึกเป็นแล้ว คลิกบันทึกวัตถุเป็น.
    2. ในการบันทึกเป็นกล่องโต้ตอบ ชนิดtNewTableในการบันทึกตาราง 'ลูกค้า' ไปยังกล่อง แล้วคลิกตกลง.
  7. ในหน้าต่างฐานข้อมูล คลิกแบบฟอร์มภายใต้วัตถุคลิกใหม่แล้ว คลิกตกลงเมื่อต้องการเปิดแบบฟอร์มใหม่ในมุมมองออกแบบ

    หมายเหตุ:ในการเข้าถึง 2007 คลิกการออกแบบฟอร์มในการแบบฟอร์มจัดกลุ่มในการสร้างแท็บ
  8. เพิ่มปุ่มคำสั่งให้กับฟอร์มใหม่
  9. ตั้งค่านี้OnClickคุณสมบัติของปุ่มคำสั่งใหม่ไปยังกระบวนงานเหตุการณ์ต่อไปนี้:
    On Error GoTo EH:
    'Code only works if ADP is connected.
    If CurrentProject.IsConnected Then
        Dim bNewAppRole As Boolean, strTSQL As String
        Dim strRoleName As String, strPW As String
        strRoleName = "AppRoleName"
        strPW = "Password"
        'Call function to create app role.
        bNewAppRole = AddNewAppRole(strRoleName, strPW)
        'Test to see if it failed.
        If bNewAppRole = False Then
            Exit Sub
        End If
        MsgBox "New Application role '" & strRoleName & "' created", vbInformation
        'Create command to grant permissions.
        strTSQL = "Grant Select on tNewTable to " & strRoleName
        'Send the command.
        Application.CurrentProject.Connection.Execute strTSQL
        MsgBox "Select permissions granted on tNewTable for " & strRoleName
    Else
    MsgBox "ADP must be connected to SQL Server"
    End If
    Exit Sub
    EH:
    MsgBox Err.Number & ": " & Err.Description, vbCritical
    					
  10. ปิดสภาพแวดล้อมของ Visual Basic เพื่อกลับไปยังแบบฟอร์ม
  11. บันทึกฟอร์ม และแล้วจึง เปิดแบบฟอร์มไปแบบฟอร์มมุมมอง.
  12. คลิกที่ปุ่มคำสั่งเรียกใช้โค้ดที่ขีดเส้นใต้

    ขอให้สังเกตว่า คุณได้รับกล่องข้อความสองเพื่อบ่งชี้ว่า สำเร็จ คุณได้รับไปหลังจากที่บทบาทของแอพลิเคชันถูกสร้าง และหนึ่งวินาทีหลังจากการอนุญาต role ใหม่เพื่อ tNewTable ได้รับ

ปฏิบัติตามบทบาทของแอพลิเคชัน

complication หลักเมื่อคุณใช้โปรแกรมประยุกต์บทบาทในโครงการ Access ได้ว่า การเข้าถึงใช้การเชื่อมต่อกับ SQL Server ที่สามเพื่อจัดการงานต่าง ๆ ideally การใช้บทบาทของแอพลิเคชันโครงการทั้งหมด คุณจะมีการดำเนินการsp_setapproleในบริบทของการเชื่อมต่อทั้งหมดที่สาม มีวัตถุที่จัดการ โดยแต่ละการเชื่อมต่อไปนี้:

  1. ใช้สำหรับการกำหนดวัตถุใดปรากฏในฐานข้อมูลหน้าต่างและ สำหรับงานด้านการดูแลของฐานข้อมูลเบ็ดเตล็ด

    ใช้สำหรับการเปิดตาราง มุมมอง วิธีการที่เก็บไว้ ฟังก์ชัน และแหล่งระเบียน สำหรับฟอร์มและ subreports (แต่ไม่ใช่ สำหรับรายงานหลักเอง)

    ใช้สำหรับการรับแหล่งระเบียนสำหรับกล่องคำสั่งผสม กล่องรายการ และรายงาน
  2. ใช้สำหรับการเปิดตาราง มุมมอง วิธีการที่เก็บไว้ ฟังก์ชัน และแหล่งระเบียน สำหรับฟอร์มและ subreports (แต่ไม่ใช่ สำหรับรายงานหลักเอง)

    ใช้สำหรับการรับแหล่งระเบียนสำหรับกล่องคำสั่งผสม กล่องรายการ และรายงาน
  3. ใช้สำหรับการรับแหล่งระเบียนสำหรับกล่องคำสั่งผสม กล่องรายการ และรายงาน

แม้ว่าการเชื่อมต่อที่#2 และ#3 สามารถเข้าถึงได้อย่างง่ายดาย fairly ไม่มีวิธีอยู่สำหรับการดำเนินการตามขั้นตอนที่เก็บไว้ในบริบทของการเชื่อมต่อ#1 fortunately เชื่อมต่อนี้เป็นน้อยที่สุดสำคัญของสาม และทำงานอยู่ได้อย่างง่ายดายได้ล้อมรอบ โดย constructing ของคุณเองอินเตอร์เฟซ (ตัวอย่างเช่น ฟอร์มชนิดของสวิตช์บอร์ด) สำหรับการจัดการวัตถุฐานข้อมูลการแทนที่การจริงในหน้าต่างฐานข้อมูลที่มีอยู่แล้ว

ขั้นตอนต่อไปนี้ใช้โครงการ Access ตัวอย่าง Northwind การสาธิตวิธีใช้บทบาทของแอพลิเคชันแอเทียบกับการเชื่อมต่อที่#2 และ#3:

  1. ในหน้าต่างฐานข้อมูล คลิกแบบฟอร์มภายใต้วัตถุคลิกใหม่แล้ว คลิกตกลงเมื่อต้องการเปิดแบบฟอร์มใหม่ในมุมมองออกแบบ

    หมายเหตุ:ในการเข้าถึง 2007 คลิกการออกแบบฟอร์มในการแบบฟอร์มจัดกลุ่มในการสร้างแท็บ
  2. เพิ่มกล่องรายการให้กับฟอร์มที่สร้างขึ้นใหม่ และจากนั้น ตั้งค่านี้ชื่อ:คุณสมบัติของกล่องรายการlst_AppRole.
  3. เพิ่มปุ่มคำสั่งไปยังแบบฟอร์ม
  4. ตั้งค่านี้OnClickคุณสมบัติของปุ่มคำสั่งใหม่ไปยังกระบวนงานเหตุการณ์ต่อไปนี้:
    On Error GoTo EH
        'This avoids a message that no records were returned.
    DoCmd.SetWarnings False
    Dim TSQL
    TSQL = "EXEC sp_setapprole 'AppRoleName', {Encrypt N 'Password'}, 'odbc'"
        'This sets the app role on Connection #2.
    Application.CurrentProject.Connection.Execute TSQL
        'This sets the app role on Connection #3.
    lst_approle.RowSource = TSQL
    lst_approle.Requery
    DoCmd.SetWarnings True
    MsgBox "The application Role is now in effect.", vbInformation
    Exit Sub
    EH:
    MsgBox Err.Number & ": " & Err.Description, vbCritical
    					
  5. ปิดสภาพแวดล้อมของ Visual Basic เพื่อกลับไปยังแบบฟอร์ม
  6. บันทึกฟอร์ม และแล้วจึง เปิดแบบฟอร์มไปแบบฟอร์มมุมมอง.
  7. คลิกที่ปุ่มคำสั่งเรียกใช้โค้ดที่ขีดเส้นใต้

    ขอให้สังเกตว่า คุณได้รับกล่องข้อความที่แสดงว่า ความสำเร็จ
  8. ในหน้าต่างฐานข้อมูล คลิกตารางภายใต้วัตถุแล้ว เปิดtNewTableตาราง:

    หมายเหตุ:ในการเข้าถึง 2007 คลิกสองครั้งtNewTableตารางในบานหน้าต่างนำทาง
  9. ปรับเปลี่ยนระเบียน และการบันทึกการเปลี่ยนแปลง
ขอให้สังเกตว่า เมื่อคุณพยายามที่จะส่งการเปลี่ยนแปลงของคุณ คุณได้รับข้อผิดพลาดเกี่ยวกับการไม่มีสิทธิ์เพียงพอ ปัญหานี้เกิดขึ้นเนื่องจากคุณกำหนด role ของแอพลิเคชันใหม่เลือกสิทธิ์ในการtNewTableตาราง แต่ไม่การปรับปรุงสิทธิ์

โดยการออกแบบ การเข้าถึงเฉพาะแสดงวัตถุในหน้าต่างฐานข้อมูลที่ผู้ใช้ที่มีการเลือกอย่างน้อย หรือสิทธิ์การเรียกใช้ การเข้าใช้การเชื่อมต่อที่#1 เพื่อกำหนดว่าวัตถุใดที่ผู้ใช้มีสิทธิ์สำหรับ หลังจากการใช้โปรแกรมประยุกต์ บทบาทในการเชื่อมต่อที่#2 และ 3 # ฐานข้อมูลในหน้าต่างยังแสดงวัตถุเดียวกันที่คุณเคยก่อน แม้ว่าผู้ใช้อาจไม่ได้รับอนุญาตให้วัตถุทั้งหมด หรืออาจมีสิทธิ์ในการเพิ่มเติมวัตถุที่ไม่แสดง ขึ้น ซึ่งอาจส่งผลในลักษณะการทำงานที่ไม่คาดคิดเมื่อคุณใช้หน้าต่างฐานข้อมูล

ตัวอย่างเช่น เมื่อคุณเปิดตาราง tNewTable "ปรากฏ" ผู้ใช้มีสิทธิ์ในการแก้ไข และแทรกเร็กคอร์ด แทรกใหม่ระเบียนคอนที่ด้านล่างของตารางเปิดใช้งาน และผู้ใช้จะสามารถย้ายเรกคอร์ดในโหมดแก้ไข คุณไม่เห็น clue ใดก็ตามที่เห็นเพื่อบ่งชี้หรือจนกว่าคุณพยายามส่งการแก้ไขหรือแทรก ซึ่งส่งผลในข้อความแสดงข้อผิดพลาด การเข้าถึง believes คุณได้รับอนุญาตเมื่อคุณจริงไม่

วิธีแก้ปัญหาที่มีประสิทธิภาพมากที่สุดคือ เพื่อให้อินเทอร์เฟซที่กำหนดเองสำหรับผู้ใช้ และไม่มีปัญหาในหน้าต่างฐานข้อมูล โดยใช้อินเทอร์เฟซสำหรับผู้ใช้ที่ชนิดของสวิตช์บอร์ด คุณสามารถควบคุมวัตถุการใช้งานที่ผู้ใช้มีสิทธิ์เข้าถึงอย่างแน่นอน

ข้อจำกัดและข้อควรพิจารณาด้านความปลอดภัยอื่น ๆ

subforms ไม่ทำงาน

ซึ่งแตกต่างจากกับวัตถุอื่นฐานข้อมูล การเข้าถึงไม่เสมอใช้การเชื่อมต่อเดียวกันเพื่อเรียกแหล่งข้อมูลของฟอร์มย่อย การเข้าถึงบ่อยครั้ง (แต่ไม่เสมอ) สร้างการเชื่อมต่อใหม่ไปยัง SQL Server เฉพาะ เพื่อจัดการชุดระเบียนของฟอร์มย่อย หรือดึงข้อมูลฟิลด์ linking ที่เชื่อมต่อกับฟอร์มย่อยให้กับฟอร์มหลัก เนื่องจากการเชื่อมต่อใหม่นี้ไม่มีบทบาทของแอพลิเคชันที่ใช้ ข้อผิดพลาดของสิทธิ์อาจถูกสร้างขึ้นถ้าคุณไม่มีสิทธิ์ที่ชัดเจนไปวัตถุฐานข้อมูล แต่ ซึ่งหมายความ ว่า ไม่มีวิธีที่เชื่อถือได้ใช้ฟอร์มย่อยที่ถูกผูกไว้เมื่อมีใช้บทบาทของแอพลิเคชัน วิธีแก้ปัญหาที่มีผลเฉพาะที่เป็นไป ได้อย่างสมบูรณ์ unbound ฟอร์มย่อย ด้วย manipulation ข้อมูลที่จัดการโดยทางโปรแกรม นี่คือข้อจำกัดที่ร้ายแรงที่สุดเมื่อใช้โปรแกรมประยุกต์บทบาทในการเข้าถึง

รายงานที่ไม่มีการทำงาน

เมื่อคุณมีวัตถุเช่นตาราง หรือชื่อมุมมองที่แสดงเป็นแหล่งระเบียนสำหรับรายงานหรือรายงานย่อย การเข้าถึงตรวจสอบเพื่อดูว่า วัตถุมีอยู่ในรายการในหน้าต่างฐานข้อมูลก่อนที่จะดึงข้อมูลใด ๆ จาก SQL Server เนื่องจากหน้าต่างฐานข้อมูลใช้การเชื่อมต่อที่ไม่มีบทบาทของแอพลิเคชันที่ใช้ ข้อผิดพลาดถูกสร้างขึ้นถ้าคุณไม่มีสิทธิ์ที่ชัดเจนแหล่งข้อมูลพื้นฐาน

เมื่อต้องการแก้ไขปัญหานี้ ให้ใช้คำสั่ง Transact SQL เป็นแหล่งระเบียนกับแบบฟอร์มและรายงาน ตัวอย่างเช่น ใช้ "เลือก * จาก ViewName" แทน "ViewName" หรือ "Exec StoredProcedureName" แทนการเพียงแค่ "StoredProcedureName เท่านั้น ด้วยวิธีนี้ การเข้าถึงคำสั่ง Transact SQL ที่ส่งผ่านโดยตรงกับ SQL Server และดึงข้อมูลที่ขึ้นอยู่กับสิทธิ์ของบทบาทของแอพลิเคชัน

บทบาทฐานข้อมูลสาธารณะ

บทบาทของแอพลิเคชัน acquires สิทธิ์ของบทบาทฐานข้อมูลสาธารณะ โดยค่าเริ่มต้นใน NorthwindCS บทบาทที่สาธารณะได้รับสิทธิ์อย่างเต็มไปยังวัตถุมากที่สุด ดังนั้น บทบาทของแอพลิเคชันเป็น ineffective โดยทั่วไป เมื่อคุณสร้างตาราง tNewTable ในส่วน "สร้างข้อแอพลิเคชันบทบาท" role สาธารณะไม่ได้รับสิทธิ์ไปยังตาราง และคุณเห็นลักษณะพิเศษของบริบทการรักษาความปลอดภัยบทบาทของแอพลิเคชันในตารางนั้นในภายหลัง อย่างไรก็ตาม ตารางอื่น ๆ อาจไม่แสดงผลต่างใด ๆ ภายใต้บทบาทของโปรแกรมประยุกต์ได้เนื่องจากหน้าที่สาธารณะได้รับสิทธิ์ไปยังวัตถุเหล่านั้น

การรักษาความปลอดภัย vba

เนื่องจากรหัสผ่านสำหรับ role แอพลิเคชันที่ฝังไว้ในแอพลิเคชันที่จะถูกเรียก knowledgeable ผู้ใช้จะสามารถอ่านชื่อบทบาทของแอพลิเคชันและรหัสผ่านจากรหัสต้นทาง และใช้ข้อมูลนั้นเพื่อเข้าถึงไปยังเซิร์ฟเวอร์ SQL จากโปรแกรมประยุกต์อื่น ดังนั้น จึงเป็นความคิดที่ดีในการคอมไพล์ ADP ที่ไปยังแฟ้ม ADE เพื่อให้ไม่สามารถดูรหัสแหล่งที่มา อย่างน้อยสุด บังคับใช้รหัสผ่านบนโครงการ VBA

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบทความนี้รุ่น Microsoft Access 2000 คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
318816ACC2000: วิธีการที่ใช้บทบาทของแอพลิเคชันกับโครงการ Access และ SQL Server 2000 เดสก์ท็อป Engine (MSDE 2000)
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ GRANT ให้ดูหนังสือ เซิร์ฟเวอร์ SQL แบบอ อนไลน์. กระบวนการหนังสือ เซิร์ฟเวอร์ SQL แบบอ อนไลน์มีอยู่ในเว็บไซต์ต่อไปนี้ของ Microsoft:
http://www.microsoft.com/sql/techinfo/productdoc/2000/default.asp

คุณสมบัติ

หมายเลขบทความ (Article ID): 308312 - รีวิวครั้งสุดท้าย: 17 กันยายน 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Keywords: 
kbexpertiseinter kbinfo kbprogramming kbadp kbvba kbhowto kbmt KB308312 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:308312

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com