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 :

VBA attribuer une table différente à l'ouverture d'un formulaire [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut VBA attribuer une table différente à l'ouverture d'un formulaire
    Bonjour,
    Je cherche un bout de code pour compléter une fonction.
    J'ai un formulaire mais je veux que la table soit différente selon l'usager. Je sais comment faire pour ouvrir le formulaire, ce qui me manque c'est comment lui dire quelle table utilisée?
    Voici mon bout de code.
    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
    23
    24
    25
    26
    27
    28
    29
    Function ChoixRP() 'choix de la ressource
    On Error GoTo ChoixRP_Err
     
    Dim Ress As String
     
    Ress = InputBox("Inscrire vos initiales?")
     
    Select Case Ress
    Case Ress
        DoCmd.RunCommand acCmdClose
        DoCmd.OpenForm "FormIntervention", acNormal, "", "", acAdd, acNormal 'ouverture du formulaire
        Beep
        MsgBox "Vous pouvez vous déplacer à l'aide de la touche de tabulation ou de la souris.", vbInformation, "Remplir le formulaire"
        DoCmd.RunCommand acCmdDocMaximize
        Beep
     
     
        Case Else
            MsgBox "Choix invalide."
    End Select
     
    ChoixRP_Exit:
        Exit Function
     
    ChoixRP_Err:
        MsgBox Error$
        Resume ChoixRP_Exit
     
    End Function
    Comment lui assigner à ce formulaire une table différente en VBA. Je ne veux pas avoir plusieurs formulaires lors des modifications c'est embêtant.

    Merci de votre aide

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Ghana

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 109
    Points : 155
    Points
    155
    Par défaut
    Bonjour Lise,
    De quelle table parlez-vous ? constitue-t-elle une des sources de "FormIntervention" ?
    Avez-vous déjà une table liée à la gestion des utilisateurs (selon leurs initiales) et leurs accès respectifs ?

  3. #3
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut
    Bonjour 3ug3n,

    En effet, chaque utilisateur a sa table respective avec ses initiales. Je cherche une solution simple.
    J'ai aussi pensé qu'après avoir ouvert le formulaire, l'utilisateur pourrait sélectionner son nom et alors la table à son nom serait affiché mais je ne sais pas comment faire.

    Merci de votre aide

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Ghana

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 109
    Points : 155
    Points
    155
    Par défaut
    Bonjour Lise,

    En effet, chaque utilisateur a sa table respective avec ses initiales. Je cherche une solution simple.
    ... et en termes de structure, ces tables sont-elles radicalement différentes, ou peut-on imaginer toutes les fusionner (en ajoutant un champ NomRess) et faire que le filtrage des infos (+éventuellement masquage de certains champs) se fasse sur la requête source du form ?
    Il y a des chances pour que je frise le hors-sujet...

  5. #5
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut
    Bonjour 3ug3n,

    Dû à un problème de réseau, j'ai remis à chaque utilisateur une clé USB avec la BD. Lorsque j'ai voulu regrouper les tables j'ai eu un problème avec un message d'erreur «select into» qui après vérification se trouve être dû au champ à valeurs multiples. Alors les tables sont pareils.
    Je peux pas recommencer le travail, les utilisateurs ont déjà tous complétés l'entrée de données et ça serait trop de long de refaire le tout.
    C'est pour ça que je voulais les conserver et permettre aux utilisateurs d'avoir chacun sa table à l'ouverture du formulaire.

    Suis-je claire?

    Merci

  6. #6
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Ghana

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 109
    Points : 155
    Points
    155
    Par défaut
    Re-bonjour,

    Après avoir épuisé en vain toutes les options pour contourner l'erreur que vous évoquez et consolider ces tables (pour des questions de maintenance et de réduction du nombre d'objets que vous connaissez sans doute), je tenterais quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    ' Affectaction d'une requête source
    Dim strSQL As String
    strSQL = "SELECT * FROM [" & "NomCommunDeVosTables" & Ress & "] WHERE ..."
    Forms!FormIntervention.RecordSource = strSQL
    '...
    Une option pourrait être de créer une requête source "en dur" au nom de chaque ressource, mais si vous gagnez en performance, vous accroissez encore le nombre d'objets, donc d'erreurs et de besoins en maintenance.

    Nota : je n'ai pas testé, mais votre form étant en mode ajout, il peut s'avérer nécessaire de passer par un mode création au préalable - ce qui posera problème en cas de compilation de votre base.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    '...
    DoCmd.OpenForm "FormIntervention", acDesign
    ' Affectaction de la requête source
    '...
    DoCmd.Close acForm, "FormIntervention", acSaveYes
     
    DoCmd.OpenForm "FormIntervention", acNormal, , , acAdd, acNormal

  7. #7
    Membre régulier
    Femme Profil pro
    Technicienne
    Inscrit en
    Mai 2013
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicienne
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 96
    Points : 89
    Points
    89
    Par défaut
    Merci 3ug3n,

    Je vais essayer votre proposition. Je vous reviens avec le résultat.

    Donc je reviens, je n'ai pas réussi. Je suis pas habile avec le SQL mais je vais fouiller un peu ...

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

Discussions similaires

  1. Import d'une table temp et ouverture formulaire via VBA
    Par Access_ible dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/09/2009, 11h44
  2. [VBA] Lier une table txt (fichier texte) à Access
    Par DPhBxl dans le forum Access
    Réponses: 1
    Dernier message: 08/08/2006, 14h33
  3. Réponses: 1
    Dernier message: 14/06/2006, 16h52
  4. Réponses: 1
    Dernier message: 02/03/2006, 09h52
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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