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

ms-access :comment faire une requery correcte ?

Si vous savez que la requête est toujours l'ActiveDatasheet, réinterrogez-la :

  Screen.ActiveDatasheet.Requery

Si vous ne le savez pas (vous pouvez vérifier Screen.ActiveDatasheet.Name), vous pouvez l'ouvrir à nouveau (ce qui peut ou non interroger si la requête est déjà ouverte - je m'attendrais à ce que ce ne soit pas le cas, mais je peux me tromper ), puis ce sera la feuille de données active et vous pourrez la réinterroger.

Ou, vous pourriez faire :

  DoCmd.SelectObject acQuery, "NameOfYourQuery"
  Screen.ActiveDatasheet.Requery

Une ou plusieurs de ces méthodes fonctionneront sûrement.

Mais permettez-moi de souligner que ce n'est pas une bonne idée d'utiliser des tables et des requêtes comme objets d'interface utilisateur. Vous devriez plutôt créer des formulaires pour permettre aux utilisateurs d'interagir avec les données qui y sont affichées, car cela vous donne beaucoup plus de contrôle sur eux.

(une chose que beaucoup de gens ne savent pas est qu'une feuille de données est un objet de formulaire, donc les propriétés et les méthodes de Screen.ActiveDatasheet sont les mêmes que celles de n'importe quel formulaire, ce qui signifie que vous pouvez réellement attribuer des valeurs aux événements sur Screen.ActiveDatasheet objet et faites-les tirer ; mais je ne recommanderais pas cela comme la voie la plus simple pour créer une interface utilisateur ...)