mise à jour tables access en VBA

mise à jour tables access en VBA - VB/VBA/VBS - Programmation

Marsh Posté le 26-05-2011 à 08:43:13    

bonjour excusez moi je commence la programmation en VBA ACCESS et j'aurais besoin de votre aide également pour faire une mise à jour de la table que jai appelée "dbo_reve ident" à partir de la table "dbo_habilitation", j'ai essayer de commenter mon code un maximum...
réellement je doit comparer les identifiant dans les deux tables, si ils sont égaux je les mets a jour tt de meme dans la table "dbo_revue ident" et si il y en a qui ne sont pas presents dans la table "dbo_revue ident" je les ajoute... merci d'avance !!!  
 
 
 
Function compte()
 
Dim enr1 As Recordset
Dim enr2 As Recordset
 
'valeur de ident dans la table dbo_revue ident
Dim var1 As String
'valeur de Ident_FT Bénéficiaire dans la table dbo_Habilitation
Dim var2 As String
'variables des compteurs permettant de connaitre le nombre de clients a mettre a jour ou a ajouter
Dim compteur_ident_a_mettre_a_jour As Long
Dim compteur_ident_a_ajouter As Long
 
'initialisation des compteurs
compteur_ident_a_mettre_a_jour = 0
compteur_ident_a_ajouter = 0
 
'recordset table debo_revue ident
Set enr1 = CurrentDb.OpenRecordset("dbo_revue ident" )
'recorset table dbo_Habilitation
Set enr2 = CurrentDb.OpenRecordset("dbo_Habilitation" )
 
'enr1 sur la colonne ident
var1 = enr1.Fields("ident" )
'enr2 sur la colonne Ident_FT Bénéficiaire
var2 = enr2.Fields("Ident_FT Bénéficiaire" )
 
'on place enr1 sur la première cellule de la colonne ident
enr1.MoveFirst
 
'tant que la colonne ident de la table dbo_revue ident na pas été entièrement balayer, faire
Do Until enr1.EOF
 
    'var1 recoit la valeur de la cellule ou se trouve le recordset
    var1 = enr1.Fields("ident" )
    'passage à la cellule suivante dans dbo_revue ident
    enr1.MoveNext
     
                'on place enr2 sur la première cellule de la colonne ident
                enr2.MoveFirst
                'tant que la colonne Ident_FT Bénéficiaire de la table dbo_Habilitation na pas été entièrement balayer, faire
                Do Until enr2.EOF
 
                    'var2 recoit la valeur de la cellule ou se trouve le recordset
                    var2 = enr2.Fields("Ident_FT Bénéficiaire" )
                    'passage à la cellule suivante dans dbo_habilitation
                    enr2.MoveNext
                     
 
                        'si la valeur ident de dbo_revue ident est egale a la valeur Ident_FT Bénéficiaire de dbo_habilitation, alors
                        If (var1 = var2) Then
                         
                        'on incrémente le compte ident a mettre a jour
                        compteur_ident_a_mettre_a_jour = compteur_ident_a_mettre_a_jour + 1
                         
                        'mise a jour de l'ident
                         
                         
                         
                        Else
                        'on incrémente le compteur ident a ajouter
                        compteur_ident_a_ajouter = compteur_ident_a_ajouter + 1
                         
                        'ajout de l'ident manquant à dbo_revue ident
                         
                        End If
 
                Loop
Loop
 
MsgBox " le nombre d'identifiant mis à jour est :" & compteur_ident_a_mettre_a_jour  
MsgBox "le nombre d'identifiant ajouter est :" & compteur_ident_a_ajouter
 
End Function

Reply

Marsh Posté le 26-05-2011 à 08:43:13   

Reply

Marsh Posté le 26-05-2011 à 10:26:54    

Quelle est la question ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed