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 :

utilisation d'un sous formulaire en mode feuille de données


Sujet :

IHM

  1. #1
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut utilisation d'un sous formulaire en mode feuille de données
    Bonjour à tous

    J'ai, dans un formulaire, un sous formulaire indépendant en mode feuille de donnée. Ce que je voudrait c'est le remplir "à la main" du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    premièrecolonne= une valeur
    deuxièmecolonne = unevaleur
    allerAlaLigne
    premièrecolonne= uneautreValeur
    deuxièmecolonne = uneautreValeur
    J'arrive très bien a affecter une valeur à une colonne mais je ne sais pas comment "aller à la ligne".

    Merci d'avance de votre aide
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    avec un formulaire FormulaireA ayant un contrôle sous-formulaire sfFormulaireB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Forms("FormulaireA").sfFormulaireB.SetFocus
    DoCmd.RunCommand acCmdRecordsGoToNext  ' ou acCmdRecordsGoToNew
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("FormulaireA").sfFormulaireB.Form.Recordset.MoveNext ' ou .AddNew
    acCmdRecordsGoToNew et AddNew pour aller directement à un nouvel enregistrement.

    A+

  3. #3
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms("FormulaireA").sfFormulaireB.Form.Recordset.MoveNext
    J'ai une erreur "Aucun enregistrement en cours"
    Et quand j'essaye les autres solutions que tu m'a donné genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Forms("Main").BT_subForm.Form.S_Symbol = "1"
    Forms("Main").BT_subForm.Form.Recordset.AddNew
    Forms("Main").BT_subForm.Form.S_Symbol = "2"
    ça me met le 1 un première ligne met le 2 n'apparait jamais
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    essaie comme ça
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ' Donner focus au sous-formulaire
    Forms("Main").BT_subForm.SetFocus
    ' Si l'enregistrement en cours n'est pas nouveau, aller au nouveau
    If Forms("Main").BT_subForm.Form.NewRecord = False Then
       DoCmd.RunCommand acCmdRecordsGoToNew
    End If
    ' Entrer valeur
    Forms("Main").BT_subForm!S_Symbol = "1"
    ' Aller enregistrement suivant
    DoCmd.RunCommand acCmdRecordsGoToNext
    ' Entrer valeur
    Forms("Main").BT_subForm!S_Symbol = "2"
    ' Sauver enregistrement en cours
    DoCmd.RunCommand acCmdSaveRecord
    A+

  5. #5
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    ça ne marche pas non plus ça bug sur le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdRecordsGoToNew
    Mais j'ai discuté avec mon chef et je vais utiliser une liste plutôt qu'une feuille de donnée.

    Merci quand même de t'être intéréssé à mon problème LedZeppII
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  6. #6
    Membre du Club Avatar de ullgom
    Inscrit en
    Mai 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mai 2006
    Messages : 59
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    J'ai un problème un peu différent mais qui je pense rejoint ceuli ci.

    Lorsque je donne le focus à un formulaire enfant et que j'execute un docmd.runcomand (pensant le faire sur le formulaire enfant)
    Celui ci s'execute à chaque fois sur le formulaire pere donc si on à le meme soucis ton gotonext etc essaye de s'effectuer sur ton formulaire pere ce qui explique que tu n'a pas de nouvel enregistrement.

    Je suis desespé de ne pouboir effectuer un docmd sur mes formulaire fils car ca me serais vraiment très utile.

    Si quelqu'un aurait une solution miracle pour effectuer un docmd.runcommand sur un formulaire fils il m'en vairrai tres reconnaissant.

    Cordialement,

  7. #7
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    je viens peut-être de comprendre pourquoi mon code fonctionnait chez moi et pas chez guigui5931.
    J'ai pour habitude de toujours laisser les selecteurs d'enregistrement dans la plupart de mes sous-formulaire en continu.
    Si il n'y en a pas, le code ne fonctionne pas toujours.
    Par exemple si le contrôle actif du sous-formulaire n'est pas un contrôle de la zone Détail,
    mais un contrôle de l'en-tête de formulaire, il n'y a pas de déplacement.

    Il faudrait peu-être faire comme ceci:
    1. donner le focus au formulaire principal (si il n'est pas actif)
    2. donner le focus au contrôle du sous-formulaire
    3. donner le focus à un contrôle de la zone détail, lié à un champ.
    4. faire DoCmd.RunCommand acCmdRecordsGoToxxxx ou DoCmd.GotoRecord ...

    Slts

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2013, 08h36
  2. Réponses: 1
    Dernier message: 05/06/2010, 16h38
  3. Réponses: 9
    Dernier message: 30/06/2008, 05h02
  4. Réponses: 10
    Dernier message: 28/12/2007, 08h11
  5. Réponses: 2
    Dernier message: 16/01/2007, 21h04

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