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

VBA Access Discussion :

Transfert de données d'un formulaire à un autre.


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut Transfert de données d'un formulaire à un autre.
    Bonjour,

    voilà j'ai une souci, je souhaite afficher sur un formulaire les informations en provenance d'un autre.

    En fait je faire un truc tel que lorsque je demarre mon appli, je renseigne le formulaire de connexion, nom et mot de passe. Et ensuite, le nom, l'ID et le prenom de l'utilisateur s'affiche en dur dans le formulaire pointage auquel il a access après s'être connecté.

    Auriez-vous un idée de la marche à suivre? J'ai éssayer de mettre du code dans la partie "sur chargement" du formulaire, j'ai éssayé partout mais rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_OnConnect()
    Dim lngIDCat   As String
    Dim sql        As String
    lngIDCat = Forms![Boîte connexion]!prestataire
    sql = "SELECT Id_ressource, Nom, Prénom, Initiales FROM Ressources_Humaines WHERE Initiales = " & lngIDCat & " ORDER BY Id_ressource"
    Id_ressource.RowSource = sql

    Aidez-moi SVP

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 221
    Points : 244
    Points
    244
    Par défaut
    Essayes avec une procédure sur activation!
    De plus ta requete doit avoir une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lngIDCat = Forms![Boîte connexion].prestataire
    sql = "SELECT Id_ressource, Nom, Prénom, Initiales FROM Ressources_Humaines WHERE Initiales = """ & lngIDCat & """ ORDER BY Id_ressource"
    Id_ressource.RowSource = sql
    J'ai rajouter deux cote de chaque coté de ta variable parce que je pense qu'il s'agit de texte

    Et tu veux afficher tout ca dans une liste ??

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut
    Non, ce que je veux faire en fait c'est quelque chose tel que

    Au départ on a une boîte de connexion, où l'utilisateur choisi ses initiales,
    ensuite il clique sur connexion et cela l'envoie vers un formulaire vide à remplir.

    Ce que je veux c'est faire de sorte que le formulaire affiche l'Identifiant, le nom, les initiales. Sachant qu'ils sont dans une table ressource.

    Je fais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Form_OnConnect()
    Dim lngIDCat   As String
    Dim sql        As String
     
    lngIDCat = Forms![Boîte connexion].prestataire
    sql = "SELECT Id_ressource, Nom, Prénom, Initiales FROM Ressources_Humaines WHERE Initiales = """ & lngIDCat & """ ORDER BY Id_ressource"
    Id_ressource.RowSource = sql
    Mais cela n'affiche rien... Help SVP!

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 221
    Points : 244
    Points
    244
    Par défaut
    Non ce que tu fais avec le code la, c'est mêttre le résultat de ta requête dans une liste déroulante. Du moins c'est ce que veux dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Id_ressource.RowSource = sql
    Si tu veux afficher les infos il faut que tu créé des textbox par exemple, que tu leur donnes des noms (logiques si possible) et que tu mette un truc du genre :
    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
    Dim lngIDCat as String
    Dim sql as String
    Dim rs as recordset
     
    lngIDCat = Forms![Boîte connexion].prestataire
    sql = "SELECT Id_ressource, Nom, Prénom, Initiales FROM Ressources_Humaines WHERE Initiales = """ & lngIDCat & """ ORDER BY Id_ressource"
     
    'ouverture d'un recordset et récupération de la réponse à la requête
    set rs = application.currentdb.Openrecordset(sql, dbOpenDynaset)
     
    if rs.recordcount <> 0 then
    'affichage du nom dans une textbox par exemple
    Nom_de_la_textbox.Value = rs.fields("Nom")
    'ainsi de suite pour les autres champs que tu souhaites afficher
    else
    'pas d'utilisateur portant se nom
    'possibilité de gérer des erreurs
    end if
    rs.close

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut
    Merci pour ton aide,

    j'ai refait mon truc conformément à ta dernière indication, et j'ai inséré le code adapté sur l'événement sur activation du formulaire qui charge. Mais maintenant j'ai une erreur "l'action OpenForm a été annulée"

    Et le déboggage pointe dans ce que code que j'applique à l'évènement onclick du bouton connexion de la boîte de connexion :

    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
    If Not rs.EOF Then
        User_id = rs("Initiales").Value
        User_groupe = rs("Type_utilisateur").Value
        
            If User_groupe = "Administrateur" Then
        DoCmd.OpenForm "Menu_gestionnaire", acNormal, , , , acWindowNormal
        DoCmd.Close acForm, "Boîte connexion"
        
            Else
      
        DoCmd.OpenForm "Formulaire des pointages", acNormal, , , , acWindowNormal    'DoCmd.GoToRecord , , acNewRec
        'DoCmd.Close acForm, "Boîte connexion"
            End If
    Else
      MsgBox "Mot de passe incorrect ", vbInformation, "Connexion"
      i = i + 1
    End If
    Ton aide précieuse pour m'en sortir m'est plus que nécéssaire.
    Merci,

  6. #6
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 221
    Points : 244
    Points
    244
    Par défaut
    Je pense que c'est parce que tu utilises les données du formulaire de connection apres l'avoir fermé.
    Essayes de le fermer à partir de ton autre formulaire une fois que tu as récupéré les données voulues. Fermes tes formulaires pour enregistrer et recommence

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut
    En fait ce que je fait c'est que je maintiens le formulaire de connexion ouvert pendantque je traite l'autre formulaire qui doit recupérer le nom et l'afficher dans une textbox. Le formulaire de connexion reste toujours ouvert en arrière plan sinon celui qui s'ouvre ne voit pas les données. Mais ca ne marche toujours pas...

    Si tu as une autre idée...

    Merci,

  8. #8
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 221
    Points : 244
    Points
    244
    Par défaut
    Déja un conseil pour la programmation, ne mets pas d'espaces ni d'accents dans tes noms variables !

    Si tu veux garder des noms de formulaires entier comme tu l'as fait, remplace simplement les espaces par des "_"

    Sinon comme ca je ne vois pas trop le problème. Essayes de l'ouvrir tout simplement sans aucune condition ni rien.

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut
    J'ai trouvé, c'est juste que le formulaire auquel je faisais appel était en mode création...

  10. #10
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2008
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 221
    Points : 244
    Points
    244
    Par défaut
    Oui j'allais te le dire, j'ai eu plusieurs fois la même erreur il y a quelque temps mais elle vient de me retomber sous le nez

    Tout fonctionne ? ton problème est résolu ?

    Ah oui ! je n'avais pas vu que le post était résolu
    Bonne continuation alors

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 16
    Points
    16
    Par défaut
    Merci à toi!!!

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

Discussions similaires

  1. [AC-2010] Transfert de données d'un formulaire à un autre
    Par pcayrol dans le forum IHM
    Réponses: 2
    Dernier message: 09/04/2011, 08h58
  2. Réponses: 3
    Dernier message: 02/07/2008, 12h34
  3. Réponses: 1
    Dernier message: 02/03/2008, 19h49
  4. transfert de données entre 2 formulaires
    Par snooopy007 dans le forum Access
    Réponses: 2
    Dernier message: 10/07/2006, 13h29
  5. donnée d'un formulaire à l'autre
    Par puppusse79 dans le forum Access
    Réponses: 10
    Dernier message: 26/04/2006, 16h40

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