PDA

View Full Version : سوال: نحوه محاسبه جمع اعداد داخل یک فیلد در بانک برای یک فرد خاص



reza4359
جمعه 09 مهر 1389, 14:20 عصر
با عرض سلام خدمت همه عزیزان برنامه نویس من به یه کد نیاز دارم میخوام جمع اعداد داخل یک فیلد رو در بانک برای یک فرد خاص( با کد شناسایی و نام خانوادگی) محاسبه کنم تا وقتی مجموع اعداد این فیلد به 30 رسید پیغام بده لطفا کمکم کنید

water_lily_2012
جمعه 09 مهر 1389, 14:40 عصر
با استفاده از تابع SUM می تونی مقادیر یک ستون را جمع بزنی

cheshm6k
جمعه 09 مهر 1389, 14:43 عصر
http://w3schools.com/sql/sql_func_sum.asp

arefba
جمعه 09 مهر 1389, 14:45 عصر
select sum ()

reza4359
جمعه 09 مهر 1389, 14:49 عصر
http://w3schools.com/sql/sql_func_sum.asp
ممنون از جوابتون ولی من کد c# رو میخوام زمان ثبت نام باید این پیغام رو بده آخه مقدار این فیلد داخل یک تکس باکس دخیره میشه

water_lily_2012
جمعه 09 مهر 1389, 14:51 عصر
چه موقعی شما نیاز به جمع زدن این اعداد دارید

reza4359
جمعه 09 مهر 1389, 14:54 عصر
چه موقعی شما نیاز به جمع زدن این اعداد دارید
بار هر بار ثبت مشخصات افراد چک کنه اگه جمع مقدار این فیلدی که اون رو از طریق یک تکس باکس میگیره به 30 رسید پیغام بده

water_lily_2012
جمعه 09 مهر 1389, 15:09 عصر
SELECT SUM(your Field) FROM your table WHERE NAME='your name';g

مشکلت حل شد یا نه؟

reza4359
جمعه 09 مهر 1389, 15:10 عصر
SELECT SUM(your Field) FROM your table WHERE NAME='your name';g
این کد کار نمیکنه اگه میشه کد c# رو بهم بگید

group45
جمعه 09 مهر 1389, 15:18 عصر
ببینید با این کارتون راه می افته؟



SqlCommand cmd = new SqlCommand("select id from t1");
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|directory|;I ntegrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection = con;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
int aa = 0;
while(sdr.Read())
{
aa += int.Parse(sdr["id"].ToString());
}
con.Close();
if (aa >= 30)
MessageBox.Show("sssss");

reza4359
جمعه 09 مهر 1389, 16:23 عصر
ببینید با این کارتون راه می افته؟



SqlCommand cmd = new SqlCommand("select id from t1");
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|directory|;I ntegrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection = con;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
int aa = 0;
while(sdr.Read())
{
aa += int.Parse(sdr["id"].ToString());
}
con.Close();
if (aa >= 30)
MessageBox.Show("sssss");

دوست عزیز ضمن تشکر از پیگیریتون این کدم کار نمیکنه چون اصلا اسمی از فیلد ی که میخواد جمع اعدادشو محاسبه کنه برده نشده من واسه اینکه شما بیشتر متوجه بشید یه توضیح بدم من یکسری اطلاعات فردی رو میخوام داخل بانک ثبت کنم حالا در حالت عادی اطلاعات ثبت میشه حالا میخوام وقتی یکی از فیلدهای بانک که اطلاعات اون عددیه و از یک تکس باکس از کاربر پرسیده میشه که ممکنه یه بار 1 وارد کنه و بار بعدی 5 وارد کنه تا زمانی که جمع اعدادی که داخل این تکس باکس در هر بار ثبت به 30 نرسیده اجازه ثبت اطلاعاتش هست ولی به محض این که جمع اعدادی که از قبل وارد شده به عدد 30 رسید یه پیغام بده که گاربر بفهمه که به قول خودمون چوب خطش پر شده و این فرد با همون مشخصات ممکنه چند روز یک بار اطلاعاتش ثبت بشه حالامیخوام یه شرط بزارم که اگه هر فردی که مشخصاتش ثبت میشه چوب خطش واسه این فیلد پر شد پیغام بده که دیگه ثبت نکنه ببخشید طولانی شد آخه خیلی بهش نیاز دارم

group45
جمعه 09 مهر 1389, 17:09 عصر
ببینید دوست عزیز
من گفتم که در جدول t1 یک فیلد داریم بنام id پس کافیه هر کاربر که اطلاعات رو تو تکست باکس ها مینویسه یه رکورد جدید ایجاد بشه واینهارو ثبت کنه (راه حل بهتر : هرچی که تو تکست باکس وارد میکنه با مقدار قبل آپدیت بشه)
بازم اگه مشکلتون حل نشد برنامتون رو بزارید براتون درستش کنم

reza4359
جمعه 09 مهر 1389, 17:24 عصر
ببینید دوست عزیز
من گفتم که در جدول t1 یک فیلد داریم بنام id پس کافیه هر کاربر که اطلاعات رو تو تکست باکس ها مینویسه یه رکورد جدید ایجاد بشه واینهارو ثبت کنه (راه حل بهتر : هرچی که تو تکست باکس وارد میکنه با مقدار قبل آپدیت بشه)
بازم اگه مشکلتون حل نشد برنامتون رو بزارید براتون درستش کنم
لطفا بگید که واسه دسترسی به یک فیلد از جدول باید از چه کدی استفاده کنم

water_lily_2012
جمعه 09 مهر 1389, 17:44 عصر
راستش شما لطف کنید عکس یا خود جدول را بگذارید تا ببینم جدول شما به چه صورته
اون کدی را هم که نوشتم
کد SQL هست باید با دستور C# اجراش کنی

reza4359
جمعه 09 مهر 1389, 17:56 عصر
راستش شما لطف کنید عکس یا خود جدول را بگذارید تا ببینم جدول شما به چه صورته
اون کدی را هم که نوشتم
کد SQL هست باید با دستور C#‎ اجراش کنی
اینم یه عکس از جدولم اون فیلدی که باید اضافه بشه و به 30 برسه رو علامت گذاشتم

water_lily_2012
جمعه 09 مهر 1389, 18:00 عصر
اولا نوع داده شما باید عددی باشه تا کد من کار بده
نه nvarchar
ولی کد را می نویسم برات می فرستم
فعلا برم نماز

water_lily_2012
جمعه 09 مهر 1389, 19:14 عصر
حدوداً متوجه شدم چی می خواهی
ببین درست می گم:
شما یه جدول دارید که اطلاعات را در اون ثبت می کنید و هر نفر تنها و تنها یک رکورد دارد و در هنگام ثبت اطلاعات، مشخصات در همان رکورد قبلی اون شخص ذخیره می شود.
و شما نیاز دارید که قبل از ذخیره اطلاعات هر شخص مقدار فیلد Priod را بدست آورید که آیا بیشتر از 30 هست یا نه. درسته

پس شما نیاز به استفاده از دستور Select دارید:
چون نام جدول شما را نمی دونستم بجای اون aaa گذاشتم.


OleDbCommand cmdGet = new OleDbCommand("SELECT * FROM aaa WHERE Name='" + textBox1.text + "' and Family='" + textBox2.Text + "'", cnOleDB);
OleDbDataReader drGet = cmdGet.ExecuteReader();
while (drGet.Read())
{
intSum =Int32.Parse(drGet["Priod"].ToString());
}






اولین خط یه کامند ایجاد کرده و بر اساس اطلاعات تکس باکس 1 و 2 شما که به ترتیب نام و نام خانوادگی هست سطری را در جدول پیدا می کند که اطلاعات تطابق داشته باشد
خط دوم دستور را اجرا می کند و اطلاعات بدست آمده را در drGet می ریزد
خط سوم همان دستور While اطلاعات را می خواندو دستور مابین آن مقدار فیلد priod را در intSum می ریزد
حالا شما ببین مقدار intSum بیشتر از 30 هست یا نه
البته intSum را تعریف کن.
در ضمن من از بانک اکسس استفاده کردم. فکر کنم شما از SQL استفاده کردی پس کد ها را خودت تغییر بده

group45
جمعه 09 مهر 1389, 21:42 عصر
لطفا بگید که واسه دسترسی به یک فیلد از جدول باید از چه کدی استفاده کنم



این فیلد رو مشخص میکنه
SqlCommand cmd = new SqlCommand("select id from t1");
--------------------
این تمام داده های فیلد رو میخونه
SqlDataReader sdr = cmd.ExecuteReader();
--------------------
این کد ها هم مقادیر موجود رو با هم جمع میکنن
while(sdr.Read())
{
aa += int.Parse(sdr["id"].ToString());
}

اگر باز مشکل پیدا کردی برنامتو بزار برات درستش کنم

reza4359
شنبه 10 مهر 1389, 11:03 صبح
حدوداً متوجه شدم چی می خواهی
ببین درست می گم:
شما یه جدول دارید که اطلاعات را در اون ثبت می کنید و هر نفر تنها و تنها یک رکورد دارد و در هنگام ثبت اطلاعات، مشخصات در همان رکورد قبلی اون شخص ذخیره می شود.
و شما نیاز دارید که قبل از ذخیره اطلاعات هر شخص مقدار فیلد Priod را بدست آورید که آیا بیشتر از 30 هست یا نه. درسته

پس شما نیاز به استفاده از دستور Select دارید:
چون نام جدول شما را نمی دونستم بجای اون aaa گذاشتم.


OleDbCommand cmdGet = new OleDbCommand("SELECT * FROM aaa WHERE Name='" + textBox1.text + "' and Family='" + textBox2.Text + "'", cnOleDB);
OleDbDataReader drGet = cmdGet.ExecuteReader();
while (drGet.Read())
{
intSum =Int32.Parse(drGet["Priod"].ToString());
}





اولین خط یه کامند ایجاد کرده و بر اساس اطلاعات تکس باکس 1 و 2 شما که به ترتیب نام و نام خانوادگی هست سطری را در جدول پیدا می کند که اطلاعات تطابق داشته باشد
خط دوم دستور را اجرا می کند و اطلاعات بدست آمده را در drGet می ریزد
خط سوم همان دستور While اطلاعات را می خواندو دستور مابین آن مقدار فیلد priod را در intSum می ریزد
حالا شما ببین مقدار intSum بیشتر از 30 هست یا نه
البته intSum را تعریف کن.
در ضمن من از بانک اکسس استفاده کردم. فکر کنم شما از SQL استفاده کردی پس کد ها را خودت تغییر بده
خیلی عزیزی ما رو شرمنده کردی منظورمو متوجه شدید و لی اونجا که گفتید اطلاعات به رکورد قبلی میره نه در حقیقت هر بار با ثبت اطلاعات یک رکورد جدید براش ثبت میشه وهر بار فیلد priod برای هر شخص جدا پر میشه حالا میخوام اگه فیلد priod برای هرشخص به 30 رسید پیغام بده شرمنده

water_lily_2012
شنبه 10 مهر 1389, 11:28 صبح
متوجه نشدم
شما بر فرض اگر بخواهيد نام علي احمدي را ثبت كنيد يك ركورد ايجاد مي كنيد و اگر دوباره بخواهيد اين نام را ثبت كنيد در ركورد جديدي ثبت مي كنيد. يعني امكان دارد يك نفر چندين ركورد داشته باشد
اگر اين چنين است بانك شما اشكال دارد. هر شخص بايد يك ركورد داشته باشد.
اگر اين چنين نيست لطف كنيد يه عكس از اطلاعات بانك و فيلدي كه مي خواهيد جمع بزنيد بگذاريد.

water_lily_2012
شنبه 10 مهر 1389, 11:31 صبح
اگر براي هر بار ثبت يك ركورد مي سازيد نيز همان كد قبلي خوب است فقط كد زير را

intSum =Int32.Parse(drGet["Priod"].ToString());به اين صورت بنويسيد

intSum +=Int32.Parse(drGet["Priod"].ToString());
فقط يك + اضافه شد.
اين دستور while تمام ركورد هاي مطابق با نام و فاميل را مي خواند و در intSum جمع مي زند.

reza4359
شنبه 10 مهر 1389, 16:06 عصر
متوجه نشدم
شما بر فرض اگر بخواهيد نام علي احمدي را ثبت كنيد يك ركورد ايجاد مي كنيد و اگر دوباره بخواهيد اين نام را ثبت كنيد در ركورد جديدي ثبت مي كنيد. يعني امكان دارد يك نفر چندين ركورد داشته باشد
اگر اين چنين است بانك شما اشكال دارد. هر شخص بايد يك ركورد داشته باشد.
اگر اين چنين نيست لطف كنيد يه عكس از اطلاعات بانك و فيلدي كه مي خواهيد جمع بزنيد بگذاريد.
سلام با تشکر فراوان
در این سیستم چون با هر بار مراجعه فرد اطلاعات جدیدی مثل تاریخ مراجعه و شماره نامه جدید و اعداد روز جدید و یک سری اطلاعات جدید دیگه ثبت میشه باید واسش رکورد جدید ایجاد بشه و این فیلد priod یکی از اون تغییرات مهمه که تا عدد 30 بیشتر نباید ثبت کنه

reza4359
شنبه 10 مهر 1389, 16:50 عصر
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "" || textBox9.Text == "" || maskedTextBox1.Text == "" || maskedTextBox2.Text == "" || maskedTextBox3.Text == "" || textBox7.Text == "" || textBox6.Text == "" || textBox10.Text == "" || textBox11.Text == "")
{


MessageBox.Show("فیلدهای خالی را پر کنید ", "پیغام سیستم", MessageBoxButtons.OK, MessageBoxIcon.Information);
}



/* ------------------------------*/




else if (MessageBox.Show("آیا مایل به ذخیره اطلاعات هستید؟", "پیغام سیستم", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{

SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + "\\database1.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
int x = int.Parse(textBox1.Text);
string a = textBox2.Text;
string b = textBox3.Text;
string c = comboBox1.SelectedItem.ToString();
string d = comboBox3.SelectedItem.ToString();
string y = comboBox2.SelectedItem.ToString();
string ab = comboBox6.SelectedItem.ToString();
string ac = comboBox7.SelectedItem.ToString();
string ad = comboBox8.SelectedItem.ToString();
string ae = comboBox9.SelectedItem.ToString();
int x1 = int.Parse(textBox10.Text);
int x2 = int.Parse(textBox11.Text);
int x3 = int.Parse(textBox12.Text);
string h1 = maskedTextBox4.Text;
string g1 = textBox15.Text;
string g2 = textBox16.Text;
string f = textBox4.Text;
int g = int.Parse(textBox5.Text);

string h = maskedTextBox1.Text;
string i = maskedTextBox2.Text;
string j = maskedTextBox3.Text;
string k = comboBox4.SelectedItem.ToString();
string l = comboBox5.SelectedItem.ToString();


int p = int.Parse(textBox9.Text);
string q = textBox7.Text;
int w = int.Parse(textBox6.Text);

string cmd2 = string.Format(" INSERT INTO book1 (id,name,family,[user],sex,yegan,ill,priod,date1,date2,date3,free,darman ,[current],num,dateday,doctor,status,submit,subfree,nofree,n umrade,daterade,sader,kom,khala) values ({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8 }','{9}','{10}','{11}','{12}','{13}','{14}','{15}' ,'{16}','{17}','{18}','{19}','{20}','{21}','{22}', '{23}','{24}','{25}')", x, a, b, c, d, y, f, g, h, i, j, k, l, w, p, q, ab, ac, ad, x1, x2, x3, h1, ae, g1, g2);
cmd.CommandText = cmd2;
cmd.Connection = con;
con.Open();

cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(textBox2.Text + " " + textBox3.Text + " " + " با شماره شناسایی " + " " + textBox1.Text + " " + "با موفقيت اضافه شد ");
if (MessageBox.Show("آیا مایل به صدور گواهی هستید؟", "چاپ گواهی", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{

reoform rep = new reoform();
rep.Show();


this.Hide();
}

}
}
این کدهای منه و جایی که کامنت گذاشتم باید کد شما قرار بگیره چون قبل از ثبت اطلاعات باید شرط چک بشه که آیا بیشتر از 30 هست یا نه حالا اینجا چه کدی بزارم کد قبلیتون جواب نداد

group45
شنبه 10 مهر 1389, 18:00 عصر
این کدا رو قبل خط تعریف cmd2 بزار


SqlCommand cmd = new SqlCommand("select priod from book1");
cmd.Connection = con;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
int aa = 0;
while(sdr.Read())
{
aa += int.Parse(sdr["priod"].ToString());
if (aa >= 30)
{
MessageBox.Show("sssss");
break;
}
}
con.Close();

یه شرط هم قبل تعریف cmd2 بزار که اگه aa<30 بود وارد شه.
امیدوارم دیگه مشکلت حل شه.

reza4359
شنبه 10 مهر 1389, 19:57 عصر
این کدا رو قبل خط تعریف cmd2 بزار


SqlCommand cmd = new SqlCommand("select priod from book1");
cmd.Connection = con;
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
int aa = 0;
while(sdr.Read())
{
aa += int.Parse(sdr["priod"].ToString());
if (aa >= 30)
{
MessageBox.Show("sssss");
break;
}
}
con.Close();
یه شرط هم قبل تعریف cmd2 بزار که اگه aa<30 بود وارد شه.
امیدوارم دیگه مشکلت حل شه.
سلام به خدا خیلی شرمنده درست شد خیلی اذیتتون کردم حالا اگه بخوام بعد از این پیغام دیگه اجازه ثبت نده باید چه کار کنم

group45
شنبه 10 مهر 1389, 23:46 عصر
خدارو شکر :اشتباه:
خدمتتون گفتم قبل خط زیر یه شرط بزار که اگه aa بیشتر از 30 شده وارد دستورات درج یک رکورد جدید نشه


if(aa<30)
{
string cmd2 = string.Format(" INSERT INTO book1 (id,name,family,[user],sex,yegan,ill,priod,date1,date2,date3,free,darman ,[current],num,dateday,doctor,status,submit,subfree,nofree,n umrade,daterade,sader,kom,khala) values ({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8 }','{9}','{10}','{11}','{12}','{13}','{14}','{15}' ,'{16}','{17}','{18}','{19}','{20}','{21}','{22}', '{23}','{24}','{25}')", x, a, b, c, d, y, f, g, h, i, j, k, l, w, p, q, ab, ac, ad, x1, x2, x3, h1, ae, g1, g2);
.
. //بقیه کد ها
.
}//if end

water_lily_2012
یک شنبه 11 مهر 1389, 10:14 صبح
اگر زودتر این کد را گذاشته بودی بهتر بود
اول یه انتقاد: این نوع جدول اشتباهه. شما نباید جدولتون به این صورت باشه
دوم: بهترین دستور و عاقلانه ترین همون استفاده از Sum هست.



cnOleDB.Open();
SqlCommand cmdGet = new SqlCommand("SELECT Sum(Priod) FROM Book1 Group BY id HAVING id='2254'", cnOleDB);
SqlDataReader drGet = cmdGet.ExecuteReader();
while (drGet.Read())
{
MessageBox.Show(drGet[0].ToString());
}
drGet.Close();
cnOleDB.Close();


این کد کمتر و بهتر هست. جمع ستون priod را برای id خاصی بهت می ده.
می تونی به جای id ستون های دیگه را معرفی کنی
البته برای اینکه این کد کار بده باید ستون priod از نوع عددی باشه
من این کد را خودم روی جدول امتحان کردم درست بود.

reza4359
یک شنبه 11 مهر 1389, 14:34 عصر
اگر زودتر این کد را گذاشته بودی بهتر بود
اول یه انتقاد: این نوع جدول اشتباهه. شما نباید جدولتون به این صورت باشه
دوم: بهترین دستور و عاقلانه ترین همون استفاده از Sum هست.



cnOleDB.Open();
SqlCommand cmdGet = new SqlCommand("SELECT Sum(Priod) FROM Book1 Group BY id HAVING id='2254'", cnOleDB);
SqlDataReader drGet = cmdGet.ExecuteReader();
while (drGet.Read())
{
MessageBox.Show(drGet[0].ToString());
}
drGet.Close();
cnOleDB.Close();
این کد کمتر و بهتر هست. جمع ستون priod را برای id خاصی بهت می ده.
می تونی به جای id ستون های دیگه را معرفی کنی
البته برای اینکه این کد کار بده باید ستون priod از نوع عددی باشه
من این کد را خودم روی جدول امتحان کردم درست بود.


این کد کامل نیست و آیا برای هر نفر خاص (یعنی برای هر کفرد با id خاص ) ثبت میشه درضمن من توی جدولم کلید اصلی ندارم چون نمیتونه داشته باشه چون یک فرد با یک کد شناسایی ممکنه چندین بار مراجعه کنه و اطلاعاتش ثبت بشه

water_lily_2012
یک شنبه 11 مهر 1389, 15:46 عصر
برای همین می گم جدولت اشتباه هست
شما باید چند تا جدول داشته باشید. اسامی و مشخصات افراد در یک جدول و اطلاعات آنها در یک جدول دیگر

reza4359
یک شنبه 11 مهر 1389, 20:19 عصر
برای همین می گم جدولت اشتباه هست
شما باید چند تا جدول داشته باشید. اسامی و مشخصات افراد در یک جدول و اطلاعات آنها در یک جدول دیگر
منظورم اون شرطیه که گفتی چون اونو که گذاشتم فرقی نکرد بازم ثبت میکنه

group45
یک شنبه 11 مهر 1389, 22:37 عصر
شما یه تفعل بزن به بیل گیتس. بهتر نیست بجای ایجاد رکورد جدید رکورد قبل رو آپدیت کنی؟؟؟؟؟؟؟؟

water_lily_2012
دوشنبه 12 مهر 1389, 06:02 صبح
چرا ثبت می کرد
اون کد تمام مقادیر ستون priod یک شخص را جمع می کرد و فقط در مسیج باکس نمایش می داد
خودت باید اگر بیش از 30 می شد شرط می گذاشتی
من فقط کد اصلی را بهت دادم

water_lily_2012
دوشنبه 12 مهر 1389, 06:07 صبح
cnOleDB.Open();
SqlCommand cmdGet = new SqlCommand("SELECT Sum(Priod) FROM Book1 Group BY id HAVING id='2254'", cnOleDB);
SqlDataReader drGet = cmdGet.ExecuteReader();
while (drGet.Read())
{
intSum =Int32.Parse(drGet[0].ToString());
if(intSum>30)
{
اگر بزرگتر از 30 شد این کد ها را اجرا کن
}
else{
اگر نه این کد ها را
}
}
drGet.Close();
cnOleDB.Close();
</div>[/quote]

reza4359
دوشنبه 12 مهر 1389, 09:40 صبح
شما یه تفعل بزن به بیل گیتس. بهتر نیست بجای ایجاد رکورد جدید رکورد قبل رو آپدیت کنی؟؟؟؟؟؟؟؟
مهندس من که گفتم سوابق افراد با تاریخ مراجعه و یک سری اطلاعات دیگه رو باید داشته باشم وگرنه واسه آپدیت که مزاحم شما نمیشدم

group45
دوشنبه 12 مهر 1389, 11:35 صبح
جناب reza4359 (http://barnamenevis.org/forum/member.php?u=76389) یه زحمت بکشید و برنامتون رو بزارید تا دوستان روش یه غلطی بزنن :لبخند:

water_lily_2012
دوشنبه 12 مهر 1389, 17:32 عصر
ببین دوست عزیز
شما یک جدول درست کنید شامل ستون ID,Name,Family
که در این جدول فیلد ID کلید اصلی هست. این جدول فقط اطلاعات شخصی افراد و مشترکین را دارد.
یه جدول دیگه با ستون ID و تاریخ مراجعه و دیگر چیز ها
در این جدول نیز ID کلید اصلی می باشد و اطلاعات دیگر ذخیره می شود(اطلاعاتی که هر بار قراره ذخیره بشه)
اطلاعاتی که هر بار قرار نیست ذخیره بشه را در جدول اول قرار بده.

Mousavmousab
شنبه 13 فروردین 1390, 12:18 عصر
سلام
من فقط می خوام جمع رکورد Buy من را در یک لیبل نشون بده .!!!!

منی الان چی باید بنویسم و کجا بنویسم ؟