2010-11-01 6 views
26

La configuration est une base de données mySQL sur un serveur distant, utilisant MS Access 2010 comme interface utilisateur frontale.Bogues dans la propriété OrderByOn dans Microsoft Access 2010

problème se produit dans les formulaires basés sur des requêtes sous-jacentes, où triées l'affichage par défaut est: Formulaires en continu

  • propriété OrderByOn est False par défaut - pas un problème.

  • L'utilisateur active la propriété OrderByOn, en utilisant un bouton qui trie à nouveau les enregistrements (OrderByOn = True) - pas de problème. L'utilisateur souhaite ensuite utiliser l'ordre de tri de la requête sous-jacente d'origine à l'aide d'un bouton qui désactive OrderByOn (OrderByOn = False). Il y a un problème. Les réquisitions ultérieures des données ne mettent pas à jour le formulaire. Il semble que la possibilité de rafraîchir les données soit désactivée, avec la fonction OrderByOn.

  • Le problème apparaît non trivial en ce que la propriété OrderByOn ne semble pas utiliser les index mySQL sous-jacents. Une pénalité de performance significative semble donc être encourue si OrderByOn ne peut être éteint, sauf en cas d'absolue nécessité.

+1

Est-ce que MySQL a des outils de trace SQL? Il serait utile de savoir ce que Jet envoie à MySQL. Peut-être pourriez-vous activer la journalisation ODBC. –

+0

Utilisez-vous des tables liées ODBC? – HK1

+1

au point de David-W-Fenton oui MySQL a un journal SQL. voir [Docs MySQL - Le journal des requêtes générales] (http://dev.mysql.com/doc/refman/5.1/fr/query-log.html) Notez la deuxième phrase * "Le serveur écrit des informations dans ce journal lorsque Les clients se connectent ou se déconnectent et enregistrent chaque instruction SQL reçue des clients. "* –

Répondre

1

J'accroché une forme continue à un carnet d'adresses dans Outlook ... joué autour de la mise en ordre par un clic droit sur les champs et choisir AZ .. Je suppose que cela a pour effet d'OrderBy et OrderByOn ...

J'ai appuyé sur CTRL-G pour obtenir la fenêtre immédiate jusqu'à ...

Entrée:

?Me![Address Book].OrderBy 

et a obtenu quelque chose comme ça en retour ...

[Public].[Address Book].[Display Name], [Public].[Address Book].[Email] 

Puis j'ai couru la commande

Me![Address Book].OrderBy = "" 

et les formes Reconvertit à leur ordre sous-jacent naturel ... pas besoin de toucher OrderByOn ... ??

Questions connexes