เหตุใด Access รายงานว่าไม่สามารถรับคำสั่งให้โปรแกรมได้


9

ฉันเพิ่งอัพเกรดเป็น Windows 7 และเมื่อหลังจากติดตั้ง MS Office ใหม่ฉันมีข้อผิดพลาดที่น่าสนใจ เมื่อฉันคลิกที่ฐานข้อมูลฉันได้รับข้อความป๊อปอัพ "มีปัญหาในการส่งคำสั่งไปยังโปรแกรม" แต่แอปพลิเคชันไฟล์จะยังคงเริ่มต้นและฐานข้อมูลที่เหมาะสมจะเปิดขึ้น

มีใครเคยเห็นอะไรแบบนี้บ้าง?

ฉันจะตรวจสอบและแก้ไขปัญหานี้อย่างไร

หมายเหตุ: ฉันไม่ได้ใช้ Zone-Alarm การค้นหาออนไลน์ส่วนใหญ่เกี่ยวกับปัญหานี้ส่งคืนไซต์ต่าง ๆ และบทความ MSKB ที่พูดถึงปัญหาโดยใช้ Zone-Alarm

แก้ไขแล้ว: ขอบคุณ Mihi --- หลังจากเปลี่ยนชื่อคีย์รีจิสทรีจาก ddexec เป็น NOddeexec ปัญหาหายไป - ยังไม่แน่ใจว่าทำไม DDE เสีย แต่ทำงานได้ดีพอสำหรับฉันตอนนี้


คุณคลิกที่ไฟล์ฐานข้อมูลของตัวเองหรือทางลัดไปหรือไม่
JohnFx

ฉันคลิกไฟล์ฐานข้อมูลของตัวเอง
โนอาห์

คุณใช้ไฟร์วอลล์อื่นอยู่หรือไม่?
harrymc

เฉพาะ Win-7 มาตรฐานเท่านั้นที่มีไฟร์วอลล์ นอกจากนี้ไฟล์นี้อยู่ในไดรฟ์ในเครื่องของฉันในไดเรกทอรีย่อยของ MyDocuments
Noah

คุณเข้าสู่ระบบในฐานะผู้ดูแลระบบหรือไม่ คุณพยายามปิด UAC โดยสมบูรณ์หรือไม่
harrymc

คำตอบ:


2

มีปัญหานี้ แต่เฉพาะกับผลิตภัณฑ์สำนักงานที่เฉพาะเจาะจง (เช่น Excel และ Word จะทำงานได้ แต่ Access จะล้มเหลวด้วยข้อความ)

นี่คือวิธีที่ฉันแก้ไขปัญหาใน Windows 7 - 64 บิต (อาจเป็นไปได้สำหรับ Vista เช่นกัน)

หมายเหตุ:วิธีนี้เกี่ยวข้องกับการแก้ไขรีจิสทรีของระบบ โปรดใช้ความระมัดระวังเนื่องจากการแก้ไขรีจิสทรีอย่างไม่ถูกต้องอาจทำให้ระบบปฏิบัติการของคุณเสียหายได้!

การใช้ Registry Editor ที่มาพร้อมกับ Windows 7 (Regedit)

  • ตรวจสอบคีย์ส่วนขยายในรีจิสทรีสำหรับการเชื่อมโยงปัจจุบัน
  • HKEY_CLASSES_ROOT\.mdb (ผมก็จัดการกับ Office 2007 แต่เพียงค้นหารายการนามสกุลไฟล์ที่คุณมีความสนใจใน)
  • ตรวจสอบ(Default)รายการมูลค่าแล้วหากุญแจในHKEY_CLASSES_ROOTมันหมายถึง(ในกรณีของฉันนี้ Access.MDBFile)
  • ค้นหาคีย์ย่อยshellและลบมัน(ดูคำเตือนด้านบน)
  • กลับไปที่และค้นหาไฟล์ที่คุณต้องการเปิดตอนนี้คุณจะถูกขอให้เลือกโปรแกรมที่จะเปิดด้วย ณ จุดนี้ให้ค้นหาโปรแกรมสำนักงานที่คุณต้องการใช้เพื่อเปิดไฟล์และดำเนินการเสร็จสิ้น

ตรวจสอบการตั้งค่าของฉันหลังจากทำสิ่งนี้พบว่าAccess.MDBFileรหัสในรีจิสทรีมีการเปลี่ยนแปลงตอนนี้มีCLSIDรหัสที่ชี้ไปที่บ้านใหม่ของการเชื่อมโยงไฟล์

  • คีย์ย่อยCLSID (ในกรณีของฉันHKEY_CLASSES_ROOT\Access.MDBFile\CLSID, (Default)ค่าเป็น{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9} )
  • พบใช้ในการค้นหาCLSID (วงเล็บปีกกาไม่รวม)อย่าลืมตรวจสอบภายใต้Look at-> Keysก่อนที่จะดำเนินการค้นหา(ในกรณีของฉันพบที่สำคัญHKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}แต่นี้อาจแตกต่างกันตัวอย่างของฉันสำหรับระบบ 64 บิตจัดการรุ่น 32 บิตของ Office 2007)
  • การอ้างอิงนี้คือ "แอปพลิเคชัน Microsoft Office Access" ที่ใช้เซิร์ฟเวอร์ระหว่างดำเนินการเพื่อเปิดแอปพลิเคชันโดยใช้วิธีนี้แก้ไขการเชื่อมโยงไฟล์ Access ของฉัน

6

โดยทั่วไปแล้วข้อผิดพลาดนี้จะปรากฏขึ้นหากประเภทไฟล์ถูกตั้งค่าให้ใช้ DDE (โปรโตคอลการสื่อสารสไตล์ Windows-3.x แบบเก่าระหว่างแอปพลิเคชันที่ทำงานบนคอมพิวเตอร์เครื่องเดียวกัน) เพื่อเปิดไฟล์

คุณจะพบมันในประเภทไฟล์ในตัวเลือกโฟลเดอร์ของ explorer (อาจจะอยู่ที่อื่นใน Windows 7 แต่จะมีบางแห่งที่ผู้ดูแลระบบสามารถตั้งค่าไฟล์ที่จะเปิดด้วยโปรแกรมใด)

เมื่อเลือกตัวเลือก "Use DDE" Windows จะตรวจสอบก่อนว่าโปรแกรมกำลังทำงานอยู่หรือไม่แล้ว (ถ้ามี) จะส่งข้อความ DDE (ประกอบด้วย 3 ข้อความ "Application", "Topic" และ "Message" ) วิธีนี้จะสามารถหลีกเลี่ยงการเปิดโปรแกรมอีกครั้งแม้ว่ามันจะทำงานอยู่แล้ว เมื่อโปรแกรมไม่ทำงานมันจะเริ่มต้นตามปกติ ในกรณีที่การเชื่อมต่อ DDE ล้มเหลวกล่องโต้ตอบที่คุณพูดถึงจะปรากฏขึ้นและจะเริ่มโปรแกรมอีกครั้งตามปกติ

ดังนั้นการแก้ไขที่ง่ายที่สุดคือเพียงปิดการใช้งาน "Use DDE" สำหรับส่วนขยายไฟล์ของฐานข้อมูลของคุณ (ฉันเดาว่า. mdb) ข้อเสียเปรียบอย่างเดียว: เมื่อคุณเปิดฐานข้อมูลและ Access กำลังทำงานอยู่ Windows จะเปิดอินสแตนซ์ที่สองของ Access ซึ่งจะแจ้งให้ทราบก่อนและส่งข้อความ DDE และออกหลังจากนั้น I. e. คุณกำลังเริ่มต้นการเข้าถึงโดยไม่จำเป็นเพื่อให้สามารถปิดได้อีกครั้ง แต่ทุกวันนี้ด้วยซีพียูที่รวดเร็วและฮาร์ดดิสก์ฉันเดาว่านี่เป็นที่ยอมรับ :-)

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

แก้ไข:ตามเว็บไซต์นี้แท็บนั้นถูกทิ้งใน Vista คุณสามารถทำได้ด้วยตนเองในรีจิสทรี: ค้นหาHKEY_CLASSES_ROOT\.mdbค่าเริ่มต้น (กล่าวคือmdbfile) จากนั้นดูที่ค่าเริ่มต้นนั้น ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec)


ฉันสามารถใช้งานเครื่องอื่นได้ ฉันจะดูการเปรียบเทียบการกำหนดค่า DDE ได้ที่ไหน
โนอาห์

@Noah: ใน Windows Explorer ให้ไปที่เครื่องมือ -> ตัวเลือกโฟลเดอร์ คลิกที่แท็บประเภทไฟล์ ค้นหาไฟล์ mdb เลือกขั้นสูง คลิกที่การกระทำ "เปิด" และเลือก "แก้ไข ... " โปรดจำไว้ว่าหากคุณกำลังเปรียบเทียบสิ่งนี้กับเวิร์กสเตชันอื่นเวิร์กสเตชันอื่นอาจใช้ DDE ได้ดี แต่เนื่องจากเวิร์กสเตชันของคุณไม่ทำงานให้ลองยกเลิกการเลือกและดูว่าใช้งานได้หรือไม่ (หลังจากรีบูต)
Andy

Windows 7 ไม่มีแท็บ "Folder Options"
โนอาห์

ตามmydigitallife.info/2008/06/20/…แท็บนั้นถูกส่งไปใน Vista คุณสามารถทำได้ด้วยตนเองในรีจิสทรี: ค้นหา HKEY_CLASSES_ROOT \ .mdb สำหรับค่าเริ่มต้น (กล่าวคือ mdbfile) จากนั้นดูที่ค่าเริ่มต้นนั้น (HKEY_CLASSES_ROOT \ mdbfile \ open \ ddeexec) ...
mihi

คุณสามารถเพิ่มความคิดเห็นล่าสุดนี้ในคำตอบของคุณได้ไหม
โนอาห์

2

นี่คือวิธีแก้ปัญหาที่ฉันพบใน Access 2002 มันจะคล้ายกับ Access รุ่นอื่น

  1. เปิดการเข้าถึง
  2. คลิกที่เครื่องมือ
  3. คลิกที่ตัวเลือก
  4. คลิกที่แท็บขั้นสูง
  5. ยกเลิกการทำเครื่องหมายที่ช่องถัดจาก "ละเว้นคำขอ DDE"
  6. ปิดการเข้าถึง

มันใช้งานได้สำหรับฉัน! ไม่มีอีกต่อไป "เกิดปัญหาในการส่งคำสั่งไปยังโปรแกรม" ความผิดพลาด

สำหรับ Access รุ่นต่าง ๆ ตัวเลือก "เพิกเฉยคำขอ DDE" อาจระบุไว้แตกต่างกันเล็กน้อย แต่คุณควรจะหาสิ่งที่สามารถใช้งานได้

ฉันหวังว่านี่จะช่วยผู้อื่นที่มีปัญหาเดียวกัน


1

ในโฟลเดอร์ office ที่ติดตั้ง คลิกขวาที่ excel / winword .exe และเลือกคุณสมบัติ เลือกแท็บ compatibilty และตรวจสอบให้แน่ใจว่า "การเรียกใช้โปรแกรมนี้ในโหมดความเข้ากันได้สำหรับ" ถูก UNCHECKED



1

นี่คือการแก้ไขสำหรับ Access 2007:

  • คลิก Office "Coin" ที่มุมบนซ้ายของ Access
  • เลือก "ตัวเลือกการเข้าถึง"
  • เลือกตัวเลือก "ขั้นสูง"
  • เลื่อนไปที่ปุ่มและยกเลิกการเลือก "เพิกเฉยคำขอ DDE"

ควรเปิดใช้งานได้ดีโดยไม่ต้องวุ่นวายกับรีจิสทรี


0

มีใครเคยเห็นอะไรแบบนี้บ้าง?

อาจเนื่องจากข้อผิดพลาดในเอกสารนี้บทความ MSKB มันยังได้รับการกล่าวถึงในการเชื่อมต่อกับ ZoneAlarm


ฉันอ่านบทความ MSKB เหล่านั้น แต่ฉันไม่ได้ใช้ ZoneAlarm เลย มันเป็นการอัพเกรด Vanilla Win7
โนอาห์

ฉันไม่มีวิธีแก้ปัญหาเพียงชี้ให้เห็นว่าข้อผิดพลาดนี้ค่อนข้างบ่อย แต่คำตอบนั้นคลุมเครือที่สุดดูเหมือนว่าจะเป็นหนึ่งในปริศนาหน้าต่าง :)

0

บันทึกกิจกรรม:

ฉันใช้ 'แผงควบคุม' เพื่อเปลี่ยนการติดตั้ง Office 2007 ลบการเข้าถึง จากนั้นใช้แผงควบคุมฉันเพิ่มการเข้าถึงกลับ สิ่งนี้ไม่มีผลกระทบกับปัญหา

ฉันใช้ 'แผงควบคุม' เพื่อซ่อมแซมการติดตั้ง Office 2007 จากนั้นเริ่มระบบใหม่ สิ่งนี้ไม่มีผลกระทบกับปัญหา

บันทึก:

  • เมื่อฉันดับเบิลคลิกที่ไฟล์ปัญหาจะเกิดขึ้น เมื่อฉันคลิกขวาเลือก OpenWith แล้วเลือกการเข้าถึงปัญหาจะไม่เกิดขึ้น
  • ปัญหานี้ไม่ได้เกิดขึ้นกับ Excel

0

ฉันไม่ได้ดูหมิ่น แต่อาจเป็นได้ว่าในการเข้าถึงตัวเลือกนี้เพื่อฟัง DDE-Calls ถูกปิดการใช้งาน ฉันเห็นตัวเลือกนี้ใน Word และ excel เช่นกัน แต่อย่าจำการเข้าถึง อาจเป็นปัญหาด้านความปลอดภัยที่จะปิดการใช้งานนี้ดีกว่า ...


0

ฉันไม่ได้ใช้ Access แต่ฉันเพิ่งเริ่มพบปัญหาเดียวกันกับ Excel และ Word (2007) บน Win7 ในขณะที่เปิดเอกสารจากรายการ "ล่าสุด" ในเมนู Start ของฉัน (ใช้ลูกศรในรายการเมนูทางลัดของ Word) โซลูชันช่องทำเครื่องหมาย DDE ไม่ได้นำมาใช้กับฉันเนื่องจากไม่ได้ตรวจสอบแล้ว (และไม่มีอยู่ใน Word เท่าที่ฉันรู้)

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

ป้อนคำอธิบายรูปภาพที่นี่


0

หากข้อผิดพลาดนี้ปรากฏขึ้นเมื่อใช้ Office กับ Windows 7 ที่มีไฟล์ Access ADP ปัญหาอาจเกิดจากไฟร์วอลล์

Windows XP พร้อม Access 2007 ใช้ SMB สำหรับการสื่อสารกับเซิร์ฟเวอร์ MSSQL Windows 7 พร้อม Access 2007 ใช้พอร์ต TCP (พอร์ต SQL มาตรฐาน) 1433 เพื่อลองไปยังเซิร์ฟเวอร์ MSSQL หากคุณมีไฟร์วอลล์ Windows หรือไฟร์วอลล์ฮาร์ดแวร์บล็อกพอร์ต 1433 จะพยายามเชื่อมต่อ 3 ครั้งและเมื่อล้มเหลวในครั้งที่สามมันจะเปลี่ยนเป็น SMB และทำงานได้ตามปกติ

เปิดพอร์ต TCP 1433 บนเซิร์ฟเวอร์ที่รัน SQL Server

ฉันยังไม่พบสาเหตุที่ทำให้ Windows 7 ใช้พอร์ต TCP 1433 ก่อนแทน SMB เช่น XP และฉันไม่พบวิธีเปลี่ยน


ความสัมพันธ์สำหรับ mysql ในคำนี้ / excel app คืออะไร? ฉันไม่ได้รับสิ่งที่คุณหมายถึง ... ขอโทษ
gumuruh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.