Bonjour à tous !

Mon problème est le suivant:
J'ai une première requête qui me renvoi plusieurs lignes,dont un numéro de produit .
Pour chacune de ces lignes, je dois insérer dans une table une partie de ma requête si cette table ne contient pas déja le numéro de produit et dans le cas ou elle contient déja le numéro de produit, je dois mettre à jour cette ligne.
Je ne sais pas comment faire pour tester l'éxistence de ce numéro de produit . Pour le moment, j'utilise un premier recordset rst, qui éxécute ma requête, et j'en utilise un second avec lequel je voulais tester la présence du numéro de produit dans ma table (si le select ne renvoi rien, le produit n'y est pas, sinon il y est.)
Mais lorsque le produit n'éxiste pas dans la table, j'obtiens un message d'erreur comme quoi il n'y a aucun enregistrement correspondant... et je ne sais pas comment faire pour écrire du code dans ce cas la.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
rst.Open "SELECT PUB_SOFA.ofdatdp as ofdatdp1, PUB_SOFC.proref as proref1, ...;", cn, adOpenForwardOnly, adLockReadOnly
 
    rst.MoveFirst
    While Not rst.EOF
 
        Dim rst2 As New ADODB.Recordset, fld2 As ADODB.Field
'-------------> Comment tester ?
        rst2.Open "SELECT numproduit from tabletemp where numproduit = " & rst!proref1, cn, adOpenForwardOnly, adLockReadOnly
'------------->        
 
        rst2.close        
        rst.MoveNext
 
    Wend
Je voudrais utiliser un " IF " mais je ne vois pas comment faire... je ne connais pas bien le fonctionnement des recordset.

Si vous pouvez m'aider...
Merci d'avance