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

DaNot Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   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
blux Messages postés 27120 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
Babs
 
J'te remercie c'est cool

Babs
0