Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
838 connectés 

  FORUM HardWare.fr
  Programmation

  access et génération d'une valeur auto ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

access et génération d'une valeur auto ???

n°201574
jokool
it's a kool world.
Posté le 25-08-2002 à 16:33:08  profilanswer
 

Salut tout le monde :D
 
je suis en train de matter ACCESS, le log de db pas le film hein  :D  
 
Et je cherche à générer une valeur automatiquement.
 
En gros c'est un chiffre "numfacture" qui correspond à un numéro de commande.
Qui contient l'id (clè primaire et NuméroAuto) et la date sous le format jjmmaa.
 
Jusqu'à là ça va ??? j'arrive bien à afficher l'id (1 pour le premier), et la date sous le format jjmmaa (240802 pour aujourd'hui). Mais lorsque je demande dans une requète de m'afficher [id]&[date] il me met 124/08/02 (le 1 de l'id et la date au format abrégé :( ).
Comment je peux faire pour générer un numéro du type 1240802 automatiquement ????
 
une macro peut-être ?????
 
je suis un newbie sur ACCESS ! alors n'y aller pas trop fort hein :D
 
merci d'avance :D

mood
Publicité
Posté le 25-08-2002 à 16:33:08  profilanswer
 

n°201985
vttman2
Je suis Open ...
Posté le 26-08-2002 à 15:06:17  profilanswer
 

Bon juste pour te donner quelques idées ...
soit une table : table4
champ x type date/time
champ y type numérique
 
ex : x               y
     12/04/2002      5
     13/04/2002      6        
     
SELECT format(x,'ddmmyyyy';) & (select max(y)+1 from table4) AS Expr1
FROM Table4;
 
Résultat : 120420027
           130420027  
 
 
 

n°202183
jokool
it's a kool world.
Posté le 26-08-2002 à 16:55:54  profilanswer
 

salut :D merci de me répondre
 
je vois bien ton truc mais j'en fait quoi ??? je le met où ???
 
Depuis hier j'ai à peu près compris les tables, les requètes, les formulaires, les liaisons entre tables, les combinaisons de tables, les requètes de tri et de calcul, les sous-formulaires.
 
Mais dès qu'il faut faire des macros ou générer des formules :( je suis naze. Pourtant je viens de PHP, MySQL, mais je n'arrive pas à m'y retrouver :(
 
j'en fais quoi de ton select ????
 
 

n°202825
vttman2
Je suis Open ...
Posté le 27-08-2002 à 14:13:34  profilanswer
 

Ok
 
Bon tu veux générer un code style  
on est le 25/02/2002  => 125022002
on est le 27/02/2002  => 227022002
on est le 27/08/2002  => 327082002 ....
on est toujours le 27/08/2002 mais c'est un 2 ème insert
=> 427082002 ...
 
Si tu créé une table CONSTU qui contient  
1 champ numérique MAXI,
1 ligne et qui contient / va contenir  
comme donnée le dernier numéro
utilisé (1 puis 2, puis 3 et enfin 4 dans notre cas)  
 
Pour insérer dans une autre table  
champ NUMAUT ex : TABDON une bonne valeur
formatée comme tu veux, tu peux faire par ex :
 
Update CONSTU set MAXI = MAXI + 1  
(on passe de 4 à 5)
 
Insert into TABDON (NUMAUT, ...)  
values ((select max(MAXI)+1 from CONSTU) & format(now,'ddmmyyyy';),...)  
(Valeur insérée ici 527082002)
 
Bon ya d'autre façon de procéder mais ça
ça devrait fonctionner  :heink:  
 

n°203195
jokool
it's a kool world.
Posté le 27-08-2002 à 18:06:59  profilanswer
 

Tout d'abord merci de t'occuper de moi :D
 
je comprend bien ce que tu me dis.
 
Le problème c'est que je suis en train de faire les tables, les requètes et les formulaires pour gérer des prises de commandes et je ne sais pas ou mettre les lignes que tu me donne.
 
j'arrive à générer une valeur du type:
227/08/2002 (2 pour le numéro et le reste pour la suite de la date).
J'arrive à formater la date x avec 'jjmmaa' à l'affichage, et le chiffre y séparément.
Mais lors de l'enregistrement du numéro en faisant  
num: [y]&[x] dans une requète
j'obtiens toujours le numéro 2 + la date en forme abrégée 27/02/2002 ==> 2/27/08/2002 :( :( :(
 
j'ai bien matter le format(x,'ddmmyyyy';) que tu me donne et qui devrait marcher, mais je ne sais pas ou l'insérer. J'ai essayé dans une requète, puis dans un formulaire mais il me dit toujours qu'il y a une erreur :(
 
 
 
 
Je l'ai fait en PHP+MySQL pour simuler une prise de commande de pizza :) , ça marche nickel pour les numéros de facture auto, pour les commandes, les clients, bref tout est nickel :D
 
j'essai de faire la même chose avec ACCESS, le prob c'est que je n'ais toujours pas trouver ou je devais coller le code que tu me donne :(
Quand je l'aurais trouver je n'aurais plus besoin de passer par l'assistant d'ACCESS pour programmer des valeurs.
 
 
 
 
merci d'avance
 
 
je vais essayer de matter de ce que tu viens de me donner :)

n°203777
vttman2
Je suis Open ...
Posté le 28-08-2002 à 13:07:00  profilanswer
 

OK  :sleep:  
 
Exemple d'une ligne (en passant) de
la Propriété "sur click" d'un bouton  
texte2 (dans un formulaire formulaire1)
 
DoCmd.RunSQL "Insert into table4 (z) values (format(forms!formulaire1!texte2,'ddmmyyyy';))"
 
=> enr. (z) inséré avec la valeur 27082002

n°203871
jokool
it's a kool world.
Posté le 28-08-2002 à 14:54:33  profilanswer
 

:bounce:  :bounce:  :bounce:  
 
j't'dis si ça marche  
 
 :pt1cable:  :pt1cable:  :pt1cable:

n°204148
jokool
it's a kool world.
Posté le 28-08-2002 à 17:50:14  profilanswer
 

Bon :(
 
je t'explique en détail car je pense qu'on est pas loin de la soluce :D
 
j'ai une table T1
 
clé primaire 'id' numauto
            'date' format date
            'num' texte
 
ensuite j'ai un formulaire F1 qui pointe sur T1
 
 
ensuite j'ai un formulaire F0 je met un bouton de commande 'nouveau numéro' qui pointe vers F1  
 
sur propriété du bouton de commande , onglet évènement, sur clic
j'ai rentrer  
DoCmd.RunSQL "Insert into T1 (num) values (format(F1!id,'ddmmyyyy';))"
 
mais lorsque je clique sur le bouton de commande 'nouveau numéro'
ça me dit "access ne peut pas trouver la macro 'DoCmd'."
 
 :(  :(  :(  
 
on ne doit pas être loin !!!
 
je suis en train de faire des tests pour savoir si on peut faire des requètes de cette façon pour afficher des données spécifiques.


Message édité par jokool le 28-08-2002 à 17:56:11
n°204186
jokool
it's a kool world.
Posté le 28-08-2002 à 18:15:55  profilanswer
 

OUPS je viens de coller ton code dans une feuille visual basic.
 
apparament c'est là qu'il faut le mettre car je viens de voir des DoCmd.  
 
par contre il m'enregistre toujours 311299 et il faut que  mette ddmmyy et non jjmmaa.
 

n°204340
jokool
it's a kool world.
Posté le 29-08-2002 à 01:56:21  profilanswer
 

il est 2h  :cry:  
 
et je viens de trouver ou je peux mettre ces satanées instructions SQL  :kaola:  
je m'y retrouve enfin :D
 
mais la syntaxe n'est pas la même qu'avec MySQL, y aurait t'il une doc sur le net dur la syntaxe ????

mood
Publicité
Posté le 29-08-2002 à 01:56:21  profilanswer
 

n°204348
jokool
it's a kool world.
Posté le 29-08-2002 à 03:04:41  profilanswer
 

il est 3h07
 
je viens de trouver  :pt1cable:  en fait c'est vraiment tout kon
 
UPDATE T1 SET num=num+1 WHERE id=1;
dans une requete heing.
comme avec MySQL koi  :lol:  
 
 

n°204350
jokool
it's a kool world.
Posté le 29-08-2002 à 03:29:37  profilanswer
 

Bon ça y est je viens de capter :D la procédure évènementielle :D
 
en fait maintenant lorsque j'ouvre une nouvelle facture j'ai automatiquement une incrémentation du numéro de facture de type 1290802, 2290802, 3290802, etc... top kool :D et du coup je viens de comprendre ou il fallait mettre toutes les formules que tu m'as donné :D
 vieux motard que jamais heing :D
 
le seul truc maintenant c'est j'aimerais bien supprimer la boite de dialogue qui s'affiche entre les deux formulaires qui m'annonce que je met à jours une ligne de la table.
 
 
 
Bon j'm'en vais m'coucher car y s'fait tard quand même heing !!!
 
merci encore pour ta patience  :jap:


Message édité par jokool le 29-08-2002 à 03:30:20
n°204351
jokool
it's a kool world.
Posté le 29-08-2002 à 04:04:48  profilanswer
 

Bon ce coup ci je vais vraiment me chécou
 
 :sleep:  :sleep:  :sleep:  :sleep:  :sleep:  :sleep:  :sleep:

n°204597
vttman2
Je suis Open ...
Posté le 29-08-2002 à 14:33:01  profilanswer
 

le seul truc maintenant c'est j'aimerais bien supprimer la boite de dialogue qui s'affiche entre les deux formulaires qui m'annonce que je met à jours une ligne de la table.  
 
=> DoCmd.SetWarnings False
 
puis après ne pas oublier de le repositionner ...
 
=> DoCmd.SetWarnings True
 
 
Bon je vois que ça devient tout bon ...

n°204631
jokool
it's a kool world.
Posté le 29-08-2002 à 14:59:21  profilanswer
 

Nickel ça marche d'enfer.
 
Y'a t'il un moyen dans un formulaire de n'afficher qu'un seul enregistrement ? et de virer par la même occasion les icones qui permettent de naviguer dans les tables, pour n'avoir accès qu'a ce que je met sur le formulaire ?? en fait je voudrais pouvoir faire comme avec PHP faire un formulaire et le valider en l'enregistrant avec un bouton de commande (pour éviter d'avoir des enregistrements sans rien du tout dans les champs).
 
Merci encore  :jap:  :jap:  :jap:

n°204701
vttman2
Je suis Open ...
Posté le 29-08-2002 à 15:59:52  profilanswer
 

Il faut regarder dans  
propriétés du Formulaire
 
onglet format  
 
options  
afficher sélecteur ... boutons de déplacement
 

n°204720
jokool
it's a kool world.
Posté le 29-08-2002 à 16:19:13  profilanswer
 

Trop fort :D
 
bon je vais te laisser un peu en paix  :D  
 
je vaix essayer de faire un formulaire sans faire un enregistrement auto, et mettre un bouton OK pour valider l'enregistrement.
Je trouve ça nul, le fait qu'il suffise de mettre une valeur dans un champ pour automatiquement valider un nouveau enregistrement :(
 
merci encore :)

n°204730
jokool
it's a kool world.
Posté le 29-08-2002 à 16:26:28  profilanswer
 

OUPS encore moi
 
une dernière chose , y'a moyen d'annuler la navigation dans les enregistremnt avec la roulette de la souris ?????
 
Et je suppose qu'il y a aussi des commandes pour virer les barre d'outils ??? je suis en train de matter ça aussi.

n°204740
jokool
it's a kool world.
Posté le 29-08-2002 à 16:34:27  profilanswer
 

OUPS OUPS encore moi mais promis je te laisse après ça  :lol:  
 
comment je peux faire pour lors de l'ouverture d'un formulaire tester le jour du mois et remettre à 0 le numéro de facture ????
 
genre  
 
if 'jj' est 1 update num=0;
 
quoi y marche pas ce code ????  :ouch: t'es sur ????
 
je suis en train de matter sur les propriétés du formulaire...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  access et génération d'une valeur auto ???

 

Sujets relatifs
effacé une valeur sélectionné dans un dblookuplistboxles pointeurs et type access
[PHP] Generation auto de mot de pass alphanum 8 car ??PHP + Formulaire : récupérer la valeur d'une liste.
[sql] auto_increment avec MS Access[ ACCESS] Boite de dialogue ouvrir fichier avec ACCESS et VB
mysql veut pas prendre toutes les entrées de ma table access?!Inclure valeur images dans champ texte [ - job's done - ]
Plus de sujets relatifs à : access et génération d'une valeur auto ???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR