Bonsoir,
Est-ce que quelqu'un peut me dire si c'est possible de creer un clefs primaire dans le format annee,sem, numéro (donc 0904001 pe)?
Et si oui, comment si prendre? Est-ce qu'il y a un tutoriel la dessus?
Merci pour vos réponses.
Hans
Bonsoir,
Est-ce que quelqu'un peut me dire si c'est possible de creer un clefs primaire dans le format annee,sem, numéro (donc 0904001 pe)?
Et si oui, comment si prendre? Est-ce qu'il y a un tutoriel la dessus?
Merci pour vos réponses.
Hans
Salut,
Oui, on peut utiliser ce qu'on veut comme clé primaire, même un numéro de téléphone.
Le principe n'est pas tant le contenu, mais le fait qu'il n'y soit qu'une seule fois.
Pour ton numéro, tu peux toujours faire une fonction, mais ce ne ser pas un nombre mais une chaîne.
Dans la FAQ, il y a des exemples.
Pour te donner une idée, tu vas devoir extraire l'année, la semaine et faire une comparaison avec les données de la date courante.
Jette un oeil sur les fonctions Date
http://mhubiche.developpez.com/vba/f...ions/datetime/
Ensuite, tu va devoir récupérer les derniers caractères de ta chaîne pour les transformer en nombre et l'incrémenter.
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Merci pour ta reponse.
Je vais me documenter et me mettre au boulot.
H
ok, j'ai concocter quelque chose.
Voici mon code. Ceci fonctionne. Je ne sais pas si c'est très élegant ou si il y a des moyen de racourcir le code, mais bon, je suis auto-didact et je fais ce que peux.
Maintenant j'aimerais encore savoir, pour que ça soit parfait, si'il y a moyen de laisser le numéro (dernière trois chiffres) recommencer à 001 à chaque fois qu'on change la semaine.
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 Private Sub Form_Load() DoCmd.GoToRecord , , acNewRec Dim Sleutelnummer As String Dim Jaarkort As String Dim Volgnummer As String Dim Week As String Jaar = DatePart("yyyy", Date) Jaarkort = Right(Jaar, 2) Week = DatePart("ww", Date) If Week <= 10 Then Week = "0" & Week End If Volgnummer = DMax("[NumSeeben]", "tblMachines") Volgnummer = Right(Volgnummer, 3) Volgnummer = "00" & Volgnummer + 1 Sleutelnummer = Jaarkort & Week & Volgnummer Me.NumSeeben = Sleutelnummer Me.Marque.SetFocus End Sub
Donc semaine 07 se termine pe avec 0907053 et semaine 08 commence avec 0908001.
Je vous remercie pour vos remarques.
Hans
Salut,
On a déplacé Remouchamps vers le Nord.
Ongelofelijk.
Oui, Tu as fait la partie la plus simple, récupérer les morceaux de date.
Mais cette ligne :
va te poser des problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Volgnummer = "00" & Volgnummer + 1
Si tu as 10 ou 100, tu vas obtenir 0010 et 00100, ce qui te fait 4 ou 5 positions.
Sachant que tu as un nombre, tu peux utiliser la fonction
Il faut maintenant récupérer la dernière valeur de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Format(VolgNummer , "000")
Une fonction DMAx devrait le faire.
Il suffit de comparer la semaine en cours à celle du dernier enregistrement.
Maintenant, le tout est de savoir si on change de semaine le 1 janvier, auquel cas tu auras tout.
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Bonsoir Heureux-oli,
Mais oui, il y a des Hollandais partout
Je travail déjà depuis 15 ans pour des entreprises en Wallonie, mais, mais mais.
Merci pour l'indice sur le format, j'ai chipoté un petit peu mais ceci fonctionne maintenant très bien :
Concernant la comparaison de la semain encours avec la semaine encodé, tu peut aussi me donner un indice comment me prendre?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Volgstring = DMax("[NumSeeben]", "tblMachines") Volgstring = Right(Volgstring, 3) Volgstring = format(Volgstring + 1, "000") Sleutelnummer = Jaarkort & Week & Volgstring Me.NumSeeben = Sleutelnummer
Merci d'avance
Hans
Partager