Access neden programına komut alamadığını bildiriyor?


9

Sadece Windows 7'ye yükselttim ve MS Officeimi yeniden yükledikten sonra ilginç bir hata var. Bir veritabanına tıkladığımda, "Programa komut gönderilirken bir sorun oluştu" şeklinde bir açılır pencere iletisi alıyorum, ancak dosya uygulaması hala başlayacak ve uygun veritabanı açılacaktır.

Daha önce böyle bir şey gören oldu mu?

Bu sorunu araştırıp sonra nasıl giderebilirim?

Not: Zone-Alarm kullanmıyorum. Bu sorunla ilgili çoğu çevrimiçi arama, Zone-Alarm kullanarak sorunları tartışan çeşitli siteleri ve MSKB makalelerini döndürür

ÇÖZÜLDÜ: Mihi sayesinde --- Kayıt defteri anahtarını ddexec'ten NOddeexec'e yeniden adlandırdıktan sonra sorun ortadan kalktı - hala DDE'nin neden kırıldığından emin değilim, ama şimdi benim için yeterince iyi çalışıyor


Veritabanı dosyasının kendisine mi yoksa kısayoluna mı tıklıyorsunuz?
JohnFx

Ben veritabanı dosyasını tıklıyorum.
Noah

Başka bir güvenlik duvarı kullanıyor musunuz?
harrymc

Yalnızca standart Win-7 güvenlik duvarı içeriyordu. Ayrıca, dosya yerel sürücümde MyDocuments'in bir alt dizininde
Noah

Yönetici olarak giriş yaptınız mı? UAC'yi tamamen kapatmaya çalıştınız mı?
harrymc

Yanıtlar:


2

Bu sorun vardı, ancak yalnızca belirli ofis ürünleriyle (yani Excel ve Word işe yarayacaktı, ancak Access iletiyle başarısız olacaktı).

Windows 7 - 64 Bit'te sorunu nasıl çözdüm (Muhtemelen Vista için de çalışır).

NOT: Bu çözüm sistem kayıt defterinizi düzenlemeyi içerir. Lütfen kayıt defterinin hatalı düzenlenmesi işletim sisteminizi bozabileceğinden emin olun!

Windows 7 (Regedit) ile sağlanan Kayıt Defteri Düzenleyicisi'ni kullanma

  • Geçerli ilişkilendirme için kayıt defterindeki uzantı anahtarını denetleme
  • HKEY_CLASSES_ROOT\.mdb (Office 2007 ile uğraşıyordum, ancak ilgilendiğiniz dosya uzantısı girdisini bulun) .
  • (Default)Değer girişini kontrol edin , sonra HKEY_CLASSES_ROOTatıfta bulunduğu anahtarı bulun (benim durumumda bu Access.MDBFile) .
  • Alt anahtarı bulun shellve silin (yukarıdaki uyarıya bakın)
  • Geri dönüp açmak istediğiniz bir dosyayı bulun, şimdi açmak için bir program seçmeniz istenecektir. Bu noktada, dosyayı açmak için kullanmak istediğiniz ofis programını bulun ve işinizi tamamlayın.

Bunu yaptıktan sonra ayarlarımı kontrol etmek Access.MDBFile, kayıt defterindeki anahtarın değiştiğini fark etti, şimdi CLSIDdosya ilişkilendirmesinin yeni evine işaret eden bir anahtar vardı .

  • Alt anahtar CLSID (benim durumumda HKEY_CLASSES_ROOT\Access.MDBFile\CLSID, (Default)değer {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}) .
  • Aramak için find kullanılır CLSID (hariç süslü parantez) , altında kontrol etmeyi unutmayın Look at-> Keysarama yaptıktan önce (benim durumumda anahtarı bulunamadı HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}ama bu farklı olabilir, benim örnek Office 2007 32 bit sürümünü ele 64 Bit sistemler) .
  • Bu başvuru, uygulamayı başlatmak için bir In-process sunucusu kullanan "Microsoft Office Access Application" a yöneliktir, bu yöntemi kullanarak Access dosya ilişkilendirmelerim düzeltildi.

6

Temel olarak, bir dosya türü bir dosyayı açmak için DDE'yi (aynı bilgisayarda çalışan uygulamalar arasında eski bir Windows-3.x stili iletişim protokolü) kullanmak üzere ayarlanmışsa bu hata görüntülenir.

Explorer'ın klasör seçeneklerindeki dosya türlerinde bulabilirsiniz (belki Windows 7'de başka bir yerde, ancak bir yöneticinin hangi programları hangi programlarla açacağını ayarlayabileceği bir yer olacaktır).

Bu "DDE Kullan" seçeneği işaretlendiğinde, Windows önce programın zaten çalışıp çalışmadığını kontrol eder ve sonra (varsa) bir DDE mesajı gönderir (3 metin, "Uygulama", "Konu" ve "Mesaj" ). Bu şekilde, zaten çalışıyor olsa bile programı tekrar açmayı önleyebilir. Program çalışmadığında, normal şekilde başlatılır. DDE bağlantısının başarısız olması durumunda, bahsettiğiniz iletişim kutusu görünecek ve programı normal şekilde yeniden başlatacaktır.

Bu nedenle, en kolay düzeltme sadece veritabanınızın dosya uzantısı için "DDE Kullan" ı devre dışı bırakmaktır (sanırım .mdb). Bunun tek dezavantajı: Bir veritabanını açtığınızda ve Access zaten çalışıyorsa, Windows Access'in ikinci bir örneğini açar ve bu da ilkini fark eder ve DDE mesajını gönderir ve bundan sonra çıkar. I. e. Access'i aynı anda tekrar kapatabilmek için gereksiz yere başlatıyorsunuz. Ancak günümüzde hızlı CPU'lar ve sabit disklerle, sanırım bu kabul edilebilir :-)

Daha karmaşık düzeltme, bu ayarlarda bir şeyin yanlış olup olmadığını kontrol etmek (yanlış konu veya yanlış uygulama gibi) ve bunu düzeltmek olacaktır. Bunu yapmak, dosyaları açmanın çalıştığı başka bir (belki de sanal) makineye erişmenizi gerektirir, böylece DDE yapılandırmasını karşılaştırabilirsiniz.

EDIT: Bu web sitesine göre , bu sekme Vista'da bırakıldı. Bunu her zaman kayıt defterinde manuel olarak yapabilirsiniz: HKEY_CLASSES_ROOT\.mdbVarsayılan değerini arayın (diyelim mdbfile) ve sonra bu varsayılan değere ( HKEY_CLASSES_ROOT\mdbfile\shell\open\ddeexec) bakın.


Başka bir çalışan makineye erişimim var. DDE yapılandırmasını nerede karşılaştırırım?
Noah

@Noah: Windows Gezgini'nde Araçlar -> Klasör Seçenekleri'ne gidin. Dosya Türleri sekmesini tıklayın. Mdb dosya türünü bulun. Gelişmiş'i seçin. "Aç" işlemini tıklayın ve "Düzenle ..." yi seçin. Bunu başka bir iş istasyonuyla karşılaştırıyorsanız, diğer iş istasyonunun DDE'yi iyi kullanabileceğini unutmayın, ancak iş istasyonunuz olmadığından, işaretini kaldırmayı ve bunun işe yarayıp yaramadığını (muhtemelen yeniden başlattıktan sonra) görmeyi deneyin.
Andy

Windows 7'de "Klasör Seçenekleri" sekmesi yok
Noah

Mydigitallife.info/2008/06/20/… 'a göre , bu sekme Vista'da bırakıldı. Bunu her zaman kayıt defterinde manuel olarak yapabilirsiniz: Varsayılan değeri için HKEY_CLASSES_ROOT \ .mdb dosyasına bakın (mdbfile olduğunu söyleyin) ve sonra bu varsayılan değere bakın (HKEY_CLASSES_ROOT \ mdbfile \ shell \ open \ ddeexec) ...
mihi

Bu son yorumu cevabınıza ekleyebilir misiniz?
Noah

2

Access 2002 için bulduğum çözüm. Access'in diğer sürümleri için de benzer olacaktır.

  1. Açık Erişim
  2. Araçlar'ı tıklayın
  3. Seçenekler'e tıklayın
  4. Gelişmiş Sekmesine tıklayın
  5. "DDE isteklerini yoksay" seçeneğinin yanındaki kutunun işaretini kaldırın
  6. Yakın Erişim

Benim için çalıştı! Artık "Komutu programa gönderirken bir sorun oluştu." hata.

Access'in farklı sürümleri için "DDE isteklerini yoksay" seçeneği biraz farklı belirtilebilir, ancak uygun bir şey bulabilmeniz gerekir.

Umarım bu aynı sorunu yaşayanlara yardımcı olur.


1

Yüklü ofis klasöründe. excel / winword .exe dosyasına sağ tıklayın ve özellikleri seçin. Uyumluluk sekmesini seçin ve "bu programı uyumluluk modunda çalıştır" ın KONTROL EDİLMEDİĞİNDEN emin olun.



1

Access 2007 için düzeltme:

  • Access'in sol üst köşesindeki Office "Para" yı tıklayın.
  • "Erişim Seçenekleri" ni seçin
  • "Gelişmiş" seçeneğini seçin
  • Bottona gidin ve "DDE İsteklerini Yoksay" seçeneğinin işaretini kaldırın

Kayıt defteri ile uğraşmak zorunda kalmadan iyi açmalısınız.


0

Daha önce böyle bir şey gören oldu mu?

büyük olasılıkla, hata bu MSKB makalesinde belgelendiği için . ZoneAlarm ile bağlantılı olarak da bahsedilmiştir.


Bu MSKB makalelerini okudum, ama ZoneAlarm'ı hiç kullanmıyorum. Bu bir vanilya Win7 yükseltmesi
Noah

bir çözümüm yok, sadece bu hatanın oldukça yaygın olduğunu gösteriyor. ama cevaplar en iyi ihtimalle belirsizdir, bu pencere gizemlerinden biri gibi görünmektedir. :)

0

Faaliyetlerin kaydı:

Denetim Masası'nı kullanarak Office 2007 yüklemesini değiştirmek için Access'i kaldırdım. Sonra Denetim Masası'nı kullanarak Access'i geri ekledim. Bunun sorun üzerinde bir etkisi yoktu.

Office 2007 yüklemesini onarmak için Denetim Masası'nı kullandım, sonra yeniden başlattım. Bunun sorun üzerinde bir etkisi yoktu.

NOT:

  • Dosyayı çift tıklattığımda sorun oluşuyor. Sağ tıkladığımda OpenWith'i ve Access'i seçtiğimde sorun oluşmuyor.
  • Excel'de bu sorun oluşmaz

0

Ben emin değilim ama erişimde bu seçenek DDE-Çağrıları duymak devre dışı olabilir. Word'de bu seçeneği gördüm ve excel de ama erişim hatırlamıyorum. Belki bunu daha iyi devre dışı bırakmak için bir güvenlik sorunu ...


0

Access kullanmıyorum, ancak son zamanlarda Başlat menüsündeki "Son" listesinden (Word Kısayolu menü öğesindeki oku kullanarak) belgeleri açarken Excel ve Word (2007) ile aynı sorunla karşılaşmaya başladım. DDE onay kutusu çözümü zaten işaretli olmadığı için (ve bildiğim kadarıyla Word'de mevcut değil) benim için geçerli değildi.

Sorunu benim için düzeltmiş gibi görünen bir çözüme rastladım: Belge kısayolu için Özellikler iletişim kutusunu açtığımda (bağlam menüsünden; aşağıdaki ekran görüntüsüne bakın), "Birlikte Aç" alanının bir şekilde değiştirildiğini fark ettim Microsoft Word dışında başka bir uygulama. "Değiştir" düğmesini tıklatmak, bu dosyayı "Microsoft Office Word" ile yeniden ilişkilendirebilmemi sağladı (kayıt defteri ile uğraşmak zorunda kalmadan).

resim açıklamasını buraya girin


0

Windows 7 ile bir Access ADP dosyasıyla Office kullanılırken bu hata görünüyorsa, sorun bir güvenlik duvarından kaynaklanıyor olabilir.

Access 2007 yüklü Windows XP, MSSQL Sunucusu ile iletişim kurmak için SMB kullanır. Access 2007 yüklü Windows 7, MSSQL Sunucusuna ulaşmak için TCP (standart SQL bağlantı noktası) bağlantı noktası 1433'ü kullanır. Windows Güvenlik Duvarı veya bir donanım güvenlik duvarı engelleme bağlantı noktası 1433 varsa, bağlantı kurmaya 3 kez çalışır ve üçüncü kez başarısız olduğunda SMB'ye geçer ve normal çalışır.

SQL Server çalıştıran sunucuda 1433 numaralı TCP bağlantı noktasını açın.

Windows 7'nin neden XP gibi SMB yerine ilk olarak 1433 numaralı TCP bağlantı noktasını kullandığını ve nasıl değiştireceğini bulamadım.


Yine de bu kelime / excel uygulaması ile mysql arasındaki ilişki nedir? Ne demek istediğini anlamadım ... üzgünüm.
Gumuruh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.