|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Mesdames, Messieurs
Je suis entrain de créer une base de données sous access 2007. Elle me permet d'enregister des échantillons de médicaments qui arrivent dans mon laboratoire. Pour chaque echantillon receptionné je fait un enregistrement. J'aimerais que dans mon formulaire, il me suffise de cliquer sur un bouton pour donner à mon echantillon un numéro de la forme AA_MM_XX (AA = année au jour de la saisie, MM = mois au jour de la saisie, XX= 01 si c'est le premier enregistrement de la journée, 02 si c'est le deuxiême enregistrement de la journée... etc.....) J'ai une base de données qui me sert d'exemple que je ne peux malheureusement pas ouvrir en mode création pour un défaut d'autorisation. Cependant j'observe que le numéro d'échantillons y est créé à partir d'une table ("Sequence") qui contient un champ ("PREFIX") qui contient les données AA_MM et un champ ("NEXTID") qui contient les données XX Merci de bien vouloir m'aider à developper cette fonctionnalité. PS : je suis un béotien de la programmation VBA, je n'utilise que la boite à outils. Si il est possible de ne pas rendre la réponse trop compliqué ce serait au top. Merci à vous. |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Bonjour,
Citation:
C’est voulu comme système ? Citation:
__________________
L'informatique fait son grand retour au lycée... |
||
|
10
|
|
|
#3 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Je me suis trompé.
01 si c'est le premier enregistrement du mois 02 si c'est le deuxieme enregistrement du mois etc.... |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
C’est efficace comme système, surtout en fonctionnement multi-utilisateurs simultanés. Est-ce que c’est le cas ?
Oui c'est le cas. Mais par contre je sais pas du tout comment m'y prendre. |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Visiblement pas mal de gens lisent ma question. Peut être n'y répondez vous pas car ma question est trop vague et necessite une reponse trop longue.
Est il possible de nommé ce que je cherche à faire afin que je puisse mieux effectuer mes recherches. |
|
|
00
|
|
|
#6 |
![]() ![]() Denis Développeur informatique Inscription : août 2004 Messages : 3 206 ![]() |
Oui,
Il te faut créer ton propre numéro, comme on définirait ses propres numéros de factures mensuelles : Fait une recherche dans le forum sur "numéro de facture" par exemple... Pour le préfixe il faut utiliser la formule: et pour l'ID: Code :
Me.NEXTID = Format(Nz(DMax("NEXTID", "Sequence", "PREFIX='" & Format(Date, "YY-MM") & "'") + 1, 1), "00") A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp. Bon développement ! Mes tutoriels et contributions sur ma page perso: Ma page personnelle |
|
20
|
|
|
#7 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Hé hé, pendant que User répondait, je concoctais une petite fonction permettant de récupérer le prochain indice.
Je la mets quand même hein ! Il faut d’abord créer la table Sequence(PREFIX(texte), NEXTID(entier long)) avec éventuellement une ligne déjà remplie, par exemple : PREFIX="11-08" et NEXTID=1 Puis copier/coller le code ci-dessous dans un module VBA (ALT F11 puis Insertion>Module) Code :
Regarder l’indice retourné et voir si le compteur est mis à jour dans la table Sequence. Faire d’autres essais en bidouillant PREFIX et NEXTID. A tester puis on verra après comment utiliser la fonction dans le formulaire. Avec l’aide de User en plus, ça devrait le faire…
__________________
L'informatique fait son grand retour au lycée... |
||
|
20
|
|
|
#8 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Voilà F leb, ça à l'air de marcher pas mal là, merci beaucoup.
Pouvez vous m'aider à integrer cela dans un formulaire? J'ai un peu de mal à obtenir un Textbox avec UN numero sous la forme MM_AA_XX en partant de deux champs différents : MM_AA et XX. Ainsi qu'un bouton next. Je continue à bricoler un peu... |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
bonjour,
essaye sur l'évènement "Avant insertion" de ton formulaire de saisie des échantillons: Code :
__________________
L'informatique fait son grand retour au lycée... |
||
|
10
|
|
|
#10 | ||
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Voilà ce que j'ai fait :
Je suis retouner dans mon formulaire. J'ai ajouter le champ "Sample NR" (numero déchantillons) J'ai creer un bouton, je suis aller dans la feuille de prorietés du bouton dans l'évenement On click j'ai copier : Code :
|
||
|
|
00
|
|
|
#11 | |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
je ne vois pas d'erreur, sinon qu'entre les deux:
Citation:
__________________
L'informatique fait son grand retour au lycée... |
|
|
10
|
|
|
#12 | ||
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Mais ¨je ne comprend pas alors pourquoi on a creer la table "Sequence" du coup, ne pourrait on pas faire un code qui ressemble à ca (j'invente totalement mais je pemse que vous saisirez l'idée)
Code :
|
||
|
|
00
|
|
|
#13 | |||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Citation:
…La table Sequence permet de stocker le prochain indice à utiliser. La table est bien sûr disponible pour tous les utilisateurs sur la dorsale. Pour récupérer le prochain indice, on passe par la fonction GetIndice() car il faut aussi mettre à jour l’indice en l’incrémentant à chaque nouvel appel. Code :
Code :
Dans ton formulaire en mode création, dans le ruban en haut tu as un bouton "Ajouter des champs existant", tu fais glisser SampleNR dans le formulaire. Une textbox portant le même nom SampleNR lié au champ de la table est automatiquement ajouté.
__________________
L'informatique fait son grand retour au lycée... |
|||||
|
10
|
|
|
#14 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
Bon,
Malgré toute votre aide, je n'y arrive pas J'abandonne. Merci en tout cas, du temps que vous m'avez accordé. Bonne continuation. |
|
|
00
|
|
|
#15 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 415 ![]() |
Pas maintenant, tu y es presque
![]() Pourrais-tu mettre un extrait de ton fichier en pièce-jointe (compacté puis zippé) ?
__________________
L'informatique fait son grand retour au lycée... |
|
10
|
|
|
#16 |
|
Invité régulier
![]() Adrien Inscription : août 2011 Messages : 48 ![]() |
YUHUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
En voulant faire du rangement dans les lignes de codes pour ne pas avoir honte devant vous, j'ai réussi. Je ne comprend vraiment rien, j'ai fait tout comme d'hab. Merci, Merci, Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com