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éer formulaire pour atteindre un enregistrement en passant par un module [AC-2010]


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 9
    Points
    9
    Par défaut Créer formulaire pour atteindre un enregistrement en passant par un module
    Bonjour à tous et d'avance merci pour votre aide

    j'ai créer une base de donnée pour une collection Porsche .

    J'ai plusieurs catégories, voiture Md, voiture 1/1, tracteur Md, tracteur 1/1, objet, document,...

    J'ai créer un formulaire que j'apelle fiche technique pour chaque rubrique ( c'est un formulaire unique qui reprend toutes les données du modèle, j'ai créer des bouton de navigation pour atteindre les enregistrements suivant et précédent.

    Jusque là pas bien compliqué.

    J'aimerai créer une formulaire de recherche par n° qui serai valable pour toute les categories.

    1- j'ouvre le formulaire recherche par N°
    2- je tape le numero qui je souhaite atteindre
    3- clic sur atteindre et arrive sur l'enregistrement correspondant

    Voici une image ca sera plus clair



    Uploaded with ImageShack.us

    Je bloque à la 3ème étape.

    J'ai deja reussi en faisant un formulaire et une macro de recherche pour chaque categorie mais pas très pro.
    ex. sur clic atteindre FrmVoitureFicheTechnique, reference [RechercheN°]

    j'aimerai donc créer un formulaire unique en passant pas un module

    Mais je ne sais pas comment faire atteindre le formulaire en arriere plan sans devoir signaler le nom du formulaire.

    Je pensais créer une variable que me stock et le nom du formuaire quand je clic sur ouvrir FrmRechercheParN° et la réutiliser lorsque je clic sur Recherche mais je ne trouve pas le déroulement.

    J'espere avoir été assez clair, c'est ma première base de donnée et mon premier message.

    merci

  2. #2
    Membre expérimenté
    Avatar de minot83
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2006
    Messages
    972
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 972
    Points : 1 430
    Points
    1 430
    Par défaut
    Bonjour,

    regarde cette discussion

    http://www.developpez.net/forums/d12...ur-formulaire/

    Cordialement
    si le message est pertinent : un petit si votre problème est résolu, n'oubliez pas le Tag Merci

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Bonjour, merci pour votre réponse

    J'ai été voir sur votre lien mais le problème c'est que l'option de recherche se trouve sur le formulaire même, moi j'aimerai bien avoir un formulaire indépendant et l'option me.xxx ne fonctionne pas dans les modules.

    Donc me problème et de pourvoir dire que sur clic du bouton recherche il m'affiche le résultat sur le formulaire en arrière-plan. Mais celui-ci n'est pas toujours le même. Donc je doit trouver une solution pour effectuer la recherche sur le formulaire adéquat.

    J'ai essayé ceci

    Sur Clic du bouton RECHERCHE D'UNE VOITURE PAR NUMERO

    un module qui contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Sub FrmRecherche()
        Dim MonForm as Form
        MonForm = Screen.activeForm
     
        Docmd.openForm "FrmDeRecherche"
    Sur le formulaire de recherche

    je tape le N° souhaité

    Puis je clic sur recherche et la j'ai mis dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim FrmArrierePlan as form
    FrmArrierePlan = MonForm
    (c'est la qu'est le probleme, il me met MonForm = Nothing, il m'inscrit pas le nom du formulaire)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Voila j'ai plus ou moins résolu le probleme en passant par une InputBox.

    Mais bon ce n'est pas vraiment le résultat escompté.

    je continuerai donc mes recherche.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Points : 99
    Points
    99
    Par défaut
    salut,
    tu devrais mettre ta variable MonForm en global
    et pour la définir...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     set MonForm = Screen.activeForm

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    slt

    merci pour cette idée

    mais sauriez vous me décrire la procedure pour faire une variable global.

    C'est ma première base et j'apprend en autodidacte, donc c'est peut-être bête mais je n'ai aucune idee de comment faire.

    merci

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2006
    Messages : 93
    Points : 99
    Points
    99
    Par défaut
    salut,
    il faudra mettre les declarations des variables tout en haut du module (après OPtion compare database) et non dans les procédures sub. En effet les variables déclarées dans un sub ne sont visibles et exploitables que dans le même sub (variables locales); pour les rendre globales, tu les déclares à l'extérieur et tu les définis à l'intérieur des sub.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Option compare database
    Dim MonForm as Form
     
     
     
    Public Sub FrmRecherche()
      set MonForm = Screen.activeForm      'set car variable objet
      ...
    end sub

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 9
    Points
    9
    Par défaut
    Super ca fonctionne

    un tout grand merci c'est mes premiers pas sur le forum et deja un probleme de resolu

    Voici le code final

    Sur Clic du bouton Recherche par N°

    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
    Option Compare Database
    Dim monform As Form
     
    Public Sub testN()
        Dim monform As Form
        Set monform = Screen.ActiveForm
        DoCmd.GoToControl "n°auto"
        DoCmd.OpenForm "frmrechercheN°"
    End Sub
    ____________________________________________________________
    Sur le bouton recherche du FrmRechercheN°
     
    Public Sub recherche()
            Dim mform As Form
             Set mform = monform
             Dim nbr As String
             nbr = Forms!frmrechercheN°!recherchen°
             DoCmd.Close
     
           DoCmd.GoToControl "n°auto"
           DoCmd.FindRecord nbr
    End Sub
    encore merci

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

Discussions similaires

  1. [AC-2007] Formulaire pour afficher un enregistrement d'un Etat
    Par magic57 dans le forum IHM
    Réponses: 2
    Dernier message: 26/05/2011, 10h48
  2. Réponses: 1
    Dernier message: 02/10/2010, 09h00
  3. [AC-2007] Comportement bizarre pour atteindre un enregistrement
    Par Filou07 dans le forum VBA Access
    Réponses: 23
    Dernier message: 26/05/2009, 09h08
  4. Probleme pour atteindre un enregistrement
    Par mephistomauvis dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/12/2008, 20h18
  5. [Formulaire]Deux formulaires pour le meme enregistrement
    Par Poor_Beginner dans le forum IHM
    Réponses: 13
    Dernier message: 22/04/2007, 20h54

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