Urgent: VBA access

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. 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
    1. Modérateur
      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. J'te remercie c'est cool

        Babs
        0