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 :

Listbox à choix multiple dans une base de données multi-utilisateurs [AC-365]


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Listbox à choix multiple dans une base de données multi-utilisateurs
    Bonjour,

    J'ai créé une base de données sans être informaticienne (je me débrouille fort bien mais je n'ai pas d'expérience en écriture de codes VBA) qui est utilisée dans le domaine scolaire par une petite équipe de personnes (max 8) en format partagé. Après quelques recherches, j'ai splité la BD pour obtenir un fichier avec les tables (BE) et plusieurs interfaces utilisateurs. Tout le monde à à présent accès à l'outil mais il reste un formulaire d'encodage (celui qui est le plus souvent utilisé) posant problème. Ce formulaire permet d'encoder des actions menées auprès de jeunes et une action pouvant être destinée à un ou plusieurs jeunes (appartenant à des classes différentes) en même temps, il contient une liste à choix multiples. Tout le monde accède sans problème au formulaire mais la sélection dans la listbox est bloquée lorsque plusieurs intervenants tentent de sélectionner les jeunes concernés par une de leurs actions.

    Je suis bloquée depuis une semaine avec ce problème que j'essaye de régler par moi-même via des recherches sur internet mais je n'ai pas trouvé de questions-réponses à propos de situation pareille...

    Quelqu'un pourrait-il m'aider?

    D'avance un tout grand merci pour l'attention portée à cette demande!

    Cordialement,

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 048
    Points : 24 633
    Points
    24 633
    Par défaut
    Bonjour,

    Il faut plus d'information pour analyser le problème.

    Cordialement,

  3. #3
    Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réaction!

    Le formulaire alimente une table et contient les champs suivants:

    • IDEncodage: NumAuto
    • DateAction: champ de la table d'origine à encoder
    • MatriculeIntervenant: liste de choix liée à la table Intervenants
    • NumProjet: liste de choix liée à la table Intervenants
    • IDClasse: liste de choix liée à la table EncodagesClasses (qui alimente la requête ComposionClasse: IDClasse, NomClasse,IDElève,NomElève, PrénomElève, DateSortieClasse critère: est null)
    • ElèvesConcernés: SELECT CompositionClasse.IDElève, CompositionClasse.NomElève, CompositionClasse.PrénomElève, CompositionClasse.IDClasse FROM CompositionClasse WHERE (((CompositionClasse.IDClasse)=[Forms]![F_EncodageJournalier].[IDClasse]));
    • CatégorieAction: liste de choix liée à la table CatégorieAction
    • Action: SELECT [Actions].[IDAction], [Actions].[NomAction], [Actions].[CatégorieAction] FROM Actions WHERE [Actions].[CatégorieAction]=Forms!F_EncodageJournalier.CatégorieAction;
    • CommentaireAction: champ de la table d'origine à encoder

    Tous les champs peuvent être encodés simultanément par les utilisateurs sauf la listbox ElèvesConcernés

    Je ne sais pas si c'est important mais dans les options Access, j'ai bien coché dans Paramètres Clients - Avancés:
    Mode d'ouverture par défaut: Mode partagé
    "Utilisé le chiffrement chiffré (adapté à la compatibilité inverse et aux bases de données multi-utilisateurs"

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 048
    Points : 24 633
    Points
    24 633
    Par défaut
    Bonjour,

    Je ne vois pas de raison qui déclenche un blocage de l'appli d'après ce que vous me décrivez.

    Dans le sélecteur Nom : 2022-06-26_19h49_41.png
Affichages : 115
Taille : 4,1 Ko est-ce qu'il y a un crayon à la place de la flèche ou bien un panneau rouge rayé à la place de la flèche noire lorsqu'il y a le blocage ?

    Cordialement,

  5. #5
    Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    Il s'agit d'une flèche lorsque j'ouvre le formulaire et d'un crayon lorsque je commence à l'encoder ou lorsque cela bloque:

    Bug multi-users.docx

    Le blocage se produit lorsque je clique sur "OK". Dans ce cas-ci, j'encode les élèves via une liste déroulante autorisant plusieurs valeurs. J'ai essayé aussi avec une listbox et cela ne fonctionne pas non plus. Dans le premier cas, le blocage apparaît au moment de cliquer sur OK et dans le deuxième cas, dès que j'essaie de sélectionner un jeune.

    Contrairement à votre exemple, je ne travaille pas avec un sous-formulaire mais les données sont directement encodées dans le formulaire principal.

    Merci pour votre aide!!!

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 048
    Points : 24 633
    Points
    24 633
    Par défaut
    Bonjour,

    ah mais il y a un message ! c'est par là qu'il fallait commencer. Votre application n'a pas été écrite pour fonctionner en multi, c'est pour cela qu'il y a ce type de blocage.

    Le problème est causé par l'utilisation d'une même table pour effectuer la sélection. En multi il ne faut pas faire cela car le premier utilisateur bloque les autres.

    Il faut créer une table de sélection temporaire (qu'on va nommer ttemp) qui est locale (sur le frontal) qui va accueillir l'id de l'élève et un champ Oui/non pour la sélection.
    ttemp.id
    ttemp.selected (valeur par défaut False)

    A l'ouverture du formulaire il faut faire
    - un delete de la table temp
    - un insert des id élève dans la colonne ttemp.id

    La liste affichera une requête avec les 2 tables (ttemp et eleve) avec ttemp.id, ttemp.selected , eleve.nom, eleve.prenom

    Il faudra ensuite travailler sur cette requête pour faire les traitements.

    Quand on sort il faut faire un delete de la table ttemp.

    Cordialement,

  7. #7
    Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci pour ces infos!!! Je vais essayer de mettre tout cela en œuvre demain (je n'ai pas encore tout compris mais je pense avoir suffisamment d'infos pour pouvoir me débrouiller ). Je vous tiens au courant!

  8. #8
    Candidat au Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Solution trouvée!!!
    Après de multiples essais, cela ne fonctionnait toujours pas malgré la mise en place de la solution proposée: impossible de travailler en multi-user dans un même formulaire lorsqu'il contient un une liste déroulante permettant l'encodage de plusieurs valeurs... j'ai poursuivis mes recherches sur le net et j'ai finalement trouvé une réponse vraiment toute simple:
    Il suffit de créer sur le champ concerné un événement Sur Changement (un simple Refresh) et je peux à présent utiliser ce formulaire en multi-user!

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

Discussions similaires

  1. Réponses: 44
    Dernier message: 26/12/2021, 19h11
  2. [MySQL] Insertion multiple dans une base de données MYSQL
    Par bryanmohamet dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 14/11/2010, 22h49
  3. Réponses: 5
    Dernier message: 09/07/2009, 18h22
  4. Une base de données multi-utilisateurs ?
    Par kakashi08 dans le forum Débuter
    Réponses: 10
    Dernier message: 24/05/2008, 22h03
  5. [MySQL] Stockage de choix multiple dans la base de donnée sous Joomla
    Par kdson dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/01/2008, 10h50

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