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

 Delphi Discussion :

Déplacer un enregistrement


Sujet :

Delphi

  1. #1
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut Déplacer un enregistrement
    salut tt le monde
    voici mon probléme
    j'ai une table qui contien le champs (num)
    je veux que :
    if num=3 then
    déplacer cet enregistremnt a la fin de la table
    si vous avé une idé !!!cela séré coul
    merci bcp
    merci bcp

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    pour toi la fin de la table c'est quoi ?

  3. #3
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut
    la fin de le table c'est aprés le dernier enregistrement
    je ve que mon choix soit mis deriére le dernier enregistrement actuelle
    et qu'il devienne lui méme le dernier de la table
    :merci
    merci bcp

  4. #4
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Avec un SGBD, les lignes d'une table sont stockées dans un ordre indéfini (l'ordre qui arrange le mieu le SGBD).
    Donc tu ne peux pas changer l'ordre des lignes dans une table.

    En revanche, lorsque tu interroges la table, tu peux trier les données pour qu'elles apparaissent dans un ordre précis.
    Donc si tu veux pouvoir dire : tel enregistrement à la position x, celui là à la position y. Il faut ajouter un champ Ordre (tu l'appelles comme tu veux) et enregistrement l'ordre dans lequel tu veux que les enregistrements soient triés.

    Puis tu interroges la table soit avec une requete :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from MaTable order by Ordre

    Soit tu utilises un composant type TTable. Dans ce cas, il faut définir un index sur le composant (propriété IndexFieldNames par exemple) pour indiquer l'ordre de tri des enregistrements.

  5. #5
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Citation Envoyé par stfanny31 Voir le message
    salut tt le monde
    voici mon probléme
    j'ai une table qui contien le champs (num)
    je veux que :
    if num=3 then
    déplacer cet enregistremnt a la fin de la table
    Ce n'est pas trés clair ce que vous voulez faire...

    Si vous voulez classer vos enregistrements par rapport au champ num,il suffira alors de définir un index secondaire pour ce champ ensuite affecter à la propriété IndexFieldName de votre table la valeur "num"...

    Sinon,si vous voulez classer vos enregistrement selon d'autres critères que vous définirai,il faudra alors créer un nouveau champ qui correspondra à vos critères et le définir comme index de la table.
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  6. #6
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    merci Mr Franck SORIANO mais je veut utilisé SQL
    et meci a vous aussi Mr:b_reda31
    voici mon probléme:
    j'ai une table avec un champ num ,et j'ai des paramétre qui change en fonction de num .
    pr ke le programme fonctionne il fo que l'enregistremnt qui a :
    le num(x) et le paramétre(precedant=0) soit a la fin de la table

    ok j pencé a autre chose !!
    esque je peut ajouter un enregistrement vide deriére le dernier enregistremnt puis copier(déplacer) mon enregistremnt dans ce nouvaux emplacement ?
    merci bcp
    merci bcp

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    je crois comprendre que la table agit et est utilisée comme une Pile (Stack)
    est-ce cela sinon je ne vois vraiment pas l'intérêt , mais c'est certainement parce que les informations fournies sont succintes

    pour ajouter un enregistrement en fin de table c'est Append au lieu de Insert
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    Mr SergioMaster Bonjoir
    je crois comprendre que la table agit et est utilisée comme une Pile (Stack)
    je c'est pas vrément ce que c'est une pile

    pour ajouter un enregistrement en fin de table c'est Append au lieu de Insert
    merci pour l'information mais c'est quoi le différance !!

    et comment on peut séléctionné tt l'enregistrement pour le mettre a la fin (sachons ke je veux pas utilisé SQL)
    merci bcp :merci
    merci bcp

  9. #9
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Désolé, mais là je ne comprends plus rien :
    merci Mr Franck SORIANO mais je veut utilisé SQL
    sachons ke je veux pas utilisé SQL
    Sinon,
    merci pour l'information mais c'est quoi le différance !!
    Si tu ne travaille pas avec Paradox, il n'y a pas vraiment de différence entre Append et Insert. Dans tous les cas un nouvel enregistrement est ajouté dans la table et le SGBD le met où ça l'arrange.
    En théorie, Append se positionne à la fin du dataset et ajoute un enregistrement. Insert fait l'ajout à la position courante.
    Si as une grille liée, avec Append tu verras dans la grille que tu te déplace à la fin et que tu remplis la dernière ligne.
    Avec un insert, tu verras une ligne vide s'insérer au milieu des lignes existantes.
    Mais de toute façon, au moment du Post, la ligne sera repositionnée en fonction de l'index actif.
    Et tout ceci ne s'applique que si tu travailles avec un composant de type TTable (TTable, TClientDataSet, TADOTable...). Pas si tu travailles en SQL.

  10. #10
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut Query
    Merci Mr Franck SORIANO
    la j'ai bien compri
    je voulé pas utilié SQL car j'ai complétement oublié comment faire
    mais maintenent que j'ai plus le choix ,je crois que je ss obligé de l'utilisé
    esque vous pouvé me dire juste comment commancé ??
    j'ai mis un 'Query'dans ma fiche et je l'ai relié a mon datasource mais ou doije écrire ma requette ?

    merci bcp
    merci bcp

  11. #11
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    combien de table a tu dans ta base,
    si tu as une, voir TClientDataset, et si comme ta dit SergioMaster ti utillise la table comme une pile, je crois sera mieux d'utlisé un fichier
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  12. #12
    Membre habitué Avatar de stfanny31
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 163
    Points
    163
    Par défaut
    salut edam;
    j'ai une seul table mé je veux dplacer que un seul enregistrement avec quelque des condition (c'est simple non)!!
    j'éspér que j'ai été assé présise
    merci bcp

Discussions similaires

  1. [MySQL] Déplacer un enregistrement d'une table vers une autre
    Par rastatom dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/12/2012, 11h22
  2. Réponses: 7
    Dernier message: 23/11/2006, 11h45
  3. [Conception] Déplacer un enregistrement vers une table identique
    Par Romalafrite dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/09/2006, 11h55
  4. Déplacer un enregistrement
    Par gloglo dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/08/2006, 12h20
  5. Comment faire pour déplacer un enregistrement?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 15/06/2006, 15h13

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