كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
2 مشترك
دلفي تعليم :: منتديات البرمجة :: دلفي
صفحة 1 من اصل 1
كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
السلام عليكم ورمضان كريم
قاعدة البيانات absolute database
delphi7
كيف اجعل أحد الحقول يأخذ قيمة من 1 الى اخر سجل به حسب كل فرقة
لدي جدول يحتوي على اربع حقول بـ10 سجلات
Cde, Groupe,N_ Groupe,Montant
احتاج الى ترقيم كل فرقة على ان تبدأ برقم واحد
حسب هذا الشكل
قاعدة البيانات absolute database
delphi7
كيف اجعل أحد الحقول يأخذ قيمة من 1 الى اخر سجل به حسب كل فرقة
لدي جدول يحتوي على اربع حقول بـ10 سجلات
Cde, Groupe,N_ Groupe,Montant
احتاج الى ترقيم كل فرقة على ان تبدأ برقم واحد
حسب هذا الشكل
- الكود:
Cde Groupe N_Groupe Montant
1 aaa 1 220.00
2 aaa 2 330.00
3 aaa 3 250.00
4 aaa 4 5200.00
5 aaa 5 150.00
6 bbb 1 1250.00
7 bbb 2 1250.00
8 bbb 3 1250.00
9 bbb 4 1500.00
10 bbb 5 1500.00
عدل سابقا من قبل medreg في 5/7/2015, 9:11 pm عدل 1 مرات
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين سيدتا محمد صلى الله عليه سلم وعلى آله وصحبه
السلام عليكم ورمضان كريم
حسب مفهمت من الموضوع الذي وضعته
أنه عندك فرقتين
الفرقة الاولى aaa
والفرقة الثانية bbb
افراد الفرقة aaa يكون عندهم ترقيم خاص بهم لكل فرد أو عنصر أو شخص رقم خاص به يختلف عن اخر
افراد الفرقة bbb نفس شيء
- الكود:
Cde Groupe N_Groupe Montant
1 aaa 1 220.00
2 aaa 2 330.00
3 aaa 3 250.00
4 aaa 4 5200.00
5 aaa 5 150.00
6 bbb 1 1250.00
7 bbb 2 1250.00
8 bbb 3 1250.00
9 bbb 4 1500.00
10 bbb 5 1500.00
.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
والصلاة والسلام على رسول الله
حسب مافهمت من السؤال أنك تريد مجموعات لكل مجموعة رقم
واني فكرت في الفكرة
ووجدت أن المجموعة تمثل الوظيفة مثلا
المجموع الاولى الموظف وهو رقم 1
المجموعة الثانية الصيانة وهو رقم 2
المجموعة الثالثة بناء وهو رقم 3
المجموع الرابعة عامل بسيط وهو رقم 4
المجموعة الخامسة عون أمن وهو رقم 5
....
.
يعني لكل مجموعة رقم خاص بها
والمثال بـ البارادوكس
paradox 7
و
الاكسس 2007
Access 2007
أعتقد أنه بامكانك تبديل بعض الاوامر
كما بدلت أنا بين أكسس و البرادوكس
لأني لحد الان لم أتحصل على الابسولي
أي قواعد البيانات أبسولي
قاعدة البيانات absolute database
وفي الاخير أعذرني لأني لم أستطع أن أساعدك
والمثال بـ البارادوكس
paradox 7
- الكود:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, DB, DBTables, StdCtrls,
Buttons, ComCtrls;
type
TForm1 = class(TForm)
Table1: TTable;
Table2: TTable;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
BitBtn1: TBitBtn;
DateTimePicker1: TDateTimePicker;
Table2Code_p: TFloatField;
Table2Nom_fonc: TStringField;
Table2Dat_fonc: TDateField;
Table1Cod_fonc: TFloatField;
Table1Code: TFloatField;
Table1Nom: TStringField;
Table1Prenom: TStringField;
Table1Dat_n: TDateField;
Edit3: TEdit;
DateTimePicker2: TDateTimePicker;
Edit2: TEdit;
ComboBox1: TComboBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.BitBtn2Click(Sender: TObject);
var
strA: string;
strB: string;
begin
Table1.Open;
Table1.Last;
if Table1code.Value = 0 then strB := '1'
else strB := IntToStr(StrToInt(Table1code.Text) + 1);
Table1.Append;
Table1code.Text := strB;
Table1nom.Text := Edit2.Text;
Table1prenom.Text := Edit3.Text;
Table1dat_n.Value := DateTimePicker1.Date;
if ComboBox1.ItemIndex = 0 then
strA := '1'
else if ComboBox1.ItemIndex = 1 then
strA := '2'
else if ComboBox1.ItemIndex = 2 then
strA := '3'
else if ComboBox1.ItemIndex = 3 then
strA := '4'
else if ComboBox1.ItemIndex = 4 then
strA := '5'
else if ComboBox1.ItemIndex = 5 then
strA := '6';
Table1Cod_fonc.Text := strA;//
Table1.Post; //
//
Table2.Open; //
Table2.Last;
// ÇÐÇ ßÇäÊ ãæÌæÏÉ ãÇäÖÝÔ
if not Table2.FindKey([strA]) then
begin
Table2.Append;
Table2Code_p.Text := strA;
Table2Nom_fonc.Text := ComboBox1.Text;
Table2Dat_fonc.Value := DateTimePicker2.Date;
Table2.Post;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
// ãä ÃÌá Çáíæã ÇáÍÇáí áÑÇäÇ Ýíå
DateTimePicker1.DateTime := date;
DateTimePicker1.DateTime := date;
/////////////////////////////////
// ÃæÞÝ åÐå ÊÚáíãÇÊ æÔÇåÏ
Table2.MasterSource := DataSource1;
Table2.MasterFields := 'Cod_fonc';
Table2.IndexFieldNames := 'Code_p';
/////////////////////////////////
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Form2.Show;
end;
end.
الاكسس 2007
Access 2007
- الكود:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBTables, ComCtrls, Buttons, Grids, DBGrids,
ExtCtrls, DBCtrls, ADODB;
type
TForm2 = class(TForm)
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
BitBtn1: TBitBtn;
DateTimePicker1: TDateTimePicker;
Edit3: TEdit;
DataSource1: TDataSource;
DataSource2: TDataSource;
DateTimePicker2: TDateTimePicker;
Edit2: TEdit;
ComboBox1: TComboBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label7: TLabel;
BitBtn2: TBitBtn;
ADOTable1: TADOTable;
ADOTable2: TADOTable;
ADOTable1Cod_fonc: TIntegerField;
ADOTable1Code: TIntegerField;
ADOTable1Nom: TWideStringField;
ADOTable1Prenom: TWideStringField;
ADOTable1Dat_n: TDateTimeField;
ADOTable2Code_p: TIntegerField;
ADOTable2Nom_fonc: TWideStringField;
ADOTable2Dat_fonc: TDateTimeField;
procedure FormCreate(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
// ãä ÃÌá Çáíæã ÇáÍÇáí áÑÇäÇ Ýíå
DateTimePicker1.DateTime := date;
DateTimePicker1.DateTime := date;
/////////////////////////////////
// ÃæÞÝ åÐå ÊÚáíãÇÊ æÔÇåÏ
ADOTable2.MasterSource := DataSource1;
ADOTable2.MasterFields := 'Cod_fonc';
ADOTable2.IndexFieldNames := 'Code_p';
/////////////////////////////////
end;
procedure TForm2.BitBtn2Click(Sender: TObject);
var
strA: string;
strB: string;
begin
ADOTable1.Open;
ADOTable1.Last;
if ADOTable1code.Value = 0 then strB := '1'
else strB := IntToStr(StrToInt(ADOTable1code.Text) + 1);
ADOTable1.Append;
ADOTable1code.Text := strB;
ADOTable1nom.Text := Edit2.Text;
ADOTable1prenom.Text := Edit3.Text;
ADOTable1dat_n.Value := DateTimePicker1.Date;
if ComboBox1.ItemIndex = 0 then
strA := '1'
else if ComboBox1.ItemIndex = 1 then
strA := '2'
else if ComboBox1.ItemIndex = 2 then
strA := '3'
else if ComboBox1.ItemIndex = 3 then
strA := '4'
else if ComboBox1.ItemIndex = 4 then
strA := '5'
else if ComboBox1.ItemIndex = 5 then
strA := '6';
ADOTable1Cod_fonc.Text := strA;//
ADOTable1.Post; //
//
ADOTable2.Open; //
ADOTable2.Last;
// ÇÐÇ ßÇäÊ ãæÌæÏÉ ãÇäÖÝÔ
if not ADOTable2.Locate('Code_p','strA',[]) then
begin
ADOTable2.Append;
ADOTable2Code_p.Text := strA;
ADOTable2Nom_fonc.Text := ComboBox1.Text;
ADOTable2Dat_fonc.Value := DateTimePicker2.Date;
ADOTable2.Post;
end;
end;
end.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
alla كتب:
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين سيدتا محمد صلى الله عليه سلم وعلى آله وصحبه
السلام عليكم ورمضان كريم
حسب مفهمت من الموضوع الذي وضعته
أنه عندك فرقتين
الفرقة الاولى aaa
والفرقة الثانية bbb
افراد الفرقة aaa يكون عندهم ترقيم خاص بهم لكل فرد أو عنصر أو شخص رقم خاص به يختلف عن اخر
افراد الفرقة bbb نفس شيء
- الكود:
Cde Groupe N_Groupe Montant
1 aaa 1 220.00
2 aaa 2 330.00
3 aaa 3 250.00
4 aaa 4 5200.00
5 aaa 5 150.00
6 bbb 1 1250.00
7 bbb 2 1250.00
8 bbb 3 1250.00
9 bbb 4 1500.00
10 bbb 5 1500.00
.
انتظر مني رد على هذا ان شاء الله
.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
شكرًا اخي على هذه المداخلة
لكن ما اريده هو ان يبدأ ترقيم الفرقة الاولى من 01 الى اخر سحل وحسب مثالنا الذي ارفقته
الفرقة الاولى تبدا من رقم 01 الى رقم 05
والثانية تبدا من رقم 01 الى رقم 05
وهكذا
والحقال المقصود في الترقيم هو الحقل N_Groupe
لا يهم بالنسبة لقواعد اليانات لا بهم ان كانت بالابسوليت ام بالبرادوكس
المهم هو الكود
وبالتوفيق ورمضان كريم وتقبل الله منا ومنكم الصيام والقيام وصالح الاعمال أمين
لكن ما اريده هو ان يبدأ ترقيم الفرقة الاولى من 01 الى اخر سحل وحسب مثالنا الذي ارفقته
الفرقة الاولى تبدا من رقم 01 الى رقم 05
والثانية تبدا من رقم 01 الى رقم 05
وهكذا
والحقال المقصود في الترقيم هو الحقل N_Groupe
لا يهم بالنسبة لقواعد اليانات لا بهم ان كانت بالابسوليت ام بالبرادوكس
المهم هو الكود
وبالتوفيق ورمضان كريم وتقبل الله منا ومنكم الصيام والقيام وصالح الاعمال أمين
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين سيدتا محمد صلى الله عليه سلم وعلى آله وصحبه
السلام عليكم ورمضان كريم
هذا هو البرنامج أتنى ان بكون في المستوى
- الكود:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
DBGrid1: TDBGrid;
Edit1: TEdit;
ComboBox1: TComboBox;
Button1: TButton;
Table1Montant: TFloatField;
Table1N_Groupe: TCurrencyField;
Table1Groupe: TFloatField;
Table1Cde: TStringField;
Label1: TLabel;
Label3: TLabel;
Button2: TButton;
DBNavigator2: TDBNavigator;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
mont1: Word;
group1, group2, group: Word;
num1, num2: Word;
begin
group := 0;
group1 := 0;
group2 := 0;
num1 := 0;
num2 := 0;
Table1.Open;
Table1.Last;
if Table1.FieldCount <= 0 then mont1 := 1
else mont1 := Table1.FieldByName('Montant').asInteger + 1;
if (ComboBox1.Text = 'aaa')and(Table1Groupe.AsInteger = 0) then
num1 := 1
else if (ComboBox1.Text = 'aaa')and(Table1Groupe.AsInteger > 0) then
begin
Table1.First;
Table1.DisableControls;
while not Table1.Eof do
begin
if Table1Cde.Text = 'aaa' then
num1 := num1 + 1;
Table1.Next;
end;
num1 := num1 + 1;
Table1.EnableControls;
end;
group1 := num1;
if (ComboBox1.Text = 'bbb')and(Table1Groupe.AsInteger = 0) then
num2 := 1
else if (ComboBox1.Text = 'bbb')and(Table1Groupe.AsInteger > 0) then
begin
Table1.First;
Table1.DisableControls;
while not Table1.Eof do
begin
if Table1Cde.Text = 'bbb' then
num2 := num2 + 1;
Table1.Next;
end;
num2 := num2 + 1;
Table1.EnableControls;
end;
group2 := num2;
if ComboBox1.Text = 'aaa' then
group := group1 else group := group2;
Table1.Last;
Table1.Append;
Table1.FieldByName('Montant').AsInteger := mont1;
Table1Groupe.AsInteger := group;
Table1N_Groupe.Text := Edit1.Text;
Table1Cde.Value := ComboBox1.Text;
Table1.Post;
{ {}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.Enabled := false;
ComboBox1.Text := 'chois';
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Button1.Enabled := true;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.
الفرقة الاولى تبدا من رقم 01 الى رقم 05
والثانية تبدا من رقم 01 الى رقم 05
وهكذا
والحقال المقصود في الترقيم هو الحقل N_Groupe
تستطيع تغير الحقول بكل سهولة
أخي madreg أتمنى أن أكون قد يفقت في الاجابة عن السؤال
وأشكرك على الموضوع الرائع الذي تفضلت به
بارك الله فيك
.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
يا اخي alla
ربما لم افلح في توصيل الغكرة حتى تتمكن من فهم المطلوب
المطلوب هو ترقيم الفرق عندما يكون الجدول مملوء
أي لا يستعمل Append أو Insert
بل إستعمال Edit
بمعنى إذا كان الحقل Groupe يساوي aaa يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له وبالترتيب 01،02،03،04,05
وإذا كان الحقل Groupe يساوي bbb يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له وبالترتيب 01،02،03،04,05
مع العلم أن الحقول كالاتي
cde = integer
Groupe = string
S_Groupe=string
N_Groupe = Integer
Montant = Currency
مع العلم ام الحقل S_Groupe يحمل قيمة رقمية بالرغم انه من نوع string
وهذا مثال
ومن الأفضل أخي لو كان لديك حساب على السكيب فاحسن ختى اتمكن من النقاش وان تفهمني أكثر
واكون ممنون لك أخي وهذا حسابي عاى السكيب
medbbm2014
وجزاكم الله عنا كل هير
ربما لم افلح في توصيل الغكرة حتى تتمكن من فهم المطلوب
المطلوب هو ترقيم الفرق عندما يكون الجدول مملوء
أي لا يستعمل Append أو Insert
بل إستعمال Edit
بمعنى إذا كان الحقل Groupe يساوي aaa يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له وبالترتيب 01،02،03،04,05
وإذا كان الحقل Groupe يساوي bbb يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له وبالترتيب 01،02،03،04,05
مع العلم أن الحقول كالاتي
cde = integer
Groupe = string
S_Groupe=string
N_Groupe = Integer
Montant = Currency
مع العلم ام الحقل S_Groupe يحمل قيمة رقمية بالرغم انه من نوع string
وهذا مثال
ومن الأفضل أخي لو كان لديك حساب على السكيب فاحسن ختى اتمكن من النقاش وان تفهمني أكثر
واكون ممنون لك أخي وهذا حسابي عاى السكيب
medbbm2014
وجزاكم الله عنا كل هير
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
والصلاة والسلام على رسول الله وعلى آله وصحبه أجــــــمـــعــيـن
السؤال :
المطلوب هو ترقيم الفرق عندما يكون الجدول مملوء
أي لا يستعمل Append أو Insert
بل إستعمال Edit
بمعنى إذا كان الحقل Groupe يساوي aaa يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له
وبالترتيب 01،02،03،04,05
وإذا كان الحقل Groupe يساوي bbb يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له
وبالترتيب 01،02،03،04,05
الجواب :
أعتقد أن هذا هو الجواب ومشكور أخـــــــــــــــــــــــــي على توضيح
واذا كان هناك سؤال فلا تتردد في طرحه ربما أستطيع الاجابة عليه
ومرحبا بك في أي وقت وأنا في الخدمة أن شــــــــــــــــــــــــــــاء الله
واذا لم أفلح في الاجابة فأرجو منك أخي
اعادة طرح سؤال وتوضيح أكثر
أشكر ك جزيل الشكر وبارك الله فيك .
......
ملاخظة
شاهدت الموضوع قبل أن تضع الصورة
وربما قليل من تعديل على مثال يفي قرض
والصلاة والسلام على رسول الله وعلى آله وصحبه أجــــــمـــعــيـن
السؤال :
المطلوب هو ترقيم الفرق عندما يكون الجدول مملوء
أي لا يستعمل Append أو Insert
بل إستعمال Edit
بمعنى إذا كان الحقل Groupe يساوي aaa يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له
وبالترتيب 01،02،03،04,05
وإذا كان الحقل Groupe يساوي bbb يكون الحقل N_Groupe يأخذ القيمة من 01 الى اخر سجل تابع له
وبالترتيب 01،02،03،04,05
الجواب :
أعتقد أن هذا هو الجواب ومشكور أخـــــــــــــــــــــــــي على توضيح
واذا كان هناك سؤال فلا تتردد في طرحه ربما أستطيع الاجابة عليه
ومرحبا بك في أي وقت وأنا في الخدمة أن شــــــــــــــــــــــــــــاء الله
- الكود:
procedure TForm1.Button1Click(Sender: TObject); //Alger
var
num1, num2: Word; //Alger
Cde1: Word; //Alger
begin
num1 := 0; num2 := 0; //Alger
Cde1 := 0; //Alger
Table1.Open; //Alger
Table1.First; //Alger
Table1.DisableControls; //Alger
while not Table1.Eof do
begin
if Table1Groupe.Text = 'aaa' then
begin
num1 := num1 + 1; //Alger
//// //Cde1 := Cde1 + 1;
Table1.Edit;
Table1N_Groupe.Value := num1; //Alger
//// ///Table1.FieldByName('Cde').AsInteger := Cde1;
Table1.Post; //Alger
end
else
begin
num2 := num2 + 1; //Alger
// ///// Cde1 := Cde1 + 1;
Table1.Edit;
Table1N_Groupe.Value := num2; //Alger
/////////Table1.FieldByName('Cde').AsInteger := Cde1;
Table1.Post; //Alger
end;
Table1.Next; //Alger
end;
Table1.EnableControls; //Alger
end; //Alger
واذا لم أفلح في الاجابة فأرجو منك أخي
اعادة طرح سؤال وتوضيح أكثر
أشكر ك جزيل الشكر وبارك الله فيك .
......
ملاخظة
شاهدت الموضوع قبل أن تضع الصورة
وربما قليل من تعديل على مثال يفي قرض
عدل سابقا من قبل alla في 5/7/2015, 12:34 pm عدل 1 مرات (السبب : توضيح)
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
السلام عليكم ورحمة الله تعالى وبركاته
صحى لصيامكم وتقبل الله منا ومنكم صالح الاعمال
تقريبا اخي سنصل الى الحل
إدا تمعنت جيدا في الجدول الذي ارفقته لك ستجد ان الحقل N_Groupe يتغير ترقيمه حسب القيمة الموجودة في الحقل Groupe
وفي الكود الذي وضعته لا يتغير حسب القيمة Groupe
لذا يجب أن يتوقف ترقيم الحقب N_Groupe مع نهاية القيمة الموجودة بGroupe
ويبدأ الترقيم من جديد عند بداية القيمة الجديدة للGroupe
ارجوا ان لا اكون قد اكثرت عليك
وجزاك الله عنا كل خير
صحى لصيامكم وتقبل الله منا ومنكم صالح الاعمال
تقريبا اخي سنصل الى الحل
إدا تمعنت جيدا في الجدول الذي ارفقته لك ستجد ان الحقل N_Groupe يتغير ترقيمه حسب القيمة الموجودة في الحقل Groupe
وفي الكود الذي وضعته لا يتغير حسب القيمة Groupe
لذا يجب أن يتوقف ترقيم الحقب N_Groupe مع نهاية القيمة الموجودة بGroupe
ويبدأ الترقيم من جديد عند بداية القيمة الجديدة للGroupe
ارجوا ان لا اكون قد اكثرت عليك
وجزاك الله عنا كل خير
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
الصلاة والسلام على رسول الله
السؤال :
إدا تمعنت جيدا في الجدول الذي ارفقته لك ستجد ان الحقل N_Groupe
يتغير ترقيمه حسب القيمة الموجودة في الحقل Groupe
الجواب :
نعم يتغير حسب القيمة الموجودة في الحقل Groupe
مثلا :
سأتكلم عن الحقلين Groupe و N_Groupe
وتلاحظ اني لما غيرت في الفرقات أو المجموعات Groupe تغير
ترقيم في N_Groupe تنازليا وحسب كل فرقة
كما تشاهد
هذا الذي حدث عندي عند تنفيذ البرنامج
اذا امكن افتح موضوع اخر في في نفس القسم
وارفقه بعدة صور توضحية وشروحات توضح فيها كل صغيرة وكبيرة
لأنني الى حد الآن لم أفهم برنامجك بعد و
إن لم أقل أني قد تعقد الامر لديا أعد سؤال
حتى تضح الفكرة أكثر
ولا تظن أنك ترقني بهذه الاسئلة بل بالعكس إنها اسئلة ممتعة
فتابع حتى نصل الهدف
رمضان مبارك
مشكور ونحن في الخدمة
الصلاة والسلام على رسول الله
السؤال :
إدا تمعنت جيدا في الجدول الذي ارفقته لك ستجد ان الحقل N_Groupe
يتغير ترقيمه حسب القيمة الموجودة في الحقل Groupe
الجواب :
نعم يتغير حسب القيمة الموجودة في الحقل Groupe
مثلا :
سأتكلم عن الحقلين Groupe و N_Groupe
- الكود:
Groupe N_Groupe
aaa 1
aaa 2
aaa 3
aaa 4
aaa 5
bbb 1
bbb 2
bbb 3
bbb 4
bbb 5
- الكود:
Groupe N_Groupe
aaa 1
bbb 1
bbb 2
aaa 2
aaa 3
bbb 3
bbb 4
aaa 4
aaa 5
bbb 5
وتلاحظ اني لما غيرت في الفرقات أو المجموعات Groupe تغير
ترقيم في N_Groupe تنازليا وحسب كل فرقة
كما تشاهد
هذا الذي حدث عندي عند تنفيذ البرنامج
اذا امكن افتح موضوع اخر في في نفس القسم
وارفقه بعدة صور توضحية وشروحات توضح فيها كل صغيرة وكبيرة
لأنني الى حد الآن لم أفهم برنامجك بعد و
إن لم أقل أني قد تعقد الامر لديا أعد سؤال
حتى تضح الفكرة أكثر
ولا تظن أنك ترقني بهذه الاسئلة بل بالعكس إنها اسئلة ممتعة
فتابع حتى نصل الهدف
رمضان مبارك
مشكور ونحن في الخدمة
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بارك الله فيك وجعل كل مساعداتك في ميزان حسناتك
وتقبل الله منا ومنكم صالح الاعمال
ان الذي كنت مطيء لم انتبه جيدا الى الكود
والمطلوب كمرحلة اولى تمام التمام وبارك الله فيك
اما المرحلة الثانية هي تابعة للمرحلة الاولى
يعني للفرقة Groupe لها فرع ويسمى S_Groupe
المطلوب هو ما يطهر لك في الصورة المرفقة في الموضوع الثاني
وتقبل الله منا ومنكم صالح الاعمال
ان الذي كنت مطيء لم انتبه جيدا الى الكود
والمطلوب كمرحلة اولى تمام التمام وبارك الله فيك
اما المرحلة الثانية هي تابعة للمرحلة الاولى
يعني للفرقة Groupe لها فرع ويسمى S_Groupe
المطلوب هو ما يطهر لك في الصورة المرفقة في الموضوع الثاني
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين سيدتا محمد صلى الله عليه سلم وعلى آله وصحبه
- الكود:
procedure TForm1.Button1Click(Sender: TObject); //Alger
var
num1, num2: Word; //Alger
Cde1: Word; //Alger
begin
num1 := 0; num2 := 0; //Alger
Cde1 := 0; //Alger
Table1.Open; //Alger
Table1.First; //Alger
Table1.DisableControls; //Alger
while not Table1.Eof do
begin
if Table1Groupe.Text = 'aaa' then
begin
num1 := num1 + 1; //Alger
Cde1 := Cde1 + 1;
Table1.Edit;
Table1N_Groupe.Value := num1; //Alger
Table1.FieldByName('Cde').AsInteger := Cde1;
Table1.Post; //Alger
end
else
begin
num2 := num2 + 1; //Alger
Cde1 := Cde1 + 1;
Table1.Edit;
Table1N_Groupe.Value := num2; //Alger
Table1.FieldByName('Cde').AsInteger := Cde1;
Table1.Post; //Alger
end;
Table1.Next; //Alger
end;
Table1.EnableControls; //Alger
end; //Alger
ترتيب عشوائي لكل الحقول
- الكود:
procedure TForm1.Button3Click(Sender: TObject); //Alger
const
tab1: array[1..2] of string = ('aaa','bbb'); //Alger
tab2: array[1..10] of string =
('060','100','101','102','103','010','111','120','121','125'); //Alger
var
i: integer; //Alger
begin
randomize; //Alger
Table1.Open; //Alger
Table1.First; //Alger
Table1.DisableControls; //Alger
while not Table1.Eof do
begin
Table1.Edit; //Alger
Table1Cde.Value := random(10)+1; //Alger
Table1Groupe.Text := tab1[random(2)+1]; //Alger
Table1S_Groupe.Text := tab2[random(10)+1]; //Alger
Table1N_Groupe.Value := random(4)+1; //Alger
Table1Montant.Text := tab2[random(10)+1]; //Alger
Table1.Post; //Alger
Table1.Next; //Alger
end; //Alger
Table1.EnableControls; //Alger
end; //Alger
.
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
بسم الله الرحمن الرحيم
الصلاة والسلام على أشرف المرسلين سيدتا محمد صلى الله عليه سلم وعلى آله وصحبه
الى المرحلة الثانية
ali- مبرمج مجتهد
- عدد المساهمات : 913
تاريخ التسجيل : 29/07/2013
رد: كيف اتحكم في ترقيم معين حسب كل فرقة (المرحلة الآولى)
السلام عليكم ورحمة الله تعالى وبركاته
بارك الله فيك
ملاحظة
إنتبه إلى الحقل S_Groupe إن فيمته غير محدودة وغير ثابتة تتغير حسب الحالة
أما بالنسبة للحقل Groupe فإن قيمته محدودة وثابتة لا تتغير ويشمل 24 فرقة فقط
إذا الى الموضوع الثاني والمرحلة الثانية
وعلى بركة الله
بارك الله فيك
ملاحظة
إنتبه إلى الحقل S_Groupe إن فيمته غير محدودة وغير ثابتة تتغير حسب الحالة
أما بالنسبة للحقل Groupe فإن قيمته محدودة وثابتة لا تتغير ويشمل 24 فرقة فقط
إذا الى الموضوع الثاني والمرحلة الثانية
وعلى بركة الله
medreg- مبرمج ممتاز جدا
- عدد المساهمات : 81
تاريخ التسجيل : 29/01/2015
دلفي تعليم :: منتديات البرمجة :: دلفي
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى