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 :

arreter incrementation automatique sous condition


Sujet :

VBA Access

  1. #1
    Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 53
    Points : 45
    Points
    45
    Par défaut arreter incrementation automatique sous condition
    Bonjour tout le monde,
    J’ai une table (T_Etudiant) Id_Etudiant,non,date_naica et une table (T_notes_Etudiant) Id_Note,Id_Etudiant,note observations ,.............
    Un formulaire F_Etudiant et un sous formulaire SF_Notes (champ pere et fils =T_Etudiant)
    Dans le sous formulaire SF_Notes le (Id_Note) s'icrement grâce au code suivant:
    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
    Private Sub Form_BeforeInsert(Cancel As Integer)
    Dim NextIssueNo As Integer
    Dim DB As Database
    Dim Rst As Recordset
    Set DB = CurrentDb()
    Set Rst = DB.OpenRecordset("SELECT Id_Note FROM T_notes_Etudiant order by Id_Note desc;")
    If Rst.RecordCount = 0 Then
    NextIssueNo = 1
    Else
    Rst.MoveLast
    NextIssueNo = Rst(0) + 1
    End If
    Rst.Close
    Me.Id_Note= NextIssueNo
    End Sub
    Mon souci est que lorsque je click sur un champ dans le sous formulaire dans la première ligne le Id_Note prend la valeur 1.
    Mon problème est que si je passe à la 2 ligne et je click sur n'importe qu'il champ la valeur de Id_Note prend la valeur 2 même si je n'ai pas encore finir la saisie de la 1 ligne et dans la table (T_notes_Etudiant) je trouve seulement les Id_Note sans d'autres données.
    Alors y'a-t-il un moyenne d'arrêter l'incrémentation de Id_Note jusqu’à la saisie de tous les champs de la ligne précédente.
    Merci d'avance.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 095
    Points : 5 211
    Points
    5 211
    Par défaut
    Bonjour,

    le fait de quitter une ligne la valide même si elle est incomplète. Pour éviter cela, il faut donc interdire de quitter une ligne incomplète ou l'effacer en la quittant...
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2014
    Messages : 53
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Citation Envoyé par nico84 Voir le message
    Bonjour,

    le fait de quitter une ligne la valide même si elle est incomplète. Pour éviter cela, il faut donc interdire de quitter une ligne incomplète ou l'effacer en la quittant...
    Effictivement je cherche cet astuce :interdire de quitter une ligne incomplète
    cordialement.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 095
    Points : 5 211
    Points
    5 211
    Par défaut
    Citation Envoyé par meriem.alaooui Voir le message
    Effictivement je cherche cet astuce :interdire de quitter une ligne incomplète
    J'aurais tendance à faire ça avec l'évènement Form_beforeinsert ou form_afterupdate mais ce n'est pas une ergonomie que j'utilise donc je n'ai pas d'exemple

    exemple qui efface la ligne si incomplète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    '12.5a efface la ligne en cours de saisie si les champs obligatoires ne sont pas renseignés
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If IsNull(cd_pers) Or IsNull(initiales) Or IsNull(cd_service) Then Undo
    End Sub
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

Discussions similaires

  1. [AC-2013] Empêcher la tabulation automatique sous condition
    Par Karehaus dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/01/2016, 10h00
  2. [Infoview] Envoi automatique sous condition d'un rapport
    Par Galilee1987 dans le forum Débuter
    Réponses: 1
    Dernier message: 21/11/2014, 12h17
  3. Réponses: 3
    Dernier message: 02/05/2014, 23h15
  4. Envoie d’un mail automatique sous condition
    Par pythfred dans le forum Excel
    Réponses: 8
    Dernier message: 19/03/2012, 09h13
  5. [XL-2010] macro automatique sous condition SI
    Par arthour973 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/10/2011, 16h06

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