Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Générer une clé alphanumérique [ Base de données / SQL Server ] (codial)

lundi 28 janvier 2008 à 14:17:54 | Générer une clé alphanumérique

codial

Bonjour à tous,

je cherche comment générer une clé alphanumérique.
J'ai une table clients avec CLICOD  et CLINOM.
Quand je saisi le nom dans un edit (ou dbedit je ne sais pas encore) j'aimerais arriver à générer une clé du type:

Saisi nom TOTO ALAIN
Clé générée: TOTOAL0008

C'est à dire prendre les 6 premiers caractères du nom et  4 chiffres s'affichant dès la saisie de la première lettre du nom.
Ces 4 chiffres s'incrémentant en fonction des 6 premier caractères existant

Par exemple:
S'il existe déja TOTOAL0008 le suivant devra être TOTOAL0009

J'espère avoir été assez clair.

Si quelqu'un peut me dépanner.

D'avance merci.

Bien cordialement

Codial


lundi 28 janvier 2008 à 15:21:22 | Re : Générer une clé alphanumérique

f0xi

Membre Club Administrateur CodeS-SourceS

UserCode := UpperCase(copy(Nom, 1, Max(4, Length(Nom))) + copy(Prenom, 1, Max(2,Length(Prenom))); { = TOTO+AL }

>> requette SQL : 'SELECT * WHERE Code LIKE  `'+UserCode+'%`'; { Chercher tout les TOTOAL* }
>> lire Count de la requete (nombre d'element trouvé ?)

ElemCount := { sqltruc.RowCount } + 1;
UserCode := format(UserCode+'%.4d',[ElemCount]); { = TOTOAL+000n }



deefsign.gif

lundi 28 janvier 2008 à 16:28:34 | Re : Générer une clé alphanumérique

codial

Bonjour,

merci pour cette réponse rapide.

Je teste mais j'ai un soucis avec la fonction max, elle n'exista pas en Delphi.

Cordialement

lundi 28 janvier 2008 à 16:56:43 | Re : Générer une clé alphanumérique

codial

Bonsoir,

j'ai créer les functions Min et Max. En fait c'est la fonction Min qu'il faut utiliser pour mon besoin.
Ceci dit il faudrait que j'arrive à gérer les espaces car le nom et le prénom sont saisie dans le même Edit.

TOTO ALAIN doit égaler TOTOAL
Tu sais faire?

Cordialement



mardi 29 janvier 2008 à 10:03:47 | Re : Générer une clé alphanumérique

cantador

Membre Club
Je supprimerai le blanc et du coup le reste est simple :

procedure TForm1.Button1Click(Sender: TObject);
var
Str, Extr : string;
begin
 Str := 'TOTO ALAIN';
 Extr := copy(AnsiReplaceStr(Str, ' ',''),1,6);
 ShowMessage(Extr);
end;

Pour la numérotation, je créerai un champ incrémental automatique comme çà on évacue, le souci du + 1..
et ensuite, il suffit de faire un champ calculé (non stocké)

cantador

mardi 29 janvier 2008 à 10:15:39 | Re : Générer une clé alphanumérique

codial

Bonjour,

merci pour cette réponse, mais pourrais tu expliciter cette partie:

"Pour la numérotation, je créerai un champ incrémental automatique comme çà on évacue, le souci du + 1..
et ensuite, il suffit de faire un champ calculé (non stocké)"

D'avance merci

Cordialement

 


mardi 29 janvier 2008 à 10:24:35 | Re : Générer une clé alphanumérique

codial

Bonjour,

Autre chose:

{ DM.TBQuery1.RowCount } ne renvoie rien?

Je me trompe?
Cordialement

mardi 29 janvier 2008 à 11:50:17 | Re : Générer une clé alphanumérique

cantador

Membre Club

Un champ auto-incrémental se crée dans une table..
(je suppose que tu utilises BDE + paradox..)

Ta concanétation:
  doit d'afficher à l'écran dans un Edit (et non un DBEdit)
Edit1.text := Extr + IntToStr(ChampIncr));
pour connaître le nombre d'enregistrements renvoyés par une requête stockée dans un TQuery :
Query1.RecordCount

Bien sûr, il y a d'autres possibilités...

cantador


mardi 29 janvier 2008 à 11:54:29 | Re : Générer une clé alphanumérique

codial

Bonjour,

Extr := copy(AnsiReplaceStr(Str, ' ',''),1,6);

Sur cette ligne j'ai un message d'erreur sur "
Caractère incorrect dans le fichier d'entrée:""($22)

Cordialement

 


mardi 29 janvier 2008 à 12:08:11 | Re : Générer une clé alphanumérique

cantador

Membre Club
je teste tous mes codes avant de les poster :

Copy(AnsiReplaceStr(Str, ' ',''),1,6);
Sous D7.


N'oublie pas le StrUtils dans les uses...

Si tu as encore un souci, merci de posterTOUT
le code.

cantador


1 2

Cette discussion est classé dans : générer, clé, saisi, alphanumérique, totoal0008


Répondre à ce message

Sujets en rapport avec ce message

Récupérer la clé primaire d'une table [ par mik38 ] Bonjour à tous,je suis nouveau sur le forum et "sur delphi",je cherchais une fonction du genre GetIndexNames pour les index qui me renverrait la clé p Host SMTP [ par winocam ] Est-il possible de récupérer automatiquement le host pour un serveur SMTP sous Windows XP ? Cela fonctionnait très bien sous Windows 95/98 en allant r Registre : récupère l'ensemble des clés d'une clé [ par Bruto ] Dans mon programme, l'utilisateur choisit un mot par exemple aléatoire et je crée une clé portant le même nom dans un clé spécifique.Il y a donc possi Générer des cliques ou avoir acces a ... [ par stage ] Salut ! Mon probleme est le suivant :jai plusieurs panel ( qui se trouve a être un composant que jme suis créé ) sur ma form1 qui sont créés dynamique forceNewPage dynamique en QuickReport [ par manudel ] J'aimerais pouvoir effectuer l'opération suivante :partant du fait que je ne peux pas me servir des bandes enQuick Report, je dois générer des sauts d clé logicielle [ par tao ] je cherche un moyen de créer une clé logicielle, pour une nouvelle application.clé que l'on doit rensigné lors de l'installation du produit pour ensui recherche algorithme pour calcul de clé logicielle [ par tao ] Je suis en train de créer un permettant la création d'édition. Ce logicielle intégre la notion de droit utilisateur. Je souhaite créer un menu permett [IB]recherche par mot clé [ par kurt ] Voilà, en fait j'aimerais effectuer une recherche dans certains champ de ma base IB par mot clef, mais comment faire ?? Sinon ce champ qui contiendrai Récupérer la clé d'un enregistrement [ par freeman44 ] Alors voila : J'exécute une requête SQL lors du clik sur un bouton: "Insert into tblEvaluateur values(nomEvaluateur, prenomEvaluateur)" Ca marche tres générer un tableau en deux dimension [ par chleuh ] Salut je sais que ca tiens plus de l'algorithmique que du Delphi mais comme l'application est programmée en delphi j'vous demande la question suivante


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.