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 :

Bouton de création d'enregistrement VBA


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 19
    Points
    19
    Par défaut Bouton de création d'enregistrement VBA
    Bonjour,

    Dans mon formulaire, j'ai vérouillé FERTtxt car le FERT ne dois pas être changé pour les enregistrements existant. Donc, pour créer un FERT, mon InputBox remplis FERTtxt.

    Deux problèmes se posent à moi:
    -J'aimerai imposer l'entrée d'un caractère (lettre ou chiffre) suivi de 5 chiffres dans l'InputBox.
    -Losque je clic sur annuler de l'InputBox, l'enregistrement est quand même créé avec FERTtxt vide. Je voudrais qu'aucun n'enregistrement soit créé si je clic sur annulé de l'inputbox.

    Voici le code de mon bonton de commande:
    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 Commande56_Click()
     
    On Error GoTo Err_Commande56_Click
     
        DoCmd.GoToRecord , , acNewRec
     
    FERTtxt = InputBox("Enter the new FERT: (6 figures)", "Creating of a FERT")
     
    Exit_Commande56_Click:
        Exit Sub
     
    Err_Commande56_Click:
        MsgBox Err.Description
        Resume Exit_Commande56_Click
    End Sub
    Comment dois-je faire?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    pour
    -J'aimerai imposer l'entrée d'un caractère (lettre ou chiffre) suivi de 5 chiffres dans l'InputBox.
    c'est impossible sans passer par la création d'un petit formulaire qui sera géré comme la InputBox.

    pour
    -Losque je clic sur annuler de l'InputBox, l'enregistrement est quand même créé avec FERTtxt vide. Je voudrais qu'aucun n'enregistrement soit créé si je clic sur annulé de l'inputbox.
    Il vaut mieux passer par une variable
    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 Commande56_Click()
     
    On Error GoTo Err_Commande56_Click
        Dim Reponse
        DoCmd.GoToRecord , , acNewRec
        Reponse=InputBox("Enter the new FERT: (6 figures)", "Creating of a FERT") 
        If Reponse <>"" Then
            FERTtxt =Reponse
        End If
    Exit_Commande56_Click:
        Exit Sub
     
    Err_Commande56_Click:
        MsgBox Err.Description
        Resume Exit_Commande56_Click
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Merci fgiambelluco,
    Ca fonctionne très bien. Je n'avais pas pensé que que la réponse de l'inputbox est vide losqu'on annule.

    Pour le petit formulaire, je crois avoir compris comment le créer.

    Merci beaucoup

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 19
    Points
    19
    Par défaut le petit formulaire
    Bonjour,
    Je n'arrive pas à contrôler correctement mon petit formulaire remplaçant l'Inputbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Commande56_Click()
     
    On Error GoTo Err_Commande56_Click
        DoCmd.GoToRecord , , acNewRec
     
        Dim stDocName As String
        Dim stLinkCriteria As String
     
        stDocName = "CreatFERT"
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    Exit_Commande56_Click:
        Exit Sub

    Code du bonton du petit formulaire (qui ne fonctionne pas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Creatcmd_Click()
    FERTtxt = NewFERTtxt
    DoCmd.Close
    End Sub
    Dois-je créer une Public Sub?

    Merci

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    d'abord tu crées l'enregistrement avant que la valeur ne soit saisie.

    Bon essaie ceci

    Dans le formulaire de remplacement de l'inputbox; CreatFert

    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
    Dim ValRetour as String
     
    Public Property Get GetNew() As String
     If Not Me.Visible Then Me.Visible=True
     While Me.Visible 
        DoEvents
     Wend
     GetNew=ValRetour
     Docmd.Close acForm, Me.Name, AcSaveNo
    End property
     
    Private Sub cmdOk_Click()
     If Not IsNull(TxtNewVal.Value) Then ValRetour=TxtNewVal.Value
     Me.Visible=False
    End sub
     
    Private Sub cmdCancel_Click()
     Me.Visible=False
    End sub
    Dans l'autre formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Commande56_Click()
     Dim NewFERT as String
     NewFERT=Form_CreatFERT.GetNew
     If NewFERT<>"" Then
        DoCmd.GotoRecord Record:=AcNewRec
        FERTtxt=NewFERT
     Endif
    End sub

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    Code du bonton du petit formulaire (qui ne fonctionne pas):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Creatcmd_Click()
    FERTtxt = NewFERTtxt
    DoCmd.Close
    End Sub
    Il manque la référence à l'autre formulaire (celui que tu veux remplir)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Creatcmd_Click()
        Forms![TonFormulaire]!FERTtxt = NewFERTtxt
        DoCmd.Close
    End Sub

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Merci fgiambelluco!
    Pour le finir, j'aimerais qu'avant d'agir, la macro vérifie que le fert entré n'existe pas déja. Voici ce que j'ai fait (et qui ne fonctionne pas du tout):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Creatcmd_Click()
    If NewFERTtxt <> [Articles]![Fert] Then
        Forms![FertProperties]!FERTtxt = NewFERTtxt
        DoCmd.Close
    End If
    End Sub
    Que dois-je faire?

    Merci

Discussions similaires

  1. [OL-2010] Création Mail via VBA et bouton
    Par John86 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 20/02/2013, 12h08
  2. [AC-2007] VBA sur bouton de déplacements des enregistrements
    Par sylv20 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/08/2011, 14h00
  3. Bouton pour création de lignes en VBA
    Par Takeo31 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2011, 16h06
  4. Bouton enregistrer vba
    Par presser dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2009, 13h35
  5. Formulaire, création enregistrement VBA
    Par manujuggler dans le forum Access
    Réponses: 4
    Dernier message: 05/01/2006, 13h43

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