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 :

Zone de texte et table


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut Zone de texte et table
    Bonjour,
    j'ai une table Ville avec le champ nom.
    J'ai une zone de texte dans un formulaire.
    J'aimerais quaprès avoir tapé par exemple "Lyon" dans cette zone de texte, Lyon s'ajoute dans ma table.
    Comment faire !?

  2. #2
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Utilise la méthode AddNew sur clic d'un bouton
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Ok, tu peux m'en dire un peu plus sur cette méthode stp ?

  4. #4
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut

    AddNew, méthode

    Crée un enregistrement pour un objet Recordset pouvant être mis à jour.

    Syntaxe

    recordset.AddNew

    L'espace réservé recordset est une variable objet qui représente un objet Recordset pouvant être mis à jour et auquel vous souhaitez ajouter un nouvel enregistrement.
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Tu as trouvé ça sur le net ou sur ce site ?
    Parceque je n'ai pas accés au net de mon bureau.
    Si c'est sur ce site, envoie moi le lien stp.

  6. #6
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Non, j'ai juste appuyé sur la touche F1 dans Access
    Une fois que tu auras compris à quoi sert la méthode AddNew, cherche des exemples sur le forum
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    J'ai trouvé quelque chose, mais ça ne fonctionne pas. Je pense avoir une erreur de syntaxe :

    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
    Dim Calcul As DAO.Database
    Dim SAVE As DAO.Recordset
     
    Dim Tville As String
    Dim TQuartier As String
    Dim TAdresse As String
     
    Tville = Texte0
    TQuartier = Texte2
    TAdresse = Texte4
     
    Set Calcul = CurrentDb()
    Set SAVE = Calcul.OpenRecordset("Nom-de-la-table")
     
    SAVE.AddNew
        SAVE![Nom ville] = Tville
        SAVE![Nom quartier] = TQuartier
        SAVE![Nom adresse] = TAdresse
    SAVE.Close
     
    MsgBox "Vos saisies ont bien été enregistrées !", vbOKOnly
     
    Texte0 = ""
    Texte2 = ""
    Texte4 = ""
    Est ce que vous voyez mon erreur et je dois mettre quelle table à la place de "Nom-de-la-table" . . . ?

    Merci

  8. #8
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Ya de ça, mais certains trucs inutiles. A priori, tu as juste besoin de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim t As Recordset
     
    Set t = CurrentDb.OpenRecordset("MaTable", DB_OPEN_DYNASET)
    t.AddNew
    'Ajout des enregistrements dans la table MaTable
    t![MonChamp] = Me.MonContrôle
    t.Update
    t.MoveLast
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Ok, mais j'ai un peu de mal là.
    Tu ne pourrais pas écrire le code exact qu'il me faut stp ?
    Je veux dire, "Me.MonControle" sachant que je mets sur un click de la Commande8 ça donne quoi ?

    En fait j'ai plusieurs tables à remplir grâce aux valeurs de ces zones de texte: Ville, Quartier et Adresse.

  10. #10
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Ben tu remplace :
    - MaTable par le nom de ta table
    - MonChamp par le nom de ton champ (ex. Ville, Quartier ...)
    - MonContrôle par le nom de ta zone de texte

    Ensuite, si c'est sur clic du bouton de commande Commande8, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande8_Click()
        Dim t As Recordset
     
        Set t = CurrentDb.OpenRecordset("MaTable", DB_OPEN_DYNASET)
        t.AddNew
        'Ajout des enregistrements dans la table MaTable
        t![MonChamp] = Me.MonContrôle
        t.Update
        t.MoveLast
    End Sub
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Bon ça marche très bien pour la ville, mais j'ai plusieurs zones de texte comme je l'ai dit précedemment.
    C'est pas juste d'écrire :

    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
    Private Sub Commande8_Click()
        Dim t As Recordset
        Dim u As Recordset
     
        Set t = CurrentDb.OpenRecordset("Ville", DB_OPEN_DYNASET)
        Set u = CurrentDb.OpenRecordset("Quartier", DB_OPEN_DYNASET)
     
        t.AddNew
        u.AddNew
     
        t![Nom ville] = Me.Texte0
        u![Nom quartier] = Me.Texte2
        t.Update
        u.Update
        t.MoveLast
        u.MoveLast   
     
    End Sub

  12. #12
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Attention, il te faut un AddNew par table ! Et je suppose que la ville et le quartier sont dans la même table ?
    D'autre part, si tu veux intervenir sur une autre table, il ne faut pas enchasser tes AddNew. Tu en fais juste un nouveau AddNew en dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande8_Click()
        Dim t As Recordset
     
        Set t = CurrentDb.OpenRecordset("Ville", DB_OPEN_DYNASET)
     
        t.AddNew
        t![Nom ville] = Me.Texte0
        t.Update
        t.MoveLast
    End Sub
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Tu supposes mal !
    Ville : Numéro ville, Nom ville
    Quartier : Numéro ville, Numéro quartier, Nom quartier
    Adresse : Numéro ville, Numéro quartier, Numéro adresse, Nom adresse, Nombre de logements

    Voilà mes tables, ça donne quoi dans ce cas là ... ?

  14. #14
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Ben t'enleve le quartier ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Commande8_Click()
        Dim t As Recordset
     
        Set t = CurrentDb.OpenRecordset("Ville", DB_OPEN_DYNASET)
     
        t.AddNew
        t![Nom ville] = Me.Texte0
        t.Update
        t.MoveLast
    End Sub
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Oui ça j'ai bien compris.
    Mais je ne veux pas mettre un bouton du style "Ok" après chaque zone de texte.
    Je veux que sur mon formulaire il y ait une zone pour vill, une pour quartier et un seul bouton "Ok" en bas de la page.
    Quand je cliquerai dessus après avoir renseigné les zones, ça enregistrera le nom de la ville dans Nom_ville et le nom du quartier dans Nom_quartier.

    Tu vois ce que je veux dire ?

  16. #16
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Ben je t'ai déjà expliqué : tu fais un AddNew par table.
    C'est pas plus compliqué ...
    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
    26
    27
    28
    Private Sub Commande8_Click()
        ' === Traitement de la ville ===
        Dim tVille As Recordset
        Set tVille = CurrentDb.OpenRecordset("Ville", DB_OPEN_DYNASET)
        ' Ajout de la ville
        tVille.AddNew
        tVille![Nom ville] = Me.Texte0
        tVille.Update
        tVille.MoveLast
        MsgBox "La ville " & Me.Texte0 & " a bien été ajoutée", VbOkOnly + VbInformation, "Confirmation d'ajout..."
        ' === Fin du traitement de la ville ===
     
        ' === Traitement du quartier ===
        Dim tQuartier As Recordset
        Set tQuartier = CurrentDb.OpenRecordset("Quartier", DB_OPEN_DYNASET)
        ' Ajout du quartier correspondant à la ville donnée
        tQuartier.AddNew
        tQuartier![Nom quartier] = Me.Texte1
        tQuartier![Numéro Ville] = Me.Texte0
        tQuartier.Update
        tQuartier.MoveLast
        MsgBox "Le quartier " & Me.Texte1 & " a bien été ajouté", VbOkOnly + VbInformation, "Confirmation d'ajout..."
        ' === Fin du traitement du quartier ===
     
        ' === Traitement de l'adresse ===
        ' etc ...
        ' === Fin du traitement de l'adresse ===
    End Sub
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Ouais désolé, en fait je fais pleins de requêtes en même temps donc je me mélange un peu les pinceaux . . .
    Je te remercie pour ton aide.

  18. #18
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Y'a toujours un truc qui ne fonctionne pas ...
    Quand ma zone de texte est vide, lorsque j'appuie sur "ok", ça me met une erreur d'execution/débogage et ça surligne : tVille.Update

    J'aimerais juste qu'un message comme "Veuillez remplir tous les champs".

    Comment faire !?

  19. #19
    Membre éprouvé Avatar de azertix
    Homme Profil pro
    Technicien d'assistance informatique
    Inscrit en
    Juin 2007
    Messages
    958
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien d'assistance informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 958
    Points : 937
    Points
    937
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If IsNull(Me.MonContrôle) Or Me.MonContrôle = "" Then
        MsgBox "Veuillez remplir tous les champs", VbOkOnly + VbInformation, "Information manquante..."
    Else
        ' Code d'ajout
    End If
    Si ma réponse vous a été utile pensez à voter Pour

    Avant de poster sur le forum Access :
    FAQ > SOURCES > COURS > FORUM > GOOGLE
    Pas de question par MP ou je mords


  20. #20
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 92
    Points : 24
    Points
    24
    Par défaut
    Marche toujours pas ...
    Je rentre le nom de la ville puis du quartier dans mes zones de texte.
    ça les enregistre dans les bonnes tables, en les répertoriant par un numéro, mais lorsque j'ajoute les adresses et les nombres de logements ça me met le message d'erreur suivant : " Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table Quartier" .

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

Discussions similaires

  1. zone de texte et table
    Par titeZ dans le forum IHM
    Réponses: 1
    Dernier message: 27/07/2007, 19h30
  2. Réponses: 6
    Dernier message: 30/12/2006, 12h54
  3. Réponses: 5
    Dernier message: 23/08/2006, 19h42
  4. Réponses: 7
    Dernier message: 23/06/2006, 14h52
  5. Réponses: 5
    Dernier message: 03/05/2006, 11h54

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