จะปิดข้อความยืนยันการดำเนินการคิวรีหรือรันมาโคร



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

28 เม.ย. 63 , 21:38:24
อ่าน 189 ครั้ง

เก่ง

  • สมาชิกไท.Access
  • กระทู้: 8

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

เนื่องด้วยไม่สามารถไปเลือก Action queries ใน Client setting ได้ เพราะเป็นการใช้โปรแกรมโดยผ่าน MS Access runtime ทำให้ไม่สามารถเปิดการแก้ไขตรง access options ได้

ขอคำชี้แนะจากอาจารย์ผู้เชี่ยวชาญในบอร์ดด้วยครับ ตอนนี้เดือดร้อนมาก เนื่องจากได้เขียนโปรแกรมง่าย ๆ ไปให้บริษัทในเครือใช้ แต่เค้าไม่มี MS Access ทำให้ต้องใช้ผ่าน runtime
ซึ่งมีข้อความเตือนขึ้นมาเยอะมากในการใช้งานบางหน้าสกรีน เลยถูกตำหนิมาเต็ม ๆ

จะปิดข้อความดังกล่าว ได้โดยวิธีอะไรอีกบ้างครับ

 :cry: :cry: :cry:

 

29 เม.ย. 63 , 00:10:19
ตอบกลับ #1

สันติสุข

  • แฟนพันธุ์แท้ไท.Access
  • *
  • กระทู้: 466
  • พลังขอบคุณ: 415

  • ขึ้น 15 ค่ำเดือน 8 แสดงปฐมเทศนา

    • ดูรายละเอียด

ถ้าต้องการสั่งให้ Action Query ไม่ต้องถามยืนยันทุกครั้งที่ทำงาน ก็ใช้โค้ด application.SetOption "Confirm Action Queries", False ใส่ไว้ในส่วนต้นๆของโค้ดที่ทำงานทุกครั้งที่เปิดแอปพลิเคชั่นก็ได้
« แก้ไขครั้งสุดท้าย: 29 เม.ย. 63 , 10:44:21 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

29 เม.ย. 63 , 01:59:05
ตอบกลับ #2

UnKnown

Trust Center ใน Runtime จะไม่มีให้ตั้งค่า ใช้วิธีแก้ Registry โดยเพิ่ม Trusted Locations
https://www.accessribbon.de/en/?Trust_Center:Trusted_Locations link
ถ้างงว่าแก้ยังไงในเว็บด้านล่างโหลดโปรแกรมตามเวอร์ชั่น runtime แตกไฟล์โปรแกมออกมา > นำไปวางใว้ที่เดียวกับไฟล์ Access > รันโปรแกรมจะทำการแก้ regedit ให้ > ทนลองเปิดไฟล์งาน

* สั่งรันเพื่อแก้ regedit เพียงครั้งเดียวต่อหนึ่งที่อยู่ (รันเสร็จลบหรือย้ายไปรันที่อื่นต่อได้)
* ถ้ามีไฟล์ Access อยู่หลายที่เช่น
1. c:/งาน1
2. d:/งาน2/งาน2.2
ให้นำโปรแกรมไปวางใว้แล้วส้่งรันในทุกที่เหมือนเป็นการเพิ่มระเบียนว่ามีที่ไหนบ้างให้ runtime ยอมรับว่าปลอดภัย

ปล.ในส่วนของ Action Query ลองทำตาม อ.สันติสุข ดูก่อนนะครับ :prettiness:
« แก้ไขครั้งสุดท้าย: 29 เม.ย. 63 , 02:04:08 โดย UnKnown »

 
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

29 เม.ย. 63 , 15:46:30
ตอบกลับ #3

เก่ง

  • สมาชิกไท.Access
  • กระทู้: 8

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

ถ้าต้องการสั่งให้ Action Query ไม่ต้องถามยืนยันทุกครั้งที่ทำงาน ก็ใช้โค้ด application.SetOption "Confirm Action Queries", False ใส่ไว้ในส่วนต้นๆของโค้ดที่ทำงานทุกครั้งที่เปิดแอปพลิเคชั่นก็ได้

ผมลองใช้ macro SetWarnings เป็น no เอาไปใส่ต้น ๆ ของการรันคิวรี่ ก็พอได้อยู่ครับ ขอบคุณมากครับผม

 

29 เม.ย. 63 , 16:02:51
ตอบกลับ #4

เก่ง

  • สมาชิกไท.Access
  • กระทู้: 8

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

Trust Center ใน Runtime จะไม่มีให้ตั้งค่า ใช้วิธีแก้ Registry โดยเพิ่ม Trusted Locations
https://www.accessribbon.de/en/?Trust_Center:Trusted_Locations link
ถ้างงว่าแก้ยังไงในเว็บด้านล่างโหลดโปรแกรมตามเวอร์ชั่น runtime แตกไฟล์โปรแกมออกมา > นำไปวางใว้ที่เดียวกับไฟล์ Access > รันโปรแกรมจะทำการแก้ regedit ให้ > ทนลองเปิดไฟล์งาน

* สั่งรันเพื่อแก้ regedit เพียงครั้งเดียวต่อหนึ่งที่อยู่ (รันเสร็จลบหรือย้ายไปรันที่อื่นต่อได้)
* ถ้ามีไฟล์ Access อยู่หลายที่เช่น
1. c:/งาน1
2. d:/งาน2/งาน2.2
ให้นำโปรแกรมไปวางใว้แล้วส้่งรันในทุกที่เหมือนเป็นการเพิ่มระเบียนว่ามีที่ไหนบ้างให้ runtime ยอมรับว่าปลอดภัย

ปล.ในส่วนของ Action Query ลองทำตาม อ.สันติสุข ดูก่อนนะครับ :prettiness:

วิธีนี้ไม่ได้ลองเลยอะครับ พอดี user อยู่คนล่ะที่เลยอะครับ
ขอบคุณมากครับผม

 

30 เม.ย. 63 , 11:41:00
ตอบกลับ #5

TTT

การยกเลิกการตั้งค่า Security Warning Macro Setting ของ Ms Access ให้ใช้งานคำสั่ง VBA ได้
 
1. คลิ๊กเมาส์ขวาที่ Desktop เลือกเมนู New > Text Document
 
2. จะได้ไฟล์ New Text Document.txt เปล่าๆมา คลิ๊กๆเปิดไฟล์ขึ้นมา ใส่โค๊ดนี้ลงไป
'----------------Code Start----------------
On Error Resume Next
 
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
Dim objVer
Set objVer = CreateObject("Access.Application")
 
Dim strRegPath
Dim Application_Version
Application_Version = objVer.Version 'Return 14.0, 15.0, etc.
 
strRegPath = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application_Version & "\Access\Security\VBAWarnings"
If WshShell.RegRead(strRegPath) <> 1 then
    If MsgBox("Click OK to Enable all macros.", vbQuestion + vbOKCancel, "Security VBA Warnings") = vbOK Then
        WshShell.RegWrite strRegPath, 1, "REG_DWORD"
    End If
Else
    'WScript.echo "กำหนดใช้งาน Macros ไว้อยู่แล้ว"
    MsgBox "กำหนดใช้งาน Macros ไว้อยู่แล้ว", ,"Security VBA Warnings"
End If
Wscript.Quit

3. จากนั้นไปที่เมนู File > Save As: เป็นชื่ออะไรก็ได้แต่นามสกุล vbs เช่น Macro.vbs และ Encoding: ANSI เซฟ แล้วปิดโปรแกรม notepad ไป
 
4. จะเห็นไฟล์ชื่อ Macro.vbs อยู่บน Desktop คลิ๊กๆเพื่อเรียกไฟล์ จะมีหน้าต่างข้อความ Click OK to Enable all macros. ให้กด OK ไปจนเสร็จ จะเป็นการแก้ค่ารีจีสตี้ในเครื่องเรื่องของการแจ้งเตือน หรือต้องการกำหนดแก้ไขอย่างอื่นก็แก้โค้ดเอาได้เลยครับ

5. ส่งไฟล์ไปให้เครื่องอื่นโดยรูปแบบ .zip แล้วลองให้เค้ารันไฟล์ที่ทำนี้ดูครับ

ลองปรับใช้ดู หวังว่าคงช่วยได้
ฐานข้อมูลเป็นเรื่องใกล้ตัว ใครๆก็ทำฐานข้อมูลเองได้นะครับhttp://www.youtube.com/c/AccessCreator link
 
โพสต์นี้ได้รับคำขอบคุณจาก: PNR


บอร์ดเรียนรู้ Access สำหรับคนไทย