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 :

Message d'erreur lors de la mise à jour des table


Sujet :

VBA Access

  1. #1
    Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 86
    Points : 51
    Points
    51
    Par défaut Message d'erreur lors de la mise à jour des table
    Bonjour à tous,
    voilà, j'ai un script qui met à jour le champ de plusieurs table en même temps malheureusement depuis quelque temps il ne tourne plus bien et m'affiche ce message:
    Argument non valide
    et la partie du code en surbrillance est:

    je vous copie une partie de mon script:

    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
    'ouverture de la table Collar
    Set rs = CurrentDb.OpenRecordset("Collar")
      'ouverture de la table prefixe
     Set rs2 = CurrentDb.OpenRecordset("Prefixe")
      tt = "S" & MyPrefix & Mid(MyString, 4, 4) & Right(MyString, 1) & "TOPO M"
      tt = "S" & MyPrefix & Mid(MyString, 6, 4) & Right(MyString, 1) & "TOPO M"
    .
    .
    .
       'clé primaire
       rs.Index = "primarykey"   
    'mode édition
    rs.Edit
            'ecriture champ tt
            rs.Fields("hole_id") = tt
            'mise a jour
           rs.Update
    'ouverture de la table survey
    Set rs = CurrentDb.OpenRecordset("surveyr")
     
      'ouverture de la table prefixe
     Set rs2 = CurrentDb.OpenRecordset("Prefixe")
     
      tt = "S" & MyPrefix & Mid(MyString, 4, 4) & Right(MyString, 1) & "TOPO M"
     
      tt = "S" & MyPrefix & Mid(MyString, 6, 4) & Right(MyString, 1) & "TOPO M"
    .
    .
    .
       'clé primaire
       rs.Index = "primarykey"
     
    'mode édition
    rs.Edit
            'ecriture champ tt
     
            rs.Fields("hole_id") = tt
            'mise a jour
           rs.Update
    ce problème est-il dû à rs qui est utilisé pour la mise à jour des 2 table?

    Merci déjà.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Que contient la variable MyString ?

  3. #3
    Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2013
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 86
    Points : 51
    Points
    51
    Par défaut
    Bonjour PC75
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyString = DLookup("[holeID]", "Avancement", "[clef]=" & i)
    je te copie entièrement le script que je répète pour les autres tables. j'ai aussi la même erreur.

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Private Sub Cmd_Remplissage_Click()
        Dim db As Database 
        Dim rs1 As Recordset
        Dim rs2 As Recordset
        Dim i, a, b As Variant
        Dim MyString As Variant
        Dim MyPrefix As Variant
        Dim tt As String
     
     
        'ouverture de la table Avancement
        Set rs1 = CurrentDb.OpenRecordset("Avancement")
     
       'ouverture de la table prefixe
      Set rs2 = CurrentDb.OpenRecordset("Prefixe")
     
    'fabrication des chaines de caractère
    'mystring =extraire de la table Avancement le nom sondage ayant la clef=i
     'boucle pour ecriture
     
     a = DMin("[clef]", "Avancement")
     b = DMax("[clef]", "Avancement")
     
      For i = a To b
     
      MyString = DLookup("[holeID]", "Avancement", "[clef]=" & i)
     
      'condition d'existence
       If Mid(MyString,3,1)="_"  Then
     
      MyPrefix = DLookup("[pref_ser]", "prefixe", "[pref_org]='" & Left(MyString, 2) & "'")
     
      tt = "S" & MyPrefix & Mid(MyString, 4, 4) & Right(MyString, 1) & "AVAN.M"
     
    Else
         MyPrefix = DLookup("[pref_ser]", "prefixe", "[pref_org]='" & Left(MyString, 4) & "'")
     
      tt = "S" & MyPrefix & Mid(MyString, 6, 4) & Right(MyString, 1) & "AVAN.M"
     
     End If
     
       'clé primaire
       rs1.Index = "primarykey"
     
    'recherche dans la colonne clef un champ égal à i
    rs1.Seek "=", i
     
    'mode édition
    rs1.Edit
     
            'ecriture champ tt
     
            rs1.Fields("holeID") = tt
            'mise a jour
           rs1.Update
     
        Next i
     
    End Sub

Discussions similaires

  1. [WD14] Erreur lors d'une mise à jour de procédure stocké
    Par klbsjpolp dans le forum HyperFileSQL
    Réponses: 0
    Dernier message: 16/07/2009, 19h45
  2. [AC-2003] Message d'erreur sur une requête mise à jour
    Par souketou dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/06/2009, 10h33
  3. message d'erreur qui bloque la mise à jour
    Par silence_r dans le forum Windows XP
    Réponses: 3
    Dernier message: 19/10/2008, 12h16
  4. [1.x] [crud] erreur lors de la mise à jour d'un enregistrement
    Par Mitaka dans le forum Symfony
    Réponses: 3
    Dernier message: 13/06/2008, 12h46

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