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 :

Se positionner dans un Subform en mode Datasheet


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut Se positionner dans un Subform en mode Datasheet
    Bonjour,

    J'ai parcouru la FAQ mais je ne trouve pas mon bonheur.

    J'ai un formulaire principal et un sous formulaire (sans boîte de contrôles) affiché en feuille de données.

    Sur un mon formulaire principal j'ai un bouton qui permet d'ajouter un record dans mon sous formulaire mais aussi de mettre le champ date à la date du jour ... Ca marche.

    ON CLICK :

    Forms!frmPersonne!subformDOSSIER.Form.Recordset.AddNew
    Forms!frmPersonne!subformDOSSIER.Form!Creation.Value = Date


    Cependant, je voudrais donner le focus au champ suivant dans le sous formulaire affiché en datasheet et là ça ne marche pas ...

    Forms!frmPersonne!subformDOSSIER.Form!N°.SetFocus = True

    N° étant le champ suivant ... L'erreur renvoyée est "Erreur 438 - Propriété ou méthode non géree par cet objet"

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Je pense que le problème vient de cette ligne de code :

    Forms!frmPersonne!subformDOSSIER.Form.Recordset.AddNew


    Qui ne donne pas le focus au premier champ du sous formulaire en mode datasheet ...

    Cette ligne de code que j'ai affectée à un bouton sensé remplacer le controle affiché en standard au bas du sous formulaire (Play avec Etoile), ne réalise pas la même opération ...

    L'objetctif étant toujours de remplacer ce petit bouton de création de nouveau record ...

    Merci

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 428
    Points : 20 007
    Points
    20 007
    Billets dans le blog
    67
    Par défaut
    Salut,

    et les balise code ???

    essaie cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!frmPersonne!subformDOSSIER.Form!N°.SetFocus
    @+

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Et non malheureusement ....

    Mais c'est déjà au niveau de ce code ...

    Forms!frmPersonne!subformDOSSIER.Form.Recordset.AddNew

    ... que ça ne marche pas

    En effet, je n'obtiens pas le même résultat qu'en cliquant sur le bouton de contrôle (Play Etoile) affiché par défaut en bas du sous formualaire ... Ce dernier positionne le pointeur dans le 1er champ du nouveau record et on peut démarrer l'encodage ... Alors qu'ici non !

    J'ai alors cherché avec un setfocus mais en vain ...

    L'objectif étant de remplir le premier champ date avec la date du jour et de se positionner sur le champ suivant ...

    Ca marche très bien dans le formulaire principal mais pas quand ce bouton agit sur un sous formulaire ...

  5. #5
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 428
    Points : 20 007
    Points
    20 007
    Billets dans le blog
    67
    Par défaut
    Essaye un truc comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone.AddNew 
    Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone!Creation = Date 
    Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone.UpDate
     
    Forms!frmPersonne!subformDOSSIER.Form!N°.SetFocus 
     
    Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone.MoveLast
     
    Forms!frmPersonne!subformDOSSIER.Form.Bookmark = Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone.Bookmark
    @+

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Bien tenté mais ça bloque au niveau de cette ligne :

    Forms!frmPersonne!subformDOSSIER.Form.RecordsetClone!Creation = Date

    J'ai essayé en modifiant la syntaxe mais il n'accède pas à ce champ "Creation" qui existe pourtant bien dans mon subform ...

  7. #7
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 428
    Points : 20 007
    Points
    20 007
    Billets dans le blog
    67
    Par défaut
    Il faut que le champ creation existe dans le recordset de ton sousformDossier donc dans la table source de ton sousformDossier !!!

    Verifie

  8. #8
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    bonjour

    je pense que tu devrais essayer (sans garantie)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Forms!frmPersonne!subformDOSSIER.setfocus
    DoCmd.GoToRecord , , acNewRec
    Forms!frmPersonne!subformDOSSIER.Form!Creation.Value = date()
     
    Forms!frmPersonne!subformDOSSIER!N°.setfocus
    j'ai tester çà marche nickel
    A+

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    Meuuuurci !

Discussions similaires

  1. [AC-2013] Problem en datasheet mode dans un subform
    Par djovi dans le forum IHM
    Réponses: 5
    Dernier message: 15/02/2014, 15h25
  2. Réponses: 9
    Dernier message: 16/05/2005, 18h43
  3. forcer le curseur à ce positionner dans une zone texte
    Par caton dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/04/2005, 15h17
  4. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 14h46

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