2010-11-24 28 views
0

Salut premier message et espérons que quelqu'un peut aider car il provoque la perte de cheveux.VBA dans Excel 2007/2010 GUI caché Query Refresh

Je conçois des interfaces graphiques en utilisant Excel et Access. 2003 je n'ai jamais eu de problème mais depuis la mise à jour 2007/2010 j'ai un problème avec une chose simplement simple.

En 2003, je me rafraîchir une requête sur une très feuille cachée en utilisant

Sheet2.Range("a1").QueryTable.Refresh BackgroundQuery:=False 

en 2007/2010 je ne peux pas le faire. Il fonctionne si je couper et coller la requête au large des feuilles en 2003 2007/2010 parfaitement, mais pas si elle est une requête i construit en 2007/2010.

L'enregistreur recrache

Range("Table_Query_from_MS_Access_Database_1[[#Headers],[Trans_ID]]").Select 
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False 

qui la page doit être sélectionné en premier pour exécuter

donc logiquement i ai essayé

Sheet2.Range("a1").Select 
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False 

qui sélectionne la position de la première requête de nouveau ne fonctionnera pas elle ne parvient pas à la Sheet2.Range (« a1 ») partie .select

Alors je logiquement essayé

Sheet2.Range("a1").Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False 

encore une fois ce travail ne marche pas

Sheet2.Range("Table_Query_from_MS_Access_Database_1[[#Headers],Trans_ID]]") _ 
     .Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False 

Ce travail ne marche pas aussi

Tout ce que je veux faire est de rafraîchir une requête sur un très caché sheet

Utilisation de screen.update = false puis affichage de la mise à jour de l'écran de masquage de macro = true n'est pas vraiment idéal car je veux empêcher l'utilisateur final d'accéder à cette requête car il fait partie d'un système de connexion dans Excel je ne peux pas trouver un moyen d'actualiser la requête sur la feuille cachée qui était une tâche simple en 2003 .

S'il vous plaît aider ma perte de cheveux

Merci

Richard

Répondre

2

Select ne fonctionne pas sur une feuille très cachée. Essayez sans sélection -
Sheet2.Range ("A1") ListObject.QueryTable.Refresh BackgroundQuery: = False

+0

: O cela fonctionne cachée:() Il fonctionne très caché Merci beaucoup !!!!. ça m'a donné des bois fous pour les arbres je pourrais dormir un peu ce soir alors que j'essayais tout pour essayer de créer une interface graphique plus transparente dans Excel 2007 commençait à penser que M $ allait commencer à forcer ppl à utiliser les tables pivotantes , maintenant je peux juste utiliser mon sumproduct de fav (- ((manière sommaire pour mes rapports d'interface graphique que je signifie vraiment cela merci :) –