Salut tout le monde,
J'aimerai faire un ajout dans une table, par des recordsets, mais je ne sais pas comment verifier si l'élément est deja present dans la table..
Est ce que quelqu'un pourrait m'aider a ce sujet ??
Merci d'avance
stan314
Salut tout le monde,
J'aimerai faire un ajout dans une table, par des recordsets, mais je ne sais pas comment verifier si l'élément est deja present dans la table..
Est ce que quelqu'un pourrait m'aider a ce sujet ??
Merci d'avance
stan314
Bonsoir,
Regarde la fonction de domaine DLookUp. Ca devrait répondre à ton pb.
pgz
Il suffit de rechercher si les éléments existent, avant de faire l'ajout.
Pour cela, faire une requete du type (avec le modèle DAO) :
sReq$="SELECT COUNT(*) AS Nombre FROM NomTable WHERE Champ1=Critere1 AND Champ2=Critère2 ..."
Set Rs = Db.OpenRecordset(sReq$, dbOpenSnapshot)
Le recordset retourné ne comporte normalement qu'un seul enregistrement. Il suffit ensuite de faire :
if Rs!Nombre > 0 then ... ' les éléments existent
Salut,
je préfère tout de même la méthode à pgz sans vouloir te froisser MGD_Software. Par contre esseye de mettre ton code dans les balisesc'est plus lisible.
Sinon pour répondre à stan314
voici un bout de code à toi de l'adapter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 If Not IsNull(DLookup("tblChamp", "tblTable", "tblChampCompare = " & MonChamp.Value)) Then MsgBox "existant" Else MsgBox "Non existant" End If
Ben moi j'ai fait la derniere methode citée, et j'ai un (leger) probleme !
Quand je fait ca :
Pas de problème !If Not IsNull(DLookup("num", "adherent", "num = " & Rst.Fields("num").Value)) Then [...]
Mais il faut que je compare les champs 'code'...
Et quand je fais ca :
J'ai le message d'erreur suivant :If Not IsNull(DLookup("num", "adherent", "code = " & Rst.Fields("code").Value)) Then [...]
sur la ligne en question...Erreur 2001 - Opération annulée
Comprends pas, pourtant les champs se nomment bien 'code', alors pourquoi avec 'num' c'est ok et avec 'code' c'est pas ok ?
P.S. : Rst est un recordset qui va chercher les infos dans une autre base de données...
Arf ca vient de me revenir...
Chr(34)...
![]()
[...] "code = " & Chr(34) & Rst.Fields("code").Value & Chr(34))) Then [...]![]()
Partager