Bonjour,

Je voudrais factoriser une fonction qui fait une recherche sur deux tables SQL, chacune sur un base de données différentes (mais les structures des bases et tables sontidentique), voici une partie du code :

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
Public Function SelectUpdate(MaTable As String) As Boolean
 
{...}
Set RecOld = BDDStart.OpenRecordset(MaTable)
RecOld.Index = "PrimaryKey"
Set RecNew = BDDFin.OpenRecordset(MaTable)
RecNew.Index = "PrimaryKey"
 
Do While Not RecOld.EOF
   RecNew.MoveFirst
   RecNew.Seek "=", RecOld![CodeProduit] ' A REMPLACER
 
   If RecNew.NoMatch Then
{...}
Loop
End Function
[CodeProduit] est la clé primaire d'une des tables, je voudrais la remplacer par la valeur de l'index/clé primaire de façon à pouvoir l'utiliser sur d'autres tables dont la clé primaire ne s'appelle pas CodeProduit.
De plus, je dois prendre en compte que la clé primaire n'est pas forcément la première colonne de la table, je ne peux donc pas faire .Fields(0) (à moins que l'on puisse déplacer la colonne dans le recordset sans toucher à la structure de la table).

Est ce que factoriser ma fonction est possible? comment le faire?
Merci d'avance.