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 :

Docmc.GoToRecord , , acNext - Error 2105


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut Docmc.GoToRecord , , acNext - Error 2105
    Bonjour,
    J'ai un ptit problème.
    Le problème : Je saisie une information dans un formulaire. S'il y a d'autre saisie à faire dans le formulaire, je demande de passer à la ligne. Dans certain cas, ça ne fonctionne pas. c'est bizarre

    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If eco!nb >= 1 Then
    DoCmd.GoToRecord , , acNext
        eco_contribution
    Else
    Le msg d'erreur :
    Erreur d'exécution 2105
    Impossible d'atteindre l'enregistrement spécifié

    l'exécution s'arret sur DoCmd.GoToRecord , , acNext. Qd j'exécute pas à pas, ça passe sans problème
    Il faut déclarer DoCmd.GoToRecord , , acNext quelque part ?
    Auriez-vous une solution ?
    Merci,

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Par défaut
    Bonjour,

    t'es sure que il y a encore des enregistrements à faire?
    Tu peux essayer quelque chose du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If eco!nb >= 1 and eco!nb < dcount("sur la table")-1 Then
    DoCmd.GoToRecord , , acNext
        eco_contribution
    Else

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut [AC-2003] Docmc.GoToRecord , , acNext - Error 2105
    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
    Function Ajout_Article() As Boolean
    Dim RstEan As Recordset, crit_ean As String
    Set db = CurrentDb
        If cod_int <> "" Then
            If Not IsNumeric(cod_int) Then
                Call MsgBox("Vous ne pouvez saisir que des codes barres ou des codes articles dans cette zone!", vbExclamation)
     MsgBox "ajout article"
                Let cod_int = ""
     
                Let Ajout_Article = False
            Else
                Set RstEan = db.OpenRecordset("SELECT EAN_INT.cod_int, EAN_INT.cod_ean, " & _
                    "ARTICLES.lib_int, ARTICLES.cod_tva, ARTICLES.lib_nbe, ARTICLES.pri_vte_ht " & _
                    "FROM EAN_INT INNER JOIN ARTICLES ON EAN_INT.cod_int = ARTICLES.cod_int")
                If cod_int >= 10000000 Then
                    crit_ean = " [cod_ean] = " & cod_int
                Else
                    crit_ean = " [cod_int] = '" & cod_int & "'"
                End If
                RstEan.FindFirst crit_ean
                If RstEan.NoMatch Then
                    Let Ajout_Article = False
                Else
                    If cod_int >= 10000000 Then
                        Let cod_int = RstEan!cod_int
                    End If
                    Let lib_int = RstEan!lib_int
                    Let pri_vte_ht = RstEan!pri_vte_ht
                    Let Ajout_Article = True
                End If
                RstEan.Close
            End If
     
        Else
            Call MsgBox("Vous devez saisir un code barres ou un code article dans cette zone!", vbExclamation, "Article inconnu!")
            cod_int.SetFocus
            Let Ajout_Article = False
        End If
     
    'VERIFICATION D ECO CONTRIBUTION ATH
    Dim eco As Recordset
     
    code_article = cod_int
    Set eco = db.OpenRecordset("SELECT count(*) as nb FROM PLA_ARTLIE WHERE pla_artlie.int_art=" & code_article & " ")
    If eco!nb >= 1 Then
    On Error GoTo Err_cmdSuivant_Click
    DoCmd.GoToRecord , , acNext
        eco_contribution
    Err_cmdSuivant_Click:
    DoCmd.GoToRecord , , acNext
        eco_contribution
    Else
    coef = 0
    End If
     
    End Function

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut [AC-2003] Docmc.GoToRecord , , acNext - Error 2105
    Je t'ai mis la fonction compléte.

  5. #5
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    La constante acNext c'est pour aller à l'enregistrement, pourquoi n'utilisez vous pas la constante destinée à la création d'enregistrement ?

    Quant au code, il aurait besoin d'être revu. Structuré ainsi c'est à n'y rien comprendre. Utilisez les objets Querydef paramétré pour ouvrir vos recordsets, vous gagnerez en clarté. Pourquoi utilisez vous LET ?

  6. #6
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Oui, voir ci-dessous :


    Citation Envoyé par Tofalu Voir le message
    La constante acNext c'est pour aller à l'enregistrement suivant, pourquoi n'utilisez vous pas la constante destinée à la création d'enregistrement ?

    Quant au code, il aurait besoin d'être revu. Structuré ainsi c'est à n'y rien comprendre. Utilisez les objets Querydef paramétré pour ouvrir vos recordsets, vous gagnerez en clarté. Pourquoi utilisez vous LET ?

  7. #7
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut [AC-2003] Docmc.GoToRecord , , acNext - Error 2105
    Vous aurez une autre solution

Discussions similaires

  1. Error Code 2105 depuis auto install de SL5
    Par LeRoc dans le forum Silverlight
    Réponses: 2
    Dernier message: 18/05/2012, 09h36
  2. DoCmd.GoToRecord , , acNext a tester
    Par koyot3 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/07/2008, 11h09
  3. [Kylix] Kylix c++ error
    Par pacpac dans le forum EDI
    Réponses: 2
    Dernier message: 10/06/2003, 16h27
  4. [CR] Print Engine error text
    Par afaraji dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/09/2002, 15h44
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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