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

Access Discussion :

Saut de la dernière ligne et enregistrement à la ligne suivante [AC-2013]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 234
    Points : 92
    Points
    92
    Par défaut Saut de la dernière ligne et enregistrement à la ligne suivante
    Salut le forum!
    Nous avons conçu le code suivant pour enregistrer des données dans une tables. Le problème est que l'enregistrement ne se fait pas à la dernière ligne vide de la table mais plutôt à la ligne suivante. Nous sollicitons votre lanterne.

    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
    Private Sub CmdValider1_Click()
    Dim rq As String
    If IsNull(Me.Entete_id.Value) Or IsNull(Me.Prenom_el.Value) Or IsNull(Me.Nom_el.Value) Or IsNull(Me.Sexe_id.Value) Or IsNull(Me.Datenaiss.Value) Or IsNull(Me.Lieunaiss.Value) Or IsNull(Me.Classe_id.Value) Or IsNull(Me.Niveau_id.Value) Then
    MsgBox "Veuillez remplir les champs vides!", vbInformation, "GESCOLLY"
     
    Else
    If MsgBox("Voulez-vous vraiment enregistrer ces données?", vbYesNo + vbQuestion, "GESCOLLY") = vbNo Then
            Cancel = True
            Exit Sub
    Else
    rq = "INSERT INTO T_ELEVES(Entete_id, Prenom_el, Nom_el, Sexe_id, Datenaiss, Lieunaiss, Classe_id, Niveau_id) VALUES (" & Me.Entete_id.Value & ", '" & Me.Prenom_el.Value & "', '" & Me.Nom_el.Value & "', " & Me.Sexe_id.Value & ", '" & Me.Datenaiss.Value & "', '" & Me.Lieunaiss.Value & "', " & Me.Classe_id.Value & ", " & Me.Niveau_id.Value & ")"
    CurrentDb.Execute rq
    MsgBox "Données insérées avec succès!", vbInformation, "GESCOLLY"
    Me.Entete_id.Value = ""
    Me.Prenom_el.Value = ""
    Me.Nom_el.Value = ""
    Me.Sexe_id.Value = ""
    Me.Datenaiss.Value = ""
    Me.Lieunaiss.Value = ""
    Me.Classe_id.Value = ""
    Me.Niveau_id.Value = ""
     
    End If
    End If
    End Sub
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    la saisie se fait directement dans la table donc inutile de lancer une requête (qui insère, de ce fait, un nouvel enregistrement! dans la ligne 2) et de vider les champs (ce qui explique que la première ligne soit vide)
    il ne faut pas utiliser un bouton pour valider mais plutôt l'évènement BeforeUpdate du formulaire, sur un bouton ,l'action Cancel ou Undo ne fonctionnera jamais
    Si tu veux utiliser un bouton Valider, il ne faut pas mettre de source à ton formulaire (pas de table ou requête) et les contrôles (les champs de saisie) doivent être indépendants (pas de Source contrôle)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2019
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 234
    Points : 92
    Points
    92
    Par défaut RE
    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    la saisie se fait directement dans la table donc inutile de lancer une requête (qui insère, de ce fait, un nouvel enregistrement! dans la ligne 2) et de vider les champs (ce qui explique que la première ligne soit vide)
    il ne faut pas utiliser un bouton pour valider mais plutôt l'évènement BeforeUpdate du formulaire, sur un bouton ,l'action Cancel ou Undo ne fonctionnera jamais
    Si tu veux utiliser un bouton Valider, il ne faut pas mettre de source à ton formulaire (pas de table ou requête) et les contrôles (les champs de saisie) doivent être indépendants (pas de Source contrôle)
    Bien vu! Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/07/2021, 15h57
  2. [Débutant] Obtenir la dernière ligne de mon enregistrement
    Par solaar dans le forum Linq
    Réponses: 4
    Dernier message: 13/11/2013, 10h12
  3. [Débutant] Récupération de la derniére ligne de mes enregistrements
    Par LILIFA dans le forum VB.NET
    Réponses: 5
    Dernier message: 28/06/2012, 23h45
  4. Réponses: 1
    Dernier message: 13/06/2008, 20h14
  5. Réponses: 6
    Dernier message: 03/12/2007, 14h13

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