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 :

création d'un formulaire permettant d'ajouter des données


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut création d'un formulaire permettant d'ajouter des données
    re bonjour, j'ai réussi à faire ce que j'avais entrepris grace à votre aide merci à tous..
    par contre je voudrais maintenant fais une formulaire tous simple, qui me permette juste d'ajouter des données...par exemple, j'ai une table "SECTION" avec deux champs "section" et "Job title", je voudrais créer un formulaire avec deux zones de texte et un bouton.
    lorsque les 2 zones de texte sont remplies, l'utilisateur clique sur le bouton et les données sont ajoutées dans lma table "SECTION"
    il est important que le formulaire ne permette pas de supprimer ou d'éditer des données
    voyez vous une solution?
    merci

  2. #2
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Tu crées un form independant de toute source(qui n'est donc pas basé sur une table):
    1/Ajoute les zones de texte section et jobtitle;
    2/Ajoute un bouton et sur l'evenement click du bouton tu ecris ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim StrSQL as string, Rst as Recordset
    StrSQL="SELECT *.NomDeMaTable;"
    Set Rst=CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Section]=Me![Section]
       Rst![Job Tiltle]=Me![Jobtitle]
    Rst.UpDate
    Rst.Close
    Set Rst=Nothing
    @+

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    merci pour ta réponse Keita,
    mais en fait j'obtiens une erreur du type :
    Run-time error '3075' : Syntax error (missing operator) in query expression '*.Tbl_section'.
    lorsque je fait debug j'obtiens une erreur sur cette ligne en jaune :
    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 Command2_Click()
    Dim StrSQL As String, Rst As Recordset
    StrSQL = "SELECT *.Tbl_section;"
    [color=yellow]
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    [/color]
    Rst.AddNew
       Rst![Section] = Me![Section]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
    End Sub
    je comprends pas pourquoi étant donnée que je suis novice..
    pouvez vous m'aider?
    merci

  4. #4
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Oh pardon, c'est comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrSQL = "SELECT *.Tbl_section FROM Tbl_section;"

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    merci de repondre si rapidement, mais j'ai tjs le meme probleme, toujours la meme erreur...je ne sais pas comment l'éviter
    tu vois encore une erreur dans mon code?

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Et si au lieu de passer par une chaine SQL tu mettais directement le nom de la table ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Rst=Application.CurrentDb.Openrecordset("NomTable")

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    j'ai ecrit ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Command2_Click()
    Dim StrSQL As String, Rst As Recordset
    StrSQL = "SELECT *.Tblsection FROM Tblsection;"
    Set Rst = Application.CurrentDb.Openrecordset("Tblsection")
    Rst.AddNew
    Rst![Section] = Me![Section]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
    End Sub
    et maintenant j'obtiens une run time error '13'
    type mismatch
    désolé je suis vraiment débutant

  8. #8
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Essai ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StrSQL = "SELECT section, [job title]  FROM Tblsection;"

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    toujours l'erreur run-time error '13' : type mismatch

    mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Command2_Click()
    Dim StrSQL As String, Rst As Recordset
    StrSQL = "SELECT [section] FROM Tblsection;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Section] = Me![Section]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
    End Sub
    et la ligne jaune dans le débugueur est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    merci d'avance

  10. #10
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Si ça, ça marche pas.. je veux bien aller me faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Command2_Click() 
    Dim Rst As Variant
    Set Rst= CurrentDb.Openrecordset("NomTable") 
    Rst.AddNew 
       Rst![Section] = Me![Section] 
    Rst.Update 
    Rst.Close 
    Set Rst = Nothing 
    End Sub
    C'est peut être pas génial comme code mais je l'ai déjà utilisé...

    Le code erreur 13 signifie : type incompatible.

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    Merci kikof, ca marche sans probleme...
    merci à vous tous de m'avoir aider, car l'apprentissage en solo, dans un pays anglophone est dur lol
    merci encore
    @++

  12. #12
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Mais il y a une bibliotheque qui te manque:
    Microsoft DAO 3.6 (depend de la version d'access)
    il faut l'ajouter sinon tu continueras d'utiliser le type variant partout.

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    merci pour le renseignement Keita, je viens de l'ajouter, je ne sais pas à quoi ca sert, mais cela m'evitera de vous déranger aussi longtemps la prochaine fois...
    ta solution aurait marché si cette reference avait été activé? désolé dans ce cas de vous avoir fait chercher pour rien!
    @+ et merci

  14. #14
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    grace au code de kikof, est il possible de rentrer plusieur champs
    j'ai 4 zone de texte et 2 combobox, je voudrais prendre les valeurs et les inserer directement dans la table...
    est-ce possible?

  15. #15
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    encore un changement, j'ai reussi à utiliser le code de Keita, en faisant un DAO.RECORDET, mais par contre je ne peux ajouter qu'un champs : je m'explique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub addemployee_Click()
    Dim StrSQL As String, Rst As DAO.Recordset
    StrSQL = "SELECT [Firstname], [Lastname]  FROM Tblempl;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Firstname] = Me![Firstname]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
    End Sub
    le champs firstname est bien ajouté dans ma table Tblempl

    par contre si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub addemployee_Click()
    Dim StrSQL As String, Rst As DAO.Recordset
    StrSQL = "SELECT [Firstname], [Lastname]  FROM Tblempl;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Firstname] = Me![Firstname]
       Rst![Lastname] = Me![Lastname]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
    End Sub
    j'obtiens le message d'erreur suivant : Run-time error '438' : Object doesn't support this property or method

    je vais dans le debugueur et la ligne qui est surlignée en jaune est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Rst![Lastname] = Me![Lastname]
    que faire?
    merci de m'aider si vous pouvez car je suis perdu

  16. #16
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    La bibliotheque que tu as ajouté doit certainement etre mal positionnée.
    fais comme si tu ajoutais une bibliotheque; dans cette fenetre selectionne la biblio que tu as rentrée.Il y a 2 boutons flechés à droite;entre ces 2 boutons c'est ecrit "Priorité";click le bouton fleché du haut jusqu'à positionné Microsoft 3.6 le plus haut possible.
    @+

  17. #17
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    j'ai reussi à m'en sortir...pour les zones de textes, merci de ton aide Keita...
    par contre en essayant d'appliquer la même méthode pour des zones de listes, cela ne marches pas...je voudrais récuperer la valeur séléctionnée dans la zone de liste et l'insérer dans ma table...est-ce possible?
    de la même facon j'ai deux champs textes possedant un masque de saisie "date courte : 01/01/1901" et la méthode ne marche pas non plus...
    pourriez vous m'indiquez la marche a suivre pour les zones de listes et les zones de textes avec masque selon la méthode à Keita???
    merci d'avance
    quentin

  18. #18
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    SVP, personne ne peut m'aider?
    j'ai vraiment besoin d'aide..
    merce

  19. #19
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Bonjour
    Je ne comprends pas que tu aiautant de pb pour executer cebout de code.
    donne moi le code que tu essais d'executer. il y a certainement beaucoup de bibliotheques qui te manquent.
    @+

  20. #20
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 38
    Points : 17
    Points
    17
    Par défaut
    alors voila que je voulais executer au début :
    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
     
    Private Sub addemployee_Click()
    Dim StrSQL As String, Rst As DAO.Recordset
    StrSQL = "SELECT [Firstname], [Lastname]  FROM Tblempl;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Firstname] = Me![Firstname]
       Rst![Lastname] = Me![Last_name]
       Rst![Datebirth] = Me![Datebirth]
       Rst![Startdate] = Me![Startdate]
       Rst![Section] = Me![txtSection]
       Rst![Jobtitle] = Me![txtjobtitle]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
        Me.Firstname = ""
        Me.Last_name = ""
        Me.Datebirth = ""
        Me.Startdate = ""
        Me.txtSection = ""
        Me.txtjobtitle = ""
        MsgBox "The new employee has been added", vbOKOnly, "Element added"
    End Sub
    dans ce cas, j'obtiens une erreur : Run-time error '3265' : item not found in this collection
    la ligne que le débugueur met en jaune est la suivante :
    Rst![Datebirth] = Me![Datebirth]

    pour résoudre ceci et voir si j'arrivais à inserer la valeur des combobox txtsection et txtjobtitle malgré leur nom, j'ai enlevé les lignes posant problème, j'obtiens ce code :
    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
     
    Private Sub addemployee_Click()
    Dim StrSQL As String, Rst As DAO.Recordset
    StrSQL = "SELECT [Firstname], [Lastname]  FROM Tblempl;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Firstname] = Me![Firstname]
       Rst![Lastname] = Me![Last_name]
       Rst![Section] = Me![txtSection]
       Rst![Jobtitle] = Me![txtjobtitle]
    Rst.Update
    Rst.Close
    Set Rst = Nothing
        Me.Firstname = ""
        Me.Last_name = ""
        Me.Datebirth = ""
        Me.Startdate = ""
        Me.txtSection = ""
        Me.txtjobtitle = ""
        MsgBox "The new employee has been added", vbOKOnly, "Element added"
    End Sub
    j'obtiens exactement la même erreur

    je ne pense plus qu'il s'agisse d'un problème de bibliothèque car si je met le code comme ceci :
    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 addemployee_Click()
    Dim StrSQL As String, Rst As DAO.Recordset
    StrSQL = "SELECT [Firstname], [Lastname]  FROM Tblempl;"
    Set Rst = CurrentDb.Openrecordset(StrSQL)
    Rst.AddNew
       Rst![Firstname] = Me![Firstname]
       Rst![Lastname] = Me![Last_name]
     Rst.Update
    Rst.Close
    Set Rst = Nothing
        Me.Firstname = ""
        Me.Last_name = ""
        Me.Datebirth = ""
        Me.Startdate = ""
        Me.txtSection = ""
        Me.txtjobtitle = ""
        MsgBox "The new employee has been added", vbOKOnly, "Element added"
    End Sub
    cela marche sans problème...
    je pense donc que mon probleme est que j'ai des zones de texte (birthdate et Startdate) avec un masque de saisie, et des zones de liste (txtsection et txtjobtitle)
    je ne voix pas d'autre problème
    tu veux que je t'envoie la BdD?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [AC-2007] Ajouter des données à partir d'un formulaire
    Par Jerem38 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 22/01/2010, 22h24
  2. Réponses: 1
    Dernier message: 20/11/2008, 09h43
  3. Creation d'un formulaire permettant d'ajouter des information dans une autre fenêtre
    Par @rno0059 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/06/2007, 07h47
  4. Applet Java permettant d'ajouter des fichiers
    Par skrime dans le forum Applets
    Réponses: 6
    Dernier message: 16/11/2006, 01h05
  5. Une fonction qui permette d'ajouter des séparateurs...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/04/2006, 13h23

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