Recherche d'enregistrement dans une table access

Sly le globe trotter

XLDnaute Occasionnel
Bonjour le forum,

J'ai bien parcouru le forum, effectué plusieurs recherches mais je n'ai pas réussi à trouver une solution à mon problème...

Depuis Excel, je cherche à mettre à jour des informations dans une table Access. Il me manque une petite chose.

Les enregistrements que je dois mettre à jour sont censés exister dans la table mais au cas où il n'y serait pas, je voudrais pouvoir le détecter sans planter le programme.

VOici le bout de code que j'utilise
Code:
Dim Conn As New ADODB.Connection
Dim rsT As New ADODB.Recordset
Dim i As Byte
Dim L As Long
Dim j, Msg, NumRaq As Integer
Dim Path As String

Path = "P:\xxx"

With Conn
    .Provider = "Microsoft.JET.OLEDB.4.0"
    .Open Path & BaseMDB
End With

With rsT
    .ActiveConnection = Conn
    .Open Table1, LockType:=adLockOptimistic
End With

With Sheets("Détails")
    TabPlage1 = .Range("A6:N" & .Range("A65536").End(xlUp).Row)
End With

For L = 1 To UBound(TabPlage1)
    With rsT
        ' Recherche de l'enregistrement
        .MoveFirst
        .Find ("[Nom du champ]='" & TabPlage1(L, 1) & "'")
        .Fields("Champ 2").Value = TabPlage1(L, 2)
    End with

Si l'enregistrement existe, j'arrive à le trouver et mettre à jour. Dans le cas contraire, comment déterminer qu'il n'existe pas ???

Merci pour votre aide
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Recherche d'enregistrement dans une table access

Bonjour lacorse33,

Merci pour ton aide. Je viens de rajouter ton bout de code à la suite du mien comme ceci
Code:
    With rsT
        ' Recherche de l'enregistrement
        .MoveFirst
        .Find ("[Nom du champ]='" & TabPlage1(L, 1) & "'")
        if rsT is nothing then
            msgbox "Information non trouvée
        end if
        .Fields("Champ 2").Value = TabPlage1(L, 2)
    End with

J'ai exprès rentré une valeur de champ qui n'est pas dans la base mais je ne rentre pas dans ma condition if...
 

Sly le globe trotter

XLDnaute Occasionnel
Re : Recherche d'enregistrement dans une table access

Salut lacorse33,

Je ne sais quoi dire sinon que c'est parfait... Cela marche pour le mieux !
Sans vouloir abuser, peux tu me donner quelques détails sur la condition Err.Number stp ?

Comment celà marche ? Pourquoi n'a t'on rien besoin de déclarer ?

Merci encore !!!
 

Discussions similaires

Réponses
5
Affichages
281

Membres actuellement en ligne

Statistiques des forums

Discussions
312 963
Messages
2 093 996
Membres
105 906
dernier inscrit
aifa