Urgent: VBA access

Fermé
babs - 23 oct. 2003 à 12:03
 Babs - 23 oct. 2003 à 15:04
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

DaNot Messages postés 221 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 4 novembre 2005 163
23 oct. 2003 à 13:13
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
blux Messages postés 26539 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 20 décembre 2024 3 317
23 oct. 2003 à 14:35
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
J'te remercie c'est cool

Babs
0