Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2010, 15h25   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Par défaut numérotation séquentielle et automatique

* Bonjour, *

j'ai un champ de type varchar, je veux mettre par exemple au début 22/2010 mais il y aura un erreur dans le trigger pre-insert qui incrémente ce champ en sélectionnant le max et ajoute un. S'il y a une idée aide moi Merci
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 15h52   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 522
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 522
Points : 6 449
Points : 6 449
Quelle est la partie qui doit être incrémentée ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 10h42   #3
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Bonjour,
la partie à gauche et je veux que la partie à droite se change selon l'année courante. Merci
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2010, 11h24   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 522
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 522
Points : 6 449
Points : 6 449
Code :
1
2
 
SELECT SubStr('22/2010',1, InStr('22/2101','/')-1) + 1 || '/' || To_Char(SYSDATE,'YYYY') FROM dual
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 10h14   #5
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Bonjour Yerbouti,

j'ai essayé le code suivant :
Code :
1
2
SELECT SubStr('0/2010',1, InStr('0/2101','/')-1) + 1 || '/' || To_Char(SYSDATE,'YYYY') INTO :bon_entree.NUMERO_BE
FROM bon_entree;
mais j'ai le message suivant suite à une enregistrement dans la base:

Citation:
FRM-40735:LE DECLENCHEUR PRE-INSERT A DETECTE UNE EXCEPTION ORA-1422 NON TRAITEE.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 10h30   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 522
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 522
Points : 6 449
Points : 6 449
testez vos ordres SQL sous Sql*plus, Toad ou SqlDeveloper, et vous comprendrez.
Il n'y a aucune clause de filtrage dans votre requête qui doit donc ramenu plusieurs lignes, or SELECT ... INTO ne doit ramener qu'une ligne.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 22h05   #7
 
Inscription : janvier 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 8
Points : -3
Points : -3
essaie ça dans le pre_insert du block:
Code :
1
2
3
4
 
SELECT MAX(SUBSTR(col_seq,1, INSTR(col_seq,'/')-1))+1|| '/' || To_Char(SYSDATE,'YYYY')
INTO :col_seq
FROM tabseq;
canalg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 09h56   #8
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Bonjour ,

Comment je peux initialiser la valeur pour chaque année. Par exemple:
on a en fin décembre ce numéro :233/2010
et au début de 2011 on a ce numéro: 1/2011.

Merci pour vos propositions.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 12h15   #9
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Bonjour,
je vous souhaite bonne année 2011.

je veux savoir si quelqu'un a un e solution pour ce problème s'il vous plait c'est très urgent.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 13h37   #10
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 522
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 522
Points : 6 449
Points : 6 449
J'imagine qu'avant d'incrémenter le numéro, il faut voir si l'année a changé. Puisque votre valeur 233/2010 doit être stockée en base, il faut lire ce dernier enregistrement et vérifier que l'année (les 4 derniers chiffre) est la même. Sinon, il faut réinitialiser la séquance à 1.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 14h48   #11
Membre du Club
 
Inscription : novembre 2007
Messages : 221
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 221
Points : 66
Points : 66
Merci pour votre réponse mais comment je peux apporter la dernière enregistrement? (sans utiliser un curseur)
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 15h25   #12
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 522
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 522
Points : 6 449
Points : 6 449
C'est stocké dans votre table. Vous devez trouver un moyen d'interroger le dernier enregistrement de cette table.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h29.


 
 
 
 
Partenaires

Hébergement Web