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

IHM Discussion :

Incrémentation dans sous-formulaire [AC-2007]


Sujet :

IHM

  1. #1
    Invité
    Invité(e)
    Par défaut Incrémentation dans sous-formulaire
    Bonjour à tous.
    J'ai depuis deux jours un problème que je n'arrive pas à résoudre.
    J'ai un formulaire avec un sous formulaire SForm dont la source change en fonction de différents boutons.
    Par exemple sur le Bouton Cmd1 j'aurai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Cmd1_Click()
    On Error GoTo Err_Commande
    Dim stDocName As String
    stDocName = "Frm_XXX"
     Form_Frm_Prncipal.SForm.SourceObject = stDocName
    Exit_Cmd1_Click:
        Exit Sub
    Err_Commande:
        MsgBox err.Description
        Resume Exit_Cmd1_Click
     
    End Sub
    J'ai donc bien l'affichage de mon formulaire.
    Maintenant je veux que ce formulaire s'ouvre sur un nouvel enregistrement.
    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
    Private Sub Cmd1_Click()
    On Error GoTo Err_Commande
    Dim stDocName As String
    stDocName = "Frm_XXX"
    With Form_Frm_Principal.SForm 
    .SourceObject = stDocName
    .SForm.Form.Recordset.AddNew
    End With
     
    Exit_Cmd1_Click:
        Exit Sub
    Err_Commande:
        MsgBox err.Description
        Resume Exit_Cmd1_Click
     
    End Sub
    Cela m'ajoute bien un enregistrement. Mon problème est que mon incrémentation automatique augmente de 2 au lieu de 1.
    Je passe donc d'un N° 450 à 452 à 454 etc....Et je n'ai dans la table aucun enregistrement entre les deux. Comme si l'enregistrement avait été créé puis supprimé.

    J'ai essayé de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form_Frm_Principal.SForm.Form.Recordset.AddNew
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord , stDocName, acNewRec
    . Ca me dit que l'objet n'est pas ouvert, alors que je le vois.

    Merci donc à ceux qui pourraient me donner une piste. J'ai manifestement une erreur de conception. C'est peut-être tout bête, mais je ne vois pas.

  2. #2
    Invité
    Invité(e)
    Par défaut
    C'est effectivement tout bête.
    IL faut mettre le Focus sur le sous-formulaire
    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
    Private Sub Cmd1_Click()
    On Error GoTo Err_Commande
    Dim stDocName As String
    stDocName = "Frm_XXX"
    With Form_Frm_Principal.SForm 
    .SourceObject = stDocName
    .SetFocus
    End With
    
    DoCmd.GoToRecord , , acNewRec
     
    Exit_Cmd1_Click:
        Exit Sub
    Err_Commande:
        MsgBox err.Description
        Resume Exit_Cmd1_Click
     
    End Sub
    Mais je ne sais toujours pas pourquoi j'avais ce problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb de sommes dans sous formulaires !
    Par Fredri dans le forum Access
    Réponses: 10
    Dernier message: 11/01/2006, 13h09
  2. Recherche dans sous formulaires
    Par dfournier dans le forum IHM
    Réponses: 5
    Dernier message: 08/12/2005, 18h43
  3. Calculs dans sous-Formulaire
    Par Bernjean dans le forum Access
    Réponses: 5
    Dernier message: 17/11/2005, 19h29
  4. Pb champ calcule dans sous formulaire
    Par Brial dans le forum Access
    Réponses: 6
    Dernier message: 12/11/2005, 19h33
  5. Réponses: 9
    Dernier message: 22/06/2005, 09h45

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