Code VBA pour mettre à jour / créer un nouveau dossier à partir d'Excel vers Access

J'ai essayé de regarder partout pour une réponse, mais mes faibles compétences en VBA est vraiment pas m'aider à comprendre ce que j'essaie de code.

J'ai ce code pour l'instant:

Sub ADOFromExcelToAccess()
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    "Data Source=\\GSS_Model_2.4.accdb;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "Forecast_T", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
For i = 4 To 16
    x = 0
    Do While Len(Range("E" & i).Offset(0, x).Formula) > 0
' repeat until first empty cell in column A
        With rs
            .AddNew ' create a new record
            .Fields("Products") = Range("C" & i).Value
            .Fields("Mapping") = Range("A1").Value
            .Fields("Region") = Range("B2").Value
            .Fields("ARPU") = Range("D" & i).Value
            .Fields("Quarter_F") = Range("E3").Offset(0, x).Value
            .Fields("Year_F") = Range("E2").Offset(0, x).Value
            .Fields("Units_F") = Range("E" & i).Offset(0, x).Value
            .Update
         ' stores the new record
    End With
    x = x + 1
    Loop
Next i
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

Ce code fait exactement ce que je veux jusqu'à présent. Je sais que souhaitez ajouter un morceau qui va vérifier si l'enregistrement existe pas basé sur 4 règles: les Produits, de la Région, Quarter_F et Year_F
Si elle correspond à ces, il devra mettre à jour les autres champs Units_F, PMU). Si non, il doit exécuter le code correctement et créer un nouvel enregistrement.

Votre aide sera très appréciée, je suis coincé ici et je ne vois pas comment en sortir.

Merci

OriginalL'auteur user2225351 | 2013-03-29