Tại sao Access báo cáo nó không thể nhận lệnh cho chương trình của nó?


9

Tôi mới nâng cấp lên Windows 7 và khi cài đặt lại MS Office, tôi gặp một lỗi thú vị. Khi tôi nhấp vào cơ sở dữ liệu, tôi nhận được thông báo bật lên "Có vấn đề khi gửi lệnh đến chương trình", nhưng ứng dụng tệp vẫn sẽ khởi động và cơ sở dữ liệu phù hợp sẽ mở.

Có ai từng nhìn thấy bất cứ điều gì như thế này?

Làm thế nào tôi sẽ đi về điều tra và sau đó khắc phục vấn đề này?

Lưu ý: Tôi không sử dụng Vùng báo động. Hầu hết các tìm kiếm trực tuyến về vấn đề này trả về các trang web khác nhau và các bài viết MSKB thảo luận về các vấn đề bằng cách sử dụng Báo động khu vực

GIẢI QUYẾT: Nhờ Mihi --- Sau khi đổi tên khóa Registry từ ddexec thành NOddeexec, vấn đề đã biến mất - vẫn không chắc tại sao DDE bị hỏng, nhưng bây giờ tôi đã hoạt động đủ tốt


Bạn đang nhấp vào tập tin cơ sở dữ liệu hoặc một phím tắt đến nó?
JohnFx

Tôi đang nhấp vào tập tin cơ sở dữ liệu.

Bạn đang sử dụng bất kỳ tường lửa khác?
harrymc

Chỉ có tường lửa bao gồm Win-7 tiêu chuẩn. Ngoài ra, tệp nằm trên ổ đĩa cục bộ của tôi trong thư mục con của MyDocument

Bạn đã đăng nhập với tư cách quản trị viên? Bạn đã thử tắt UAC hoàn toàn chưa?
harrymc

Câu trả lời:


2

Có vấn đề này nhưng chỉ với các sản phẩm văn phòng cụ thể (ví dụ Excel và Word sẽ hoạt động nhưng Access sẽ thất bại với thông báo).

Đây là cách tôi khắc phục sự cố trong Windows 7 - 64 Bit (Có thể cũng sẽ hoạt động với Vista).

LƯU Ý: Giải pháp này liên quan đến việc chỉnh sửa sổ đăng ký hệ thống của bạn. Hãy cẩn thận vì chỉnh sửa registry không chính xác có thể làm hỏng hệ điều hành của bạn!

Sử dụng Registry Editor được cung cấp cùng với Windows 7 (Regedit)

  • Kiểm tra khóa mở rộng trong sổ đăng ký cho hiệp hội hiện tại
  • HKEY_CLASSES_ROOT\.mdb (Tôi đã làm việc với Office 2007 nhưng chỉ cần xác định vị trí mục mở rộng tệp mà bạn quan tâm) .
  • Kiểm tra (Default)mục nhập giá trị, sau đó tìm khóa trong HKEY_CLASSES_ROOTđó đề cập đến (trong trường hợp của tôi đây là Access.MDBFile) .
  • Xác định vị trí khóa phụ shellvà xóa nó (xem cảnh báo ở trên)
  • Quay trở lại và định vị một tệp bạn muốn mở, bây giờ bạn sẽ được yêu cầu chọn một chương trình để mở nó. Tại thời điểm này, xác định chương trình văn phòng bạn muốn sử dụng để mở tệp và thực hiện của bạn.

Kiểm tra cài đặt của tôi sau khi thực hiện việc này, nhận thấy rằng Access.MDBFilekhóa trong sổ đăng ký đã thay đổi, giờ đây nó có một CLSIDkhóa trỏ đến nhà mới của liên kết tệp.

  • Khóa phụ CLSID (trong trường hợp của tôi HKEY_CLASSES_ROOT\Access.MDBFile\CLSID, (Default)giá trị là {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}) .
  • Được sử dụng để tìm kiếm CLSID (không bao gồm dấu ngoặc nhọn) , hãy nhớ kiểm tra bên dưới Look at-> Keystrước khi thực hiện tìm kiếm (trong trường hợp của tôi tìm thấy khóa HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}nhưng điều này có thể khác, ví dụ của tôi là về hệ thống 64 bit xử lý phiên bản Office 2007 32 bit) .
  • Tham chiếu này là "Ứng dụng Microsoft Office Access" sử dụng máy chủ đang xử lý để khởi chạy ứng dụng, sử dụng phương pháp này đã cố định các liên kết tệp Access của tôi.

6

Về cơ bản, lỗi này xuất hiện nếu một loại tệp được thiết lập để sử dụng DDE (giao thức giao tiếp kiểu Windows-3.x cũ giữa các ứng dụng chạy trên cùng một máy tính) để mở tệp.

Bạn sẽ tìm thấy nó trong các loại tệp trong tùy chọn thư mục của trình thám hiểm (có thể ở một nơi khác trên Windows 7, nhưng sẽ có một nơi mà quản trị viên có thể thiết lập tệp nào sẽ mở với chương trình nào).

Khi tùy chọn "Sử dụng DDE" được chọn, trước tiên Windows sẽ kiểm tra xem chương trình có đang chạy hay không và sau đó (nếu có) gửi cho nó một tin nhắn DDE (bao gồm 3 văn bản, "Ứng dụng", "Chủ đề" và "Tin nhắn" ). Bằng cách này, nó có thể tránh mở lại chương trình ngay cả khi nó đang chạy. Khi chương trình không chạy, nó chỉ bắt đầu bình thường. Trong trường hợp kết nối DDE không thành công, hộp thoại bạn đề cập sẽ xuất hiện và nó sẽ chỉ khởi động lại chương trình một cách bình thường.

Vì vậy, cách khắc phục đơn giản nhất chỉ là vô hiệu hóa "Sử dụng DDE" cho phần mở rộng tệp của cơ sở dữ liệu của bạn (tôi đoán .mdb). Hạn chế duy nhất của điều này: Khi bạn mở cơ sở dữ liệu và Access đã chạy, Windows sẽ mở phiên bản thứ hai của Access, lần lượt sẽ thông báo lần đầu tiên và gửi tin nhắn DDE và thoát sau đó. I E. bạn không cần khởi động Access để nó có thể đóng lại cùng một lúc. Nhưng ngày nay với CPU và đĩa cứng nhanh, tôi đoán điều này có thể chấp nhận được :-)

Cách khắc phục phức tạp hơn sẽ là kiểm tra xem có lỗi gì trong các cài đặt này (như sai chủ đề hoặc sai ứng dụng) và khắc phục điều đó. Làm như vậy sẽ yêu cầu bạn có quyền truy cập vào một máy khác (có thể là ảo) nơi mở tệp hoạt động để bạn có thể so sánh cấu hình DDE.

EDIT: Theo trang web này , tab đó đã bị loại bỏ trong Vista. Bạn luôn có thể thực hiện thủ công trong sổ đăng ký: Tra cứu HKEY_CLASSES_ROOT\.mdbgiá trị mặc định của nó (giả sử là vậy mdbfile) và sau đó xem giá trị mặc định đó ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec).


Tôi có quyền truy cập vào một máy làm việc khác. Tôi sẽ tìm ở đâu để so sánh cấu hình DDE?

@Noah: Trong Windows Explorer, đi tới Công cụ -> Tùy chọn thư mục. Nhấp vào tab Loại tệp. Tìm loại tệp mdb. Chọn Nâng cao. Nhấp vào hành động "Mở" và chọn "Chỉnh sửa ...". Hãy nhớ rằng nếu bạn so sánh điều này với một máy trạm khác, thì máy trạm khác có thể đang sử dụng DDE tốt, nhưng vì máy trạm của bạn không hoạt động, hãy thử bỏ chọn và xem nó có hoạt động không (có thể sau khi khởi động lại).
Andy

Windows 7 không có tab "Tùy chọn thư mục"

Theo mydigitallife.info/2008/06/20/ Lời , tab đó đã bị hủy trong Vista. Bạn luôn có thể làm điều đó bằng tay trong registry: Tra HKEY_CLASSES_ROOT \ .mdb cho giá trị mặc định của nó (nói nó là mdbfile) và sau đó nhìn vào đó giá trị mặc định (HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec) ...
mihi

Bạn có thể thêm nhận xét cuối cùng này vào câu trả lời của bạn.

2

Đây là giải pháp tôi tìm thấy cho Access 2002. Nó sẽ tương tự cho các phiên bản khác của Access.

  1. Truy cập mở
  2. Nhấp vào Công cụ
  3. Bấm vào Tùy chọn
  4. Nhấp vào tab Nâng cao
  5. Bỏ chọn hộp bên cạnh "Bỏ qua các yêu cầu DDE"
  6. Đóng quyền truy cập

Nó làm việc cho tôi! Không còn "Có vấn đề khi gửi lệnh đến chương trình." lỗi.

Đối với các phiên bản khác nhau của Access, tùy chọn "Bỏ qua các yêu cầu DDE" có thể được nêu một chút khác nhau, nhưng bạn sẽ có thể tìm thấy thứ gì đó có thể so sánh được.

Tôi hy vọng điều này sẽ giúp những người khác có cùng vấn đề.


1

Trong thư mục văn phòng đã cài đặt. nhấp chuột phải vào excel / winword .exe và chọn thuộc tính. Chọn tab tương thích và đảm bảo "chạy chương trình này trong chế độ tương thích cho" là UNCHECKED.



1

Đây là bản sửa lỗi cho Access 2007:

  • Nhấp vào Office "Coin" ở góc trên cùng bên trái của Access.
  • Chọn "Tùy chọn truy cập"
  • Chọn tùy chọn "Nâng cao"
  • Di chuyển đến trang phục và bỏ chọn "Bỏ qua các yêu cầu DDE"

Nên mở tốt mà không phải lộn xộn với registry.


0

Có ai từng nhìn thấy bất cứ điều gì như thế này?

có lẽ, vì lỗi được ghi lại trong bài viết MSKB này . nó cũng đã được đề cập liên quan đến ZoneAlarm.


Tôi đã đọc các bài viết MSKB đó, nhưng tôi hoàn toàn không sử dụng ZoneAlarm. Đây là bản nâng cấp vanilla Win7

Tôi không có giải pháp, chỉ chỉ ra rằng lỗi này khá phổ biến. nhưng câu trả lời là mơ hồ nhất, dường như là một trong những bí ẩn cửa sổ. :)

0

Nhật ký hoạt động:

Tôi đã sử dụng Bảng điều khiển để thay đổi cài đặt Office 2007, loại bỏ Access. Sau đó, sử dụng Bảng điều khiển, tôi đã thêm quyền truy cập trở lại. Điều này không có tác dụng đối với vấn đề.

Tôi đã sử dụng Bảng điều khiển để sửa chữa cài đặt Office 2007, sau đó khởi động lại. Điều này không có tác dụng đối với vấn đề.

GHI CHÚ:

  • Khi tôi nhấp đúp chuột vào tập tin, vấn đề xảy ra. Khi tôi nhấp chuột phải, chọn OpenWith và chọn Access, vấn đề không xảy ra.
  • Vấn đề này không xảy ra với Excel

0

Tôi không chắc chắn nhưng có thể là khi truy cập tùy chọn này để nghe trên các Cuộc gọi DDE bị vô hiệu hóa. Tôi thấy tùy chọn này trong Word và excel quá nhưng không nhớ truy cập. Có lẽ vấn đề bảo mật để vô hiệu hóa tốt hơn ...


0

Tôi không sử dụng Access, nhưng gần đây tôi đã bắt đầu gặp phải vấn đề tương tự với Excel và Word (2007) trên Win7 trong khi mở tài liệu từ danh sách "Recent" trong menu Start của tôi (sử dụng mũi tên trên mục menu Word Shortcut). Giải pháp hộp kiểm DDE không áp dụng cho tôi, vì nó đã không được chọn (và không tồn tại trong Word, theo như tôi biết).

Tôi tình cờ tìm thấy một giải pháp có vẻ đã khắc phục vấn đề cho tôi: Khi tôi mở hộp thoại Thuộc tính cho lối tắt tài liệu (từ menu ngữ cảnh; xem ảnh chụp màn hình bên dưới), tôi nhận thấy rằng trường "Mở bằng" bằng cách nào đó đã được thay đổi thành một ứng dụng khác ngoài Microsoft Word. Nhấp vào nút "Thay đổi" cho phép tôi liên kết lại tệp này với "Microsoft Office Word" (mà không phải làm phiền với sổ đăng ký).

nhập mô tả hình ảnh ở đây


0

Nếu lỗi này hiển thị khi sử dụng Office với Windows 7 với tệp Access ADP, sự cố có thể là do tường lửa.

Windows XP với Access 2007 sử dụng SMB để liên lạc với Máy chủ MSSQL. Windows 7 với Access 2007 sử dụng cổng TCP (cổng SQL tiêu chuẩn) 1433 để thử truy cập MSSQL Server. Nếu bạn có Tường lửa Windows hoặc cổng tường lửa phần cứng 1433, nó sẽ thử 3 lần để tạo kết nối và khi bị lỗi lần thứ ba, nó sẽ chuyển sang SMB và hoạt động bình thường.

Mở cổng TCP 1433 trên máy chủ chạy SQL Server.

Tôi chưa tìm ra lý do tại sao Windows 7 sử dụng cổng TCP 1433 trước tiên thay vì SMB như XP và tôi không tìm ra cách thay đổi nó.


Dù sao thì mối quan hệ của mysql với ứng dụng word / excel này là gì? Tôi không hiểu ý bạn ... xin lỗi.
gumuruh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.