Structure de fractionnement Access

Fermé
anocheda - 18 juin 2008 à 20:44
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 - 20 juin 2008 à 19:44
Bonjour,

Bon j'y ai passé trop de temps mais ca marche pas...je sais pas si tu es toujours la lately mais bon je recommence:

J'ai une table access qui s'appel "registre" c'est le registre des risques de mon projet.
chaque risque (les elements de ma table) est identifié par son 'type' , son 'MajorGroup' et son 'Component'
ceux sont trois champs de ma table.
j'ai egalement un champ RONumber qui est une serie numerique croissante qui represente le numero de mon risque

Dans ma table je souhaite trouve rle champ 'RBS' qui doit de la forme suivante:

j'aimerai que pour tout les champ de ma table avoir:

RBS = Type.MajorGroup.Component.X

X est un chiffre qui doit augmenter en fonction des autres risque ayant comme debut de RBS Type.MajorGroup.Component

en gros Tye est une lettre ( R ou O)
MajorGroup un chiffre entre 1 et 4
Component un chiffre entre 1 et 9

pour le premier risque qui aura

Tye = R
MajorGroup = 2
Component = 6

je veux RBS = R.2.6.1

le deuxieme RBS = R.2.6.2 par contre si MajorGroup = 1 pour un autre risque il faut RBS = R.1.6.1

J'ai crée un formulaire basée sur ma table qui montre de jolie facon totues les données
j ai réussi avec l'aide de laty a faire marcher le truc jusqu a ce que X depasse 9
je l ai fait sans faire de macro avec des formules du type

cle =[RBSType] & "." & [RBSMajorGroup] & "." & [RBSComponent]
Max =MaxDom("Right(RBS,1)";"Registre";"Left(RBS,5) = cle")+1
RBScalc =VraiFaux(EstNull([Max]);[cle] & "." & "1";[cle] & "." & [Max])

ca marche pas mal, apres je fait une marco ou je di
Me!RBS.Value= RBSCalc

mais il y a deux problemes:
ca s arret a 10
ca le fait a chaque fois que je lance ma macro donc si je rapui sur mon bouton le RBS =R.1.1.1 va devenir direct R.1.1.2 et ainsi de suite

pour le probleme de l'arret a 10 latelygeek ma donnée une astuce en faisant un truc du style:
=MaxDom(VraiFaux(Gauche(Droite([RBS];2);1)=".";Droite([RBS];1);Droite([RBS];2));"Registre";"Left([RBS];5) = [Cle]")
mais ca marche pas parceque je le fas directement dans mon formulaire sans passer par un macro

pour l'autre probleme il suffit de dire pour RONumber < Me!RONumber

mais voila je sais pas du tout comment sa marche les macro

Donc ce que je cherche c'est quelqu'un de genereux qui m'ecrive EXACTEMENT la macro a faire et que je la mte sur un bouton
toutes les astuces sont deja trouvées, il faut plus que la redaction ....

Voila c'est pas peu long mais il y aura ptet quelqu un de courageux

Merci
Antoine

6 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
18 juin 2008 à 23:47
Je suis toujours là, mais il est trop tard ce soir... Je regarde demain!!!
0
Merci Lately
excuse moi mais je commence a peter un cable entre les points les virgules les points virgules...
la theorie marche tres bien mais j suis un gros nulos en visual basique et j ai trop pas le temps en ce moment de me renseigner...
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
19 juin 2008 à 15:59
Ca devrait pas être si compliqué.

cle =[RBSType] & "." & [RBSMajorGroup] & "." & [RBSComponent]
NbCar =Iif(Left(Right([RBS],2),1)=".",1,2)
Max =MaxDom("Right(RBS,NbCar)";"Registre";"Left(RBS,5) = cle")+1
RBScalc =VraiFaux(EstNull([Max]);[cle] & "." & "1";[cle] & "." & [Max])

Et sur tu rajoutes
If Me!RBS.Value="" then Me!RBS.Value= RBSCalc
0
C'est le NbCar qui marche pas:

Le champs RBS est vide quand je rentre une nouvelle donnée et donc il me met toujours NbCar = 2 puisqu il y a rien
ca marche si j a ideja mon RBS mais c'est ce que je cherche...
Il faut rentrer NbCar dans le MaxDom mais ca coince, si je remplace NbCar par sa valeur dans le MaxDom il le prend pas...
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
19 juin 2008 à 20:03
Pas le temps d'y penser ce soir, mais je ne te laisse pas tomber. D'acc?
0
merci c'est tres sympa!!
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550 > anocheda
19 juin 2008 à 22:37
Pour me faire gagner du temsp et me simplifier la réflexion, tu voudrais pas m'envoyer ta base? même une version allégée avec juste la table dont j'ai besoin...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
20 juin 2008 à 18:11
Salut lately,

Je t'ai envoyé ma base de donnée simplifiée par mail, j ai trouvé ton adress dans tes infos et je savais pas faire comment auterement
est ce que tu la recue?
en tout cas je te remerci

J'ai vu que ca fesait bien longtemps que tu travaille avec access et je me demande si tu pouvais pas m'evoyer une de tes plus belle réalisation dans le genre formulaire pour me donner des idées pour le mien , voir les possibilités sous acces.

sinon j ai encore un question simple:

est ce qu on peu inserer un sous onglet dans une seule page d'un onglet? j y arrive pas a chque fois il me la met dans mon formulaire et pas dans mon onglet
et sinon est ce qu on peut avec access une "bare d'outil' ? Une bare avec des menu (genre fichier, edition, afichage..) que je pourrais personaliser. ca serait ptet mieu que mes onglets

Merci lately
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
20 juin 2008 à 19:44
Je l'ai reçue. je regarde et je te tiens au courant. A+
0