IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Champ autoincrémenté avec paradox


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 78
    Points : 54
    Points
    54
    Par défaut Champ autoincrémenté avec paradox
    Bonjour à tous et bonne année,
    Est-il possible d'initialiser le compteur du champ autoincrémenté dans Paradox ?
    Par exemple peut-on le faire démarrer à 1000 ?
    Merci d'avance...

  2. #2
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    La réponse est oui. Cependant, l'opération n'est pas évidente, car il faut modifier quelques octets dans l'entête de la table.
    Je dois avoir un bout de code pour faire la correction en automatique. Il s'agit de la remise à zéro, mais il convient de corriger pour partir de 1000. Je recherche dans la journée et je te l'adresse.
    Je te donnerai également la position des octets concernés, car de mémoire, je ne me souviens plus.
    Une question : Pourquoi veux-tu partir de 1000 ?
    Attention si la clé autoincrémentée est utilisée comme clé étrangère dans une autre table. En cas de casse des index, la réparation provoque un beau bazar. Il faut donc gérer les clés étrangères de manière à pouvoir réparer les index sans casser les liaisons.
    A plus

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    sinon je te propose la solution suivante:

    tu écris une petite fonction qui ajoute 999 enregistrements vide à ta table, ensuite tu les suupprime. Puis quand tu post ton nouveau enregistrement son champ auto passe à la valeur suivante c'est à dire 1000.

    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Points : 206
    Points
    206
    Par défaut utiliser un declencheur
    Citation Envoyé par julesclaude Voir le message
    Bonjour à tous et bonne année,
    Est-il possible d'initialiser le compteur du champ autoincrémenté dans Paradox ?
    Par exemple peut-on le faire démarrer à 1000 ?
    Merci d'avance...
    je te propose de faire un trigger After Insert sur votre table, ce trigger verifie si le valeur =1 ou non, si vrai il le mettre à jour par l'ajout de 999 à son valeur.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 78
    Points : 54
    Points
    54
    Par défaut Champ autoincrémenté suite
    Bonsoir à tous et merci de vos réponses,
    Je suis assez intéressé par ta réponse Brodu, un morceau de code qui changerait quelques octets dans l'entête de la table, me conviendrait très bien. Pour répondre à ta question pourquoi 1000, j'ai une vieille table dbase à mettre à jour avec ma table paradox, dans ce fichier Dbase les numéros de dossier ne dépassent pas 900, si je pars à 1000 avec la base Paradox, je n'aurais pas de conflit. (J'espère en tout cas !!!).

    Merci à toi Just Soft, si je n'ai pas de solution plus satisfaisante, j'irais à ta solution.

    Pour ta réponse, Hazamor, je suis désolé, mais je ne la comprends pas, un morceau de code pour m'éclairer si tu as le temps.

    Merci encore à vous tous.

  6. #6
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    J'ai recherché, mais je n'ai pas trouvé le bout de code. Je te l'écris dans le weekend.
    Par contre, j'ai bien retrouvé les explications techniques.
    Dans le fichier "db", il faut modifier les octets 49 et 4A (valeurs en hexadécimales).
    Pour inclure un départ à 1000 en notation décimale, il fait traduire en hexa soit 08E8.
    La modification de l'entête du fichier concerné peut se faire avec un éditeur hexadécimal et inclure les chiffres comme suit :
    • Adresse 49h inclure E8h
    • Adresse 4Ah inclure 08h

    Voilà, ton fichier db est opérationnel.
    Bon courage et à bientôt.

  7. #7
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    très intéressante l'idée de hazamor !

    je te propose de faire un trigger After Insert sur votre table, ce trigger verifie si le valeur =1 ou non, si vrai il le mettre à jour par l'ajout de 999 à son valeur.
    mais comment faire un trigger pour les table Patadox ou dbf ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  8. #8
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Je te joins l'application complète pour modifier le compteur du champ autoincrémenté de Paradox. J'ai fait des essais concluants, mais attention tout de même car le programme n'est très certainement pas sécurisé pour toutes les fonctions.

    Pour répondre à @Just-Soft. A ma connaissance, Paradox ne supporte pas les triggers. Donc la proposition de @hazamor ne peut pas être mise en oeuvre dans cette situation
    A plus
    Fichiers attachés Fichiers attachés

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 78
    Points : 54
    Points
    54
    Par défaut AutoIcrement Paradox suite et fin
    Bonsoir à tous,
    Quel plaisir ce forum !!! Pour ma part j'y trouve à 99 % les réponses à mes questions.
    Merci beaucoup Brodu, je viens de tester, ça marche impeccable, juste ce qu'il me fallait.
    Je te souhaite une bonne et heuseuse année.
    A bientôt

  10. #10
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Toutes mes félicitations BRODU je dirais tout simplement que ton astuce mérite une place dans la FAQ Delphi.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  11. #11
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 67
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Merci @Just-Soft. Je ne sais pas si cette astuce mérite cette place, mais si vous pensez que cela peut aider, je vous donne mon accord.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Paradox] Champ autoIncrément
    Par Hurin dans le forum Paradox
    Réponses: 3
    Dernier message: 18/04/2012, 18h33
  2. [MySQL] champs autoincrémentés avec mysql
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/05/2007, 10h48
  3. SQL insertion avec champ autoIncrement
    Par sg-40 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/11/2005, 11h28
  4. Réponses: 2
    Dernier message: 22/03/2004, 10h50
  5. champs booleen avec ibexpert
    Par crocodingo dans le forum Outils
    Réponses: 3
    Dernier message: 18/01/2004, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo