IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

recherche dans une requete


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut recherche dans une requete
    Le tuto fait par Fabrice Constans sur un formulaire de recherche permet de créer une table qui contient le nom de toutes les tables de la base de donnée.

    http://loufab.developpez.com/recursivite/ au chapitre IX.B

    le code pour créer une table contenant l'ensemble des noms des tables est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Function lf_GetTableList()
    ' renseigne la table tbl_TemplstTbl
     
    Dim qrs As TableDefs
    Dim rst As Recordset
     
    Dim strSql As String
    Dim i As Integer, j As Integer
     
    ' efface la table temporaire
    DoCmd.SetWarnings False
    strSql = "Delete tbl_TempLstTbl.*"
    strSql = strSql + " FROM tbl_TempLstTbl;"
    DoCmd.RunSQL strSql
     
    ' rempli    la table temporaire
    Set qrs = CurrentDb.TableDefs
    Set rst = CurrentDb.OpenRecordset("tbl_TempLstTbl")
     
    For i = 0 To qrs.Count - 1
        ' ecarte les tables temp et systeme
        If Not (qrs(i).Name Like "*Temp*") And Not (qrs(i).Name Like "Msys*") And _
    	   Not (qrs(i).Name Like "*tmp*") Then
           rst.AddNew
           rst.Fields(0) = qrs(i).Name
           rst.Update
        End If
    Next
    lf_GetTableList = rst.RecordCount
     
    rst.Close
    Set rst = Nothing
    Set qrs = Nothing
    DoCmd.SetWarnings True
    End Function
    Ma question est de savoir s'il est possible d'inclure également les requêtes dans cette liste, et comment?

    D'autre part, est-il possible d'en sélectionner certaines à montrer et pas d'autres? C'est à dire que l'utilisateur n'ait pas acces à certaines tables.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Willygramme Voir le message
    Ma question est de savoir s'il est possible d'inclure également les requêtes dans cette liste, et comment?
    En principe oui. Regarde comment récupérer toutes les requêtes de la base avec For Each ... Next appliquée à query

    Citation Envoyé par Willygramme Voir le message
    D'autre part, est-il possible d'en sélectionner certaines à montrer et pas d'autres? C'est à dire que l'utilisateur n'ait pas acces à certaines tables.
    Bien sur. Tu teste le nom. Dans le tuto les table temp et systèmes sont excluent de l'afficage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    
    For i = 0 To qrs.Count - 1
        ' ecarte les tables temp et systeme
        If Not (qrs(i).Name Like "*Temp*") And Not (qrs(i).Name Like "Msys*") And _
    	   Not (qrs(i).Name Like "*tmp*") Then

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    ce n'est pas que je veux vous faire faire mon travail à ma place (car j'ai déjà cherché des heures), mais comme je suis vraiment débutant, j'ai du mal.

    J'ai déjà essayé de placer les noms des requetes voulues à la suite de la table temporaire (qui reprend les noms des tables), mais il râle car ce ne sont pas des objets de même type.

Discussions similaires

  1. recherche de la date la plus récente dans une requete
    Par isabelle b dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/05/2008, 17h30
  2. Réponses: 5
    Dernier message: 05/03/2008, 14h35
  3. limiter la recherche dans une requete
    Par adiltyane dans le forum SQL
    Réponses: 2
    Dernier message: 25/12/2007, 16h41
  4. critère de recherche paramétré dans une requete
    Par Nacera dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/05/2007, 20h40
  5. Recherche d'enregistrement dans une requête
    Par charleshbo dans le forum Access
    Réponses: 5
    Dernier message: 20/04/2006, 15h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo