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 :

[A-03] transférer donné controle vers nouvel enrg sous-formulaire


Sujet :

IHM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut [A-03] transférer donné controle vers nouvel enrg sous-formulaire
    Bonjours a tous,
    Mon premier post ;-)
    version acces -> 2003

    Alors voila,cela fait plusieur jour que je lis, et apprend des tas de truc sur ce fabuleux site. Mais voila ici, je ne trouve rien :p

    Donc voici le probleme
    Le formulaire "fventes" comporte un sous formulaire "sventes"

    le formulaire principal gere les donné concernant le client ainsi que le numero de la vente

    le sous formulaire gere le materiel proposé aux clients ainsi que leur prix etc.

    il sagit de vente comptoir et donc le client peu dire a la derniere minute
    " tous conte fait je le l'achete pas "
    de ce fait l'enregistrement ce fait au dernier moment ( a la création de la facture)




    ce formulaire contient un bouton "achats pc complet" ce bouton ouvre un autre formulaire ou si trouve divers model de pc, avec divers materiaux (ces model etant pret defini dans une table).





    Alors l'idée est de transférer les divers composant( cpu, dd , ram,ect...) dans le sous formulaire "svente" ( etant toujours ouvert,car le client peux en plus de l'ordinateur acheter d'autre materiaux, qui ne peuvent, pas encore etre enregistrer dans la tvente, vue que le client peux encore "annuler la vente").En sachant que le client peu modifié certain composant du model et que cela ne dois pour autant pas modifié le model dans la tabe contenant les model de pc ( merci .undo[que j'ai trouver sur ce site ^^ ]).

    j'ai donc eu l'idée de chercher l'id (refmateriel) de chaque composant du model de pc et de le placer tous betement dans le controle "refmateriel" du sventes

    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 btest2_Click()
    Dim Base As Database
    Set Base = CurrentDb
    Dim EnrM As Recordset
    Set EnrM = Base.OpenRecordset("TMateriel", dbOpenTable)
    EnrM.Index = "primarykey"
    Dim S As Single
    EnrM.Seek "=", Me![Ecran]
    Forms![fventes]![SFVentes].Form![RefMateriel] = EnrM![RefMateriel]
    'comment ce positionner sur le nouvel enregistrement du sous formulaire ?
    EnrM.Seek "=", Me![Souris]
    Forms![fventes]![SFVentes].Form![RefMateriel] = EnrM![RefMateriel]
    End Sub

    le probleme est que si je transfere tous betement la reference de chaque objet vers le sous formulaire il ecrase a chaque fois la derniere entrée car il ne ce positionne pas sur le nouvel enregistrement.




    Voila,j'ai peut etre donné trop d'information mais j'ai esaillé d'etre le plus clair possible.Si quelqu'un connais la réponse sa marangerais bien de la connaitre aussi ^^

    Ma methode de travails n'est sans doute pas la meilleur,C'est le premier "gros" travails dans lequel je me lance et donc je fais ce que je peux :p ...


    désolé pour l'orthographe qui sens mauvais :-/

    merci a tous ceux qui mon lut, et/ou qui me conseillerons.


    bonne soirrée

  2. #2
    Membre Expert
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Par défaut
    hello
    si ton formulaire est ouvert, tu n'as pas besoin de recordset, il te suffit d'écrire dans les zones de texte en précisant leur nom complet par exemple: forms!Fventes!SFsousventes!refmateriel = me!souris

    tu peux te positionner sur cet enregistrement avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord acDataForm, "nom_complet_du_form", acNewRec
    sinon, on peut se déplacer dans un recordset avec l'instruction MoveNext à rajouter au nom du recorset par exemple rst.MoveNext

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut
    tous d'abort merci pour la réponse et les précision,
    ce code marche tres bien sauf que ... comment j'indique que c'est le sous formulaire ? :p


    j'ai essaillé un peu toute les combinaison qui me sont passé par la tête . avec des ! & " " ' '

    mais bon rien ne fonctionne :-/

  4. #4
    Membre Expert
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Par défaut
    hello
    plutôt que de taper tout ce qui te passe par la tête, voici une méthode de recherche qui t'aidera très souvent:
    - pose un point d'arret dans le code VB avant les lignes en cause, voir au début de la routine F9
    - lance le prog
    - pose des espions et interroge les variables comme Me
    - en déployant l'arborescence, tu devrait arriver à l'objet que tu cherche

    dans ce cas, ça doit être quelque chose comme:
    Forms!fventes!sventes!refmateriel
    ou
    Me!sventes!refmateriel si fventes est le formulaire actif au moment de l'exécution

    ensuite on met des " à chaque extrémité de la chaine de caractères

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/08/2014, 11h37
  2. Réponses: 0
    Dernier message: 24/06/2011, 16h28
  3. [XL-2003] Exporter données Excel vers nouvelle table Access
    Par FCL31 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 28/04/2010, 17h47
  4. Réponses: 3
    Dernier message: 14/09/2009, 10h56
  5. transférer donnée excel vers access
    Par tomas dans le forum Access
    Réponses: 2
    Dernier message: 13/12/2006, 08h48

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