Urgent: VBA access

babs -  
 Babs -
Bonjour
Je travaille sous access 2000 en VBA.
J'ai plusieurs tables commençant toutes par "T_projet_"suivi de 1, 2,... (ex: T_projet_1, T_projet_2,...).
Comment ouvrir toutes ces tables pour calculer le nombre d'enregistrements de chacune d' elles sachant que je ne connais pas leur nombre?

Merci d'avance
Babs

2 réponses

  1. DaNot Messages postés 221 Statut Membre 163
     
    Salut,

    Il suffit d'utiliser un objet de type RecordSet avec le nom de la table en paramètres.

    Une fois ouvert, le nombre d'enregistrements est lisible avec la propriété RecordCount de l'objet RecordSet.

    Ex. :

    Dim lTable As Recordset
    Set lTable = CurrentDb.OpenRecordset("T_Projet_" & lCount)
    lRecordsCount = lTable.RecordCount
    lTable.Close


    N.B. : Ne pas oublier de fermer le RecordSet...

    DaNot
    0
  2. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    on peut rajouter encore :
    n = currentdb.TableDefs.Count
    n = n - 1
    For i = 0 To n
     If left(currentdb.TableDefs(i).Name,9) = "T_projet_" then
         Set lTable = CurrentDb.OpenRecordset(currentdb.TableDefs(i).Name)
         msgbox lTable.RecordCount
         lTable.Close
     end if 
    Next
    

    Comme ça, on a les noms des tables et il suffit de faire le recordcount des tables dont le nom comment par "T_projet", pas de paramètre à rentrer.

    A+ Blux
     "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
    1. Babs
       
      J'te remercie c'est cool

      Babs
      0