Access
 sql >> Base de données >  >> RDS >> Access

RÉSOLU :Microsoft Office 365 version 2009 peut casser votre application de base de données

Microsoft Office 365 version 2009 peut casser votre application de base de données

Microsoft a signalé qu'il avait désactivé la fonctionnalité, ce qui devrait alors éviter d'avoir à annuler la version. La nouvelle fonctionnalité sera disponible dans la version 2010, prévue pour fin octobre 2020. En attendant, elle sera désactivée, et le restera jusque-là. Il ne devrait pas être nécessaire de passer à une version différente, la version 2009 ne devrait plus être liée à datetime2 en tant que date/heure prolongée. Si vous avez été impacté, essayez de redémarrer votre Access et vérifiez que vous êtes à jour avec vos mises à jour Office et reconnectez les tables. Il devrait alors être corrigé.

Lorsque la fonctionnalité est activée dans la version 2010, elle n'affectera pas le comportement des bases de données existantes, sauf si vous ajoutez explicitement une colonne Date/Heure étendue à une table locale, ou accédez à Outils/Options/Base de données actuelle et cochez la case « Date de prise en charge /Time Extended (DateTime2) Type de données pour les tables liées/importées ».

Dans l'un ou l'autre de ces cas, vous recevrez un avertissement indiquant que cela mettra à jour la version de la base de données pour gérer le nouveau type. Vous pouvez également ajouter des colonnes Date/Heure étendues locales, mais laissez l'option décochée si vous souhaitez continuer à lier SQL datetime2 en tant que Date/Heure.

Lors de la liaison à une table distante, si l'option n'est pas cochée, datetime2(0) et datetime2(7) seront toutes deux liées en tant que Date/Heure, et si l'option est définie, elles seront toutes deux liées en tant que Date/Heure étendue.

Pour une note historique, le message original ci-dessous sera laissé. Cependant, pour souligner, vous n'avez pas besoin d'effectuer de restauration. Si vous avez des problèmes ou des questions, faites-le nous savoir !

Rapport d'origine

Dans la version 2009, Microsoft a introduit un nouveau type de données, Date/Heure étendue, qui offrirait une plus grande compatibilité avec le type de données datetime2 de SQL Server.

Malheureusement, la mise à niveau vers la version 2009 signifie que si vous avez une application Access qui se lie à la base de données SQL Server et que l'une des tables liées a un champ datetime2, la prochaine fois que vous reconnecterez à la table, le type de données passera de "Date /Time" à "Date/Time Extended" qui peut alors casser le code existant qui s'attend à ce qu'il fonctionne avec le type de données Date de VBA et le type de données Date/Heure d'origine d'Access. VBA n'a aucun moyen de représenter le nouveau type de données "Date/Heure étendue" d'Access, sauf sous forme de chaîne.

Pour éviter ces problèmes :

1) Vérifiez que vous n'êtes pas sur la chaîne actuelle. Nous vous recommandons d'être sur le canal semi-annuel.
2) Si vous êtes sur le canal actuel, vérifiez si vous êtes sur la version 2008 ou antérieure. Si c'est le cas, désactivez vos mises à jour Office pour éviter la mise à jour vers la build 2009.
3) Si vous êtes sur Current et build 2009, vous pouvez revenir à 2008 en exécutant l'invite de commande en tant qu'administrateur :


cd %programfiles%\Common Files\Microsoft Shared\ClickToRun
officec2rclient.exe /update user updatetoversion=16.0.13127.20508

Pour vérifier votre version actuelle :

Comme alternative à la désactivation des mises à jour, nous vous recommandons de changer votre canal de "Mensuel" à "Semi-annuel", ce qui signifie que vous n'obtiendrez pas les mises à jour boguées dès et espérons que Microsoft l'aura corrigé avant qu'il ne bascule dans l'autre canaux.

Changer de canal Office 365

Pour changer de chaîne, c'est censé fonctionner mais lors de mes tests, cela n'a pas fonctionné :

cd %programfiles%\Common Files\Microsoft Shared\ClickToRun
OfficeC2RClient.exe /changesetting Channel=SemiAnnual
OfficeC2RClient.exe /update user

Si cela n'a pas fonctionné pour vous non plus, une autre méthode consiste à utiliser l'outil Déploiement d'Office avec un fichier XML.

1. Téléchargez l'outil à partir d'ici.
2. Exécutez l'exe téléchargé et choisissez un dossier pour extraire le contenu. Par exemple, créez un dossier "C:\OfficeDeployment" et ciblez-le.
3. Créez un nouveau fichier texte et copiez le contenu ci-dessous :

<Configuration>
  <Add OfficeClientEdition="64" Channel="SemiAnnual">
    <Product ID="O365ProPlusRetail" >
      <Language ID="en-us" />
    </Product>
  </Add>
</Configuration>

4. Enregistrez le fichier texte sous "C:\OfficeDeployment\config.xml"
5. Ouvrez une invite de commande en tant qu'administrateur
6. Exécutez les commandes :

cd C:\OfficeDeployment
setup.exe /configure config.xml

Vous devriez voir une boîte de dialogue indiquant qu'il installe Office. Attendez plusieurs minutes que l'installation se termine, puis vérifiez que votre chaîne a changé.

Nous sommes en contact avec Microsoft et vous tiendrons au courant.