Pomocy technicznej dla dodatku Service Pack 1 (SP1) dla systemu Windows Vista kończy się w dniu 12 lipca 2011. Aby w dalszym ciągu otrzymywać aktualizacje zabezpieczeń dla systemu Windows, upewnij się, że używasz systemu Windows Vista z dodatkiem Service Pack 2 (SP2). Aby uzyskać więcej informacji odwiedź następującą stronę firmy Microsoft w sieci Web:

W artykule 2640696 z bazy wiedzy Microsoft Knowledge Base opisano poprawkę, która rozwiązuje podobnego problemu w systemie Windows 7 z dodatkiem SP1 i Windows Server 2008 R2 z dodatkiem SP1. Aby uzyskać więcej informacji na temat KB 2640696, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

aplikacji opartych na technologii ADO, która jest kompilowana w dodatku SP1 dla systemu Windows 7 lub Windows Server 2008 R2 z dodatkiem SP1 nie działa w starszych wersjach systemu Windows

Objawy


Założono, że program Microsoft Visual Basic for Applications (VBA) makro działa poprawnie w 32-bitowej wersji aplikacji pakietu Microsoft Office. Jednak to makro VBA nie działa poprawnie w 64-bitowej wersji aplikacji pakietu Microsoft Office 2010 w 64-bitowej wersji systemu Windows.

Zazwyczaj ten problem występuje, gdy makro VBA używa niektórych Microsoft ActiveX Data Objects (ADO) interfejsów API, które są zależne od platformy. Na przykład można uruchomić makro języka VBA, który używa właściwości RecordCount obiektu zestawu rekordów ADO w sposób podobny do następującego:

Dim rs as ADODB.RecordseLONG recordCount


...
recordCount = rs.RecordCount

W tym przykładzie otrzymujesz komunikat o błędzie "Niezgodność typu" przy uruchomieniu tego makra w 64-bitowej wersji aplikacji pakietu Office 2010.

Uwagi

  • 64-bitowej wersji pakietu Office 2010 można zainstalować w następujących systemach operacyjnych:

    • 64-bitowych wersji systemu Windows Server 2003 z dodatkiem Service Pack 2, które program MSXML 6.0 jest zainstalowany

    • wersje dodatku Service Pack 1 dla systemu Windows Vista i nowszych wersjach systemu x64

    • 64-bitowe wersje systemu Windows Server 2008 i nowsze wersje

    • x64-bitowych wersjach systemu Windows 7

    • Windows Server 2008 R2

  • Aby wyświetlić listę obiektów ADO interfejsów API, które są platformą zależnych, zobacz sekcję "więcej informacji".

Przyczyna

Niektóre funkcje interfejsu API ADO są platformy zależny ADO 2.7 i jego nowsze wersje. W 64-bitowych wersjach systemu Windows argumenty przetwarzają te interfejsy API ADO przy użyciu typu danych 64-bitowych (takich jak LONGLONG typ danych). Jednak aplikacje korzystające z tych interfejsów API nadal używać typu danych LONG . Dlatego otrzymujesz komunikat o błędzie "Niezgodność typu" podczas próby uruchomienia makra.

Więcej informacji

Uwagi

  • W systemie Windows Vista, Windows Server 2008 lub w nowszych wersjach systemu Windows biblioteki typów 6.0 ADO i biblioteki typów 6,1 ADO udział samej biblioteki typów ID (identyfikator biblioteki). Visual Basic umożliwia wyświetlanie tylko jeden z tych na liście Dostępne odwołania naraz. Aby ręcznie odszukać biblioteki typów 6.0 ADO (Msado60.tlb) w tej sytuacji, przejdź do następującej lokalizacji: % program files%\common files\system\ado. Jeśli odwołanie do biblioteki typów 6.0 ADO została dodana do bieżącego projektu języka Visual Basic automatycznie wyświetla biblioteki typów 6.0 ADO na liście Dostępne odwołania.

  • Rozważmy scenariusz, w którym jesteś programistą C++ i umieścić poniższy wiersz kodu w aplikacji:


     #import msado15.dll



    Rozważmy scenariusz, że nie używasz MSJRO i ponownie skompilować aplikację w systemie Windows Vista, Windows Server 2008 lub nowszymi wersjami systemu Windows. Skompilowana aplikacja należy uruchomić w systemie Windows Vista, Windows Server 2008 lub w nowszych wersjach systemu Windows. W tym scenariuszu należy zmienić #import msado15.dll do następującego:

     #import msado60.tlb


    Rozważmy scenariusz, że używasz MSJRO i ponownie skompilować aplikację, który należy uruchomić w systemie Windows Vista, Windows Server 2008 lub nowszej wersji systemu Windows. W tym scenariuszu należy zmienić #import msado15.dll do następującego:

     #import msado28.tlb


    Rozważmy scenariusz ponownie skompilować aplikację w systemie Windows XP lub Windows Server 2003. Lub ponownej kompilacji aplikacji należy uruchomić w systemie Windows XP lub Windows Server 2003. W tym scenariuszu należy zmienić #import msado15.dll do następującego:

     #import msado28.tlb

  • Jeśli jesteś programistą C++, VB6 lub .NET i stosowane "Metoda 1" w sekcji "Obejście problemu", który został opisany w artykule z bazy wiedzy Microsoft Knowledge Base 2517589 (Ta metoda obejścia problemu został usunięty po wydaniu aktualizacji 2640696), nie trzeba zmieniać kod. Aby uzyskać więcej informacji na temat KB 2517589 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

    Aplikacja ADO nie działają w systemach operacyjnych wcześniejszych po ponownie skompilować go na komputerze z systemem Windows 7 z dodatkiem SP1 lub Windows Server 2008 R2 SP 1 lub które ma 983246 zainstalowana aktualizacja

Rozwiązanie

Aby rozwiązać ten problem, należy zainstalować 64-bitowej wersji poprawki, który odpowiada systemowi operacyjnemu na danym komputerze.






Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Zastosuj poprawkę tylko w systemach, w których występuje problem opisany w tym artykule. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, skontaktuj się z Obsługą i Wsparciem Klienta Microsoft w celu uzyskania poprawki.

Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następujące witryny firmy Microsoft:

Uwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.

Wymagania wstępne

Istnieją nie wymagań wstępnych dotyczących stosowania tej poprawki.

Informacje dotyczące rejestru

Aby użyć poprawki w tym pakiecie, nie trzeba wprowadzać żadnych zmian w rejestrze.

Wymagania dotyczące ponownego uruchomienia

Może być konieczne ponowne uruchomienie komputera po zastosowaniu tej poprawki.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje wcześniej wydanej poprawki.

Informacje o plikach

Kliknij tutaj, aby wyświetlić lub ukryć szczegółowe informacje

Wersja angielskojęzyczna (Stany Zjednoczone) lub wersja globalna tej poprawki instaluje pliki, których atrybuty wymieniono w poniższych tabelach. Daty i godziny odpowiadające tym plikom są podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Daty i godziny odpowiadające tym plikom na komputerze lokalnym są wyświetlane w formacie czasu lokalnego, wraz z Twoim bieżącym bias czasu letniego (DST). Dodatkowo, daty mogą ulec zmianie podczas wykonywania pewnych operacji na plikach.

Informacje o plikach w systemie Windows XP i Windows Server 2003

  • Oprócz plików wymienionych w poniższych tabelach ta poprawka instaluje skojarzony z nimi plik wykazu (KBnumer.cat) podpisany za pomocą podpisu cyfrowego firmy Microsoft.

Wszystkie obsługiwane wersje systemu Windows XP SP3 x86

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×