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 :

Access - Vba ? problemes sur creation d'une base


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut Access - Vba ? problemes sur creation d'une base
    Bonjour

    j'aurai besoin d'aide pour du Vba ( ou autre solutions) sous access

    En effet même si je bidouille pas mal sous excel, je seche totalement sous access

    Ce fichier sert a generer des dossiers papiers de suivi de contrats( evolutif d'ou la notion d'etre sauvegardé sous access qui permet de revenir dessus par la suite)

    Initialement je fourni un numero interne avec des infos de bases. Une fois le contrat revenu signé , je reviens dessus pour completer la totalité des infos necessaires a la saisie dans l'outils informatique

    Mes problematiques :

    - Le n° Interne : j'ai mis une generation automatique... le probleme etant que parfois le meme numéro peut servir sous differente declinaisons par exemple n° 200 peut devenir 200A 200B 200C)
    La numerotation interne ne me permet pas de le faire

    - Les clients : ici j'ai créé une seule base client. Initialement sous excel, j'avais une base client interne, et une base client externe. Selon le type de contrat selectionné ( Interne et fios correspondait aux client internes, et Externe aux clients extrerns) la champs correspondant apparaissait dans mon formulaire excel et j'avais mis un IF Then Esle pour que le champs correspondant apparaisse et se reporte sur le dossier papier a imprimer
    Et Ici et bien je ne sais pas faire

    - J'ai pas mal de tables dont j'ai groupé les infos par exemple la table R.A. ou ARA et plusieurs autres. Sous xcel j'avais une colonne NOM une Colonne CP . Le fait de selectionner Tel nom faisait apparaitre dans la cellule a coté du dossier papier ( a l'aide d'une rechercheV) le numero de CP. Ici j'ai du compiler les infos ensemble ce qui me prend bcp plus de place surtout pour les tables type Destination ou famille presta
    Je ne sais pas faire afficher le Champs CP dans un label ou autre lorsque je selectionne un nom

    - J'ai également un soucis pour faire apparaitre ou non certains champs selon les choix ( par exemple le champs Clef Wifi qui reste ici résident, ne devrait apparaitre que lorsque l'on selectionne la destination PRAUT. ( cela pour eviter a l utilisateur de rentrer des infos erronnée dans le formulaire - Comment donc faire l'equivalent d'un If Then Else sous access pour lui dire Si PRAUT, alors Clef wifi apparait Sinon Clef wifi apparait pas )

    - Une petite zone permettant de creer un formulaire de recherche sur le numero interne, ouvrant le formulaire integrale correspondant, serait un BIG plus

    Je vous joins ma base access pour que vous puissiez voir si vous me trouver une solution, et egalemnt le fichier excel qui marche a merveille ( sauf qu'il ne me garde aucune données du coup on doit tout se retaper a chaque fois)

    Voila si vous avez la possibilité de me regler ces problemes ( j'ai demandé une formation access mais bon.... c'est pas gagné avant un bon moment) ca serait super sympa

    Je reste a votre disposition pour toutes infos complémentaires ou éclaircissement, moi ca me parait clair , mais forcement je suis utilisateur .. donc pas forcement évident de comprendre quand on connait pas le sujet

    NB : Actuellement l'etat A Imprimer ne reprend que les dossiers ayant pour statut a imprimer


    Pour info on tourne en office 2010 sous win 7

    Le fichier Excel ( actuellement utilisé) et le fichier Access ( que je voudrais mettre en place) : MOT DE PASSE : 1221 http://dl.free.fr/qg0xve2HW

    Un gros merci d'avance a ceux qui pourront m'aider

    Bonne journée

    Céd

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Je ne vais pas répondre à tous mais voilà ma contribution.

    * Pour la numérotation, utiliser le AutoNum n'est pas une solution dans ton cas.

    Voilà ce que je ferais :

    ClefDossier (autonum, utilisé en interne par la BD)
    NumDossier (entier long, pour l'humain)
    DeclinaisonDossier (Texte, 1 caractère, pour l'humain)

    Comme tu es en Access 2010 tu peux peut-être utiliser les macro de données pour calculer NumDossier.
    Sauf si je l'ai manqué tu n'indique pas la façon dont les déclinaisons sont calculées.

    * Pour bloquer la saisie.

    On peut très facilement dans un formulaire rendre les zones conditionnelles.

    Sur l'évément Sur activation (onCurrent) mettre une procédure événementielle qui ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if me.TonChoix = "PRAUT" then
         me.ClefWifi.locked=false
      else
         me.ClefWifi.locked=true
    end if
    Et en utilisant le formatage conditionnel, sur une expression, on affiche le champ ClefWifi en blanc sur blanc pour le rendre "invisible".

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut
    Bonjour Merci deja pour ces pistes

    tu n'indique pas la façon dont les déclinaisons sont calculées.

    Le principe est que nous fournissons un numéro de contrat interne à l'aide du bouton de demande de numerotaiton interne ( par exemple on envoi un contrat a u nclient qui porte le Numero 42

    Lorsque le contrat arrive signé, il arrive que l'on doivent le scinder dans notre outils informatique, selon le type de prestation a realiser ce qui fait par exemple 42A 42B 42C qui sont a creer dans la base pour generer 3 dossiers differents qui devront au final rester residents

    Je n'ai par contre pas saisi ce que tu m'indiques comme codes ou en tout cas la manière de procéder


    * Pour bloquer la saisie.

    On peut très facilement dans un formulaire rendre les zones conditionnelles.

    Sur l'évément Sur activation (onCurrent) mettre une procédure événementielle qui ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if me.TonChoix = "PRAUT" then
         me.ClefWifi.locked=false
      else
         me.ClefWifi.locked=true
    end if


    Donc en gros si je comprend bien, je créé une macro ou je monte mon if the else qui va bien et je place cette macro
    dans les propriétés du formulaire sur l'evenement activation ?

    Et en utilisant le formatage conditionnel, sur une expression, on affiche le champ ClefWifi en blanc sur blanc pour le rendre "invisible".


    Ah ca ca me parait une bonne idée en effet je ne savais pas que les conditionnelles existait sous 2010 ( ca ne fait que quelques semaines que je l'ai et passer de office 2002 à 2010 , c'est une sacré revolution)


    En tout cas encore merci je vais creuser deja pour la partie de la marco pour l'affichage

    Bonne soirée

    Céd

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Idée de structure de table

    Table Dossier
    • ClefDossier (autonum, utilisé en interne par la BD)
    • NumDossier (entier long, pour l'humain)


    Table DeclinaisonDossier
    • ClefDeclinaisonDossier (autonum, utilisé en interne par la BD)
    • ClefDossier (autonum, utilisé en interne par la BD)
    • DeclinaisonDossier (texte, 1 carcatère)


    Relation entre DeclinaisonDossier sur ClefDossier.

    Cela va représenter ton découpage.

    Donc en gros si je comprend bien, je créé une macro ou je monte mon if the else qui va bien et je place cette macro
    dans les propriétés du formulaire sur l'evenement activation ?
    Oui.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut
    ok je vais tester ca ce week end histoire de voir ce que j arrive a faire


    Merci pour tes conseils

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 9
    Par défaut C'est pas gagné...
    Bonjour

    Bon comme prévu j'ai fait quelques tests.... euh non concluants.... je l'avoue


    disons que j'en suis au stade ou je n'arrive meme pas a trouver la syntaxe pour faire le if then else que je souhaiterai faire ...

    Par exemple si je veux faire une bidouille du genre Si dans T_BASE champ type de contrat = Contrat Externe , alors T_BASE champ Type Clt CS = Client Externe sinon RIEN
    Grosso modo je n'arrive pas a cibler le "nom" et l'emplacement des champs a definir

    Ok suis blond.... mais bon j'arrive a faire ca sous excel, il doit y avoir des differences flagrantes sur le coup

    Merci d'avance

Discussions similaires

  1. probleme sur creation d'une classe avec netbeans 6.5
    Par bambi98 dans le forum NetBeans
    Réponses: 1
    Dernier message: 25/03/2009, 19h17
  2. Probleme d'ecriture dans une base access
    Par mohamed_simo dans le forum ASP
    Réponses: 5
    Dernier message: 05/04/2006, 09h55
  3. Probleme de relations dans une base access.
    Par fredhali2000 dans le forum Access
    Réponses: 6
    Dernier message: 21/02/2006, 16h36
  4. question sur la creation d'une base
    Par vbcasimir dans le forum Débuter
    Réponses: 4
    Dernier message: 27/05/2005, 11h17
  5. [C#] Creation d'une base Access en C#
    Par fabounet dans le forum Windows Forms
    Réponses: 5
    Dernier message: 10/03/2005, 13h37

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