![]() |
|
ترتيب جدول DESC - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : ترتيب جدول DESC (/showthread.php?tid=11767) |
ترتيب جدول DESC - AgroSoft - 18-01-2022 <p>سلام عليكم</p><p>لدي استفسار عن ترتيب جدول حيث adotable1 مفعل عليه علاقة ابن مع جدول adotable2 حين اضع هذا الامر في onopen لا يظهر شيء و تختفي كل التسجيلات لكن مع حذفه تعود للظهور لكن غير مرتبة</p><p>الامر المستعمل</p><p> كود : adotable1.Sort := 'name DESC';RE: ترتيب جدول DESC - Delphi4Us - 18-01-2022 وعليكم السلام يفترض ان تعمل بدون مشاكل . جرب ان تقوم بتحديد حقل الفرز من نافذة الخصائص RE: ترتيب جدول DESC - AgroSoft - 19-01-2022 حقل الفرز indexfieldname مربوط مع lookup مع جدول الاب المشكلة تكمن في حجول الابن حين اضع عليه الترتيب تختفي التسجيلات ايضا RE: ترتيب جدول DESC - Delphi4Us - 19-01-2022 هذا يعتمد على المكونات التي تستخدمها فمثلا في مكونات IBdac لها خاصية اسمها OrderFiled ربما يجب ان تستخدم جملة SQL عادية اي تجعل الجدول الاب Query بدل من Table وبهذا تنحل هذه الاشكالية لان ترتيب البيانات يتم في جملة الاستعلام نفسها RE: ترتيب جدول DESC - sami2015 - 29-01-2022 جرب هذا فسوف ينفعك ( هذا الكود وجدته في إحدى المنتديات فطورته وأصبح على الشل التالي) unit U_appication; { Ce projet et réaliser Par BENOMRANE BRAHIM le prejet n'est Pas completement Parfait il y a plusier programmer peuve se réduire avec un peut de temps pour Plus d'information http://brahimnet.ifrance.com Projet réaliser par delphi7 Projet Réaliser en 15 Mai 2006 æÌÏÊå Ýí ÃÍÏ ÇáãæÇÞÚ æåæ áÕÇÍÈå Èä ÚãÑÇä ÈÑÇåíã æÞãÊ ÈÊØæíÑå äæÚ ãÇ ßí íÓíÑ ÃÏÇÉ áãÍÊÑÝí ÇáÏáÝí ááÅÊÕÇá åÐÇ ÚäæÇäí besmain@gmail.com((((((( } interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, ExtCtrls, DB, DBTables, StdCtrls, DBCtrls, ComCtrls, Menus,ShellAPI, Buttons, ABSMain; type TMain = class(TForm) DataSource: TDataSource; Panel1: TPanel; DBGrid1: TDBGrid; StatusBar1: TStatusBar; PopupMenu1: TPopupMenu; Nouveau1: TMenuItem; Modifier1: TMenuItem; Supprimer1: TMenuItem; GroupBox1: TGroupBox; Label4: TLabel; dt_au: TDateTimePicker; Dt_du: TDateTimePicker; Label3: TLabel; Active_Filtre: TCheckBox; Button1: TButton; db: TABSQuery; ABSDatabase1: TABSDatabase; dbID: TFloatField; dbN_ligne: TIntegerField; dbDt: TDateField; dbIntitule: TStringField; dbDebit: TFloatField; dbCredit: TFloatField; ABSTable1: TABSTable; DataSource1: TDataSource; Label1: TLabel; BitBtn1: TBitBtn; procedure DBGrid1TitleClick(Column: TColumn); procedure FormCreate(Sender: TObject); procedure Nouveau1Click(Sender: TObject); procedure Modifier1Click(Sender: TObject); procedure Supprimer1Click(Sender: TObject); procedure Db2NewRecord(DataSet: TDataSet); procedure Dt_duCloseUp(Sender: TObject); procedure Db2PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure Button1Click(Sender: TObject); procedure Label1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private //déclaration Tri_dec:Boolean; // le choix du Tri soit descendant ou ascendant Key_Id:double; // variable pour la recherche ID dans La Mise a jour { Private declarations } public { Public declarations } end; var Main: TMain; implementation uses u_Saisir, Unit1; {$R *.dfm} procedure TMain.DBGrid1TitleClick(Column: TColumn); VAr Tri_Ch:String; I:integer; begin //ãÑÇÞÈÉ ÇáÝÑÒ ÊäÇÒáí Ãæ ÊÕÇÚÏí if Tri_dec=True Then begin Tri_ch:=' ASC'; Tri_dec:=False; Label1.Caption:= ('ÝÑÒ ÊÕÇÚÏí'); Label1.Font.Color:=clred; end ELSE begin TRi_Ch:=' DESC'; Tri_Dec:=True; Label1.Caption:= ('ÝÑÒ ÊäÇÒáí'); Label1.Font.Color:=clLime; end; Db.Close; db.SQL.Clear; db.SQL.Add('Select * FROM DB ORDER BY '+Column.Field.DisplayName+Tri_ch); db.open; For i:=0 to dbgrid1.Columns.Count-1 Do dbgrid1.Columns.Items[i].Title.Font.Color:=clHotLight; //Êáæíä ÚãæÏ ÇáÝÑÒ dbgrid1.Columns.Items[column.Index].Title.Font.Color:=clFuchsia; end; procedure TMain.FormCreate(Sender: TObject); begin Tri_dec:=True; //initialtion La Tri descandant end; procedure TMain.Nouveau1Click(Sender: TObject); begin Db.Append; saisir_.ShowModal; end; procedure TMain.Modifier1Click(Sender: TObject); begin Key_Id:=dbID.Value; //permutation pour pouvoire recherche Ds la BD Db.Close; db.SQL.Clear; db.SQL.Add('Select * FromDb' ); db.open; //rechercher DS la base de donnée if db.Locate('ID',Key_ID,[loPartialKey]) THEN begin Db.Edit; saisir_.ShowModal; end; end; procedure TMain.Supprimer1Click(Sender: TObject); begin if Db.RecordCount= 0 then Exit; //aucune suppression ds le cas si la base et vide Key_Id:=dbID.Value; //permutation pour pouvoire recherche Ds la BD Db.Close; db.SQL.Clear; db.SQL.Add('Select * FROM Db' ); db.open; //rechercher DS la base de donnée if db.Locate('ID',Key_ID,[loPartialKey]) THEN begin if MessageDlg('Confirmer La suppression', mtConfirmation, [mbYes, mbNo],0) = mrYes then Db.Delete; end; end; procedure TMain.Db2NewRecord(DataSet: TDataSet); begin //initialisation des données dbDt.Value:=now; dbcredit.Value:=0; dbdebit.Value:=0; end; procedure TMain.Dt_duCloseUp(Sender: TObject); begin db.Filter:='(Dt>='''+DatetoStr(Dt_du.date)+''')And (Dt<='''+DateToStr(Dt_Au.date)+''')'; if Active_Filtre.Checked=true Then db.Filtered:=True else db.Filtered:=False end; procedure TMain.Db2PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin Raise Exception.Create('Cet ID Existe Déja veillez Le mofidier SVP'); end; procedure TMain.Button1Click(Sender: TObject); Var Total_Debit,Total_Credit ouble;SavePlace: TBookmark; begin SavePlace :=db.GetBookmark; TRY //Ititialisation des Totaux Total_Debit:=0;Total_Credit:=0; db.DisableControls; db.First; while Not Db.Eof do BEGIN Total_Debit:=Total_Debit+Dbdebit.Value; Total_Credit:=Total_Credit+dbcredit.Value; db.Next; end; finally db.EnableControls; if SavePlace <> nil then begin Db.GotoBookmark(SavePlace); db.FreeBookmark(SavePlace); end; Showmessage('Résultat des calcule est: '#13''#13'Total Débit= '+Format('%m',[Total_debit])+ ''#13'Total Crédit= '+Format('%m',[Total_credit])); end; end; procedure TMain.Label1Click(Sender: TObject); begin ShellExecute(0,'open', 'http://brahimnet.ifrance.com', nil, nil, SW_SHOWMAXIMIZED); end; procedure TMain.BitBtn1Click(Sender: TObject); begin Form1.ShowModal; end; end. قاعدة بيانات absolute database ( للتأكيد هذا البرنامج مطور بدلفي 7) RE: ترتيب جدول DESC - صالح حمادي - 29-01-2022 السلام عليكم أظن المشكلة في اسم الحقل لأنها كلمة محجوزة جرب الترتيب بحقل آخر و شوف RE: ترتيب جدول DESC - sami2015 - 29-01-2022 (29-01-2022, 10:05 PM)صالح حمادي كتب : السلام عليكم هذه الصور خير دليل أنظر ماذا فعلت |