Insertion données vba -- ado

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 058 fois - Téléchargée 29 fois

Contenu du snippet

Cette procédure créée dans un module sous access permet d'insérer des données dans une table liées d'Oracle. (Veillez à avoir les droits nécessaire à l'écriture).
Ce code permet de transférer les compétences du métiers. Le métier à plusieurs postes et je dois insérer à chaque poste du métiers les compétences.
Mon recordset sélectionne les postes du métiers.
Je fais une boucle sur chaque poste et j'insére dans la table correspondante les données.

Source / Exemple :


Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB.Recordset
Dim strMetier As String '--> Recherche d'un métier
Dim strPoste As String '--> Le poste
'Création de la connection à la base locale courante
Set cnn = CurrentProject.Connection
strMetier = InputBox("Saisir le métier ?", "NetJoao")
Debug.Print "Métier : " & strMetier
'Récupération des postes en fonction du métiers
rst.Open "SELECT POSTE FROM PANDORE_POSTE WHERE METIER=UCASE('" & strMetier & "')", cnn, adOpenKeyset
'Création de command
With cmd
    .ActiveConnection = cnn
    'Boucle sur les postes
    Do Until rst.EOF
        .CommandText = "INSERT INTO PANDORE_POSTCOMP([POSTE],[COMPET],[ORIGINE],[ACTION],[REMNIV],[NOTE]) " & _
                        "SELECT '" & rst.Fields(0) & "',[COMPET],'M','C',[REMNIV], [NOTE] " & _
                        "FROM PANDORE_METCOMP " & _
                        "WHERE METIER=UCASE('" & strMetier & "')"
        .CommandType = adCmdText
        .Execute
        Debug.Print "Poste : " & strPoste
        rst.MoveNext
    Loop
End With
rst.Close
Set cmd = Nothing
Set cnn = Nothing
End Sub

A voir également

Ajouter un commentaire Commentaires
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Yep, c'est plutôt de l'ODBC.
Messages postés
53
Date d'inscription
dimanche 29 mai 2005
Statut
Membre
Dernière intervention
16 octobre 2006

Oracle permet d'attaquer directement ses tables via ses propres manières d'accès. Ici ton code montre plutot un accès ODBC. Dommage.
Messages postés
55
Date d'inscription
vendredi 20 octobre 2000
Statut
Membre
Dernière intervention
13 octobre 2008

c'est dommage que ton code ne montre pas comment tu te connecte à la base oracle

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.