IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Problème de mise à jour de table par vba


Sujet :

VBA Access

  1. #1
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 312
    Points : 139
    Points
    139
    Par défaut Problème de mise à jour de table par vba
    Bonjour,

    J'ai fait ce code pour un test sur une "zone de texte" que je découpe (split) et pour laquelle je ventile le résultat dans la table Tcassation2 pour un enregistrement spécifique (en fait on le trouve par un N° dans la zone de texte) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
        Dim Tableau() As String
        Dim i As Integer
     
       DoCmd.SetWarnings (False)
     
        If Texte0 Like "*2°*" Then
        'l'abstract contient plusieurs sous-parties
                Tableau = Split(Me.Texte0, Chr(13))
     
                'boucle sur le tableau pour visualiser le résultat
                For i = 0 To UBound(Tableau)
     
                                If Tableau(i) Like "*N°*" Then
                                Dim sql, sql2 As String
                                '            sql = "update tcassation2 set [url] ='" & Me.txturl & "' where len([url])<1"
     
                                sql = "update tcassation2 set [abs0] ='" & Tableau(i) & "' where [id] = 'c" & Right(Left(Tableau(i), 6), 3) & "' "
                                DoCmd.RunSQL sql
                                MsgBox "le 1er que je trouve i c'est :" & i & " " & Tableau(i)
                                Else
                                If Not Tableau(i) Like "*N°*" Then
                                sql2 = "update tcassation2 set [abs" & i & "] ='" & Tableau(i) & "' where [id] = 'c" & Right(Left(Tableau(0), 6), 3) & "' "
                                DoCmd.RunSQL sql2
                                End If
                                End If
     
                Next i
        Else
                'le résultat de la fonction Split est stocké dans un tableau
                Tableau = Split(Me.Texte0, Chr(13))
     
                'boucle sur le tableau pour visualiser le résultat
                For i = 0 To UBound(Tableau)
     
                                If Tableau(i) Like "*N°*" Then
                                Dim sql3, sql4 As String
                                '            sql = "update tcassation2 set [url] ='" & Me.txturl & "' where len([url])<1"
     
                                sql3 = "update tcassation2 set [abs0] ='" & Tableau(i) & "' where [id] = 'c" & Right(Left(Tableau(i), 6), 3) & "' "
                                DoCmd.RunSQL sql3
                                Else
                                If Not Tableau(i) Like "*N°*" Then
                                MsgBox i & " " & Tableau(i)
                                sql4 = "update tcassation2 set [abs1] ='" & Tableau(i) & "' where [id] = 'c" & Right(Left(Tableau(i - 1), 6), 3) & "' "
                                DoCmd.RunSQL sql4
                                End If
                                End If
     
                Next i
        End If
    J'aimerai, en fait, parcourir ma table tcassation2 en remplaçant la zone de texte désignée "texte0" par un champ de ma table qui est "abstract".

    L'idée :

    On parcourt le premier enregistrement sur le champ "abstract" et on effectue la mise à Jour en fonction des critères ci-dessus appliqués au champ "abstract", puis on passe à l'enregistrement suivant et ainsi de suite ...

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Difficile de matérialiser le traitement à réaliser à la seule lecture du Code.
    Pourrais-tu mettre ta base en pièce jointe afin de travailler sur du concret.
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

Discussions similaires

  1. mise à jour de table par un trigger
    Par smaugy dans le forum Développement
    Réponses: 2
    Dernier message: 31/05/2011, 10h08
  2. Réponses: 1
    Dernier message: 08/07/2009, 11h52
  3. problème de mise à jour des tables (10g)
    Par bad lieutenant dans le forum Administration
    Réponses: 7
    Dernier message: 26/04/2007, 17h21
  4. [VBA]Mise à jour de lien par vba problème
    Par srame dans le forum Général VBA
    Réponses: 19
    Dernier message: 20/04/2007, 15h54
  5. problème de mise à jour de table
    Par captainamerica75 dans le forum Access
    Réponses: 5
    Dernier message: 04/07/2006, 22h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo