PDA

نسخه کامل مشاهده نسخه کامل : وقتي اطلا عات دانشجو از جدول دانشجو حذف شود كه در جدول ثبت نام دانشجويي با اين كد نداشته باشم.



hamidehsadat
25-04-2007, 16:27
من دو تا جدول دارم يكي جدول دانشجو كه اطلاعات دانشجو ذخيره مي شوند وجدول ديگر جدول ثبت نام است كه هر دانشجو كه براي ثبت نام مي ايد در اين جدول ثبت مي شود و در جدول ثبت نام ممكن است يك دانشجو در چند كلاس ثبت نام بكند . حالا من مي خواه م يكي از كلاس هايي كه دانشجو ثبت نام كرده است را حذف كنم و مي خواهم وقتي اطلا عات دانشجو از جدول دانشجو حذف شود كه در جدول ثبت نام دانشجويي با اين كد نداشته باشم.من چه كار بايد بكنم؟
بانكم پارادكس است

Mavix
25-04-2007, 17:35
با سلام

میتونی جستجو کنی اگه پیدا نکردی بعد حذف کنی.

مثلا از دستور Locate میتونی استفاده کنی. موفق باشی

soldier
25-04-2007, 18:43
سلام

دوست عزیز. اول باید بگردی ببینی هست یا نه؟

با دستور فیلتر. توی انجمن سرچ کن پیدا میکنی.

اما کمی بیشتر برات توضیح بدم.

یه قسمت از برنامه بزار این اتفاقات رو که گفتی چک کنه.

چک کردن هم راحته. اگر "در جدول ثبت نام دانشجويي با اين كد نداشته باشی"

"اطلا عات دانشجو از جدول دانشجو حذف شود "

اینها رو خودت نوشته بودی توی پستت. پس خودت هم جوابش رو داری.

خوب برای دستور اولی باید سرچ کنی اگر نبود. به دستور دومی بری و حذفش کنی.

خوشبختانه تمام دستورات رو هم توی انجمن میتونی پیدا کنی.

چند دقیقه دیگه هم خودم کدش رو برات میزارم.
بای

soldier
25-04-2007, 18:51
سلام
خوب این هم کدش.
اما شرطش رو خودت کامل کن. و همچنین دستور فیلتر رو.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشی. بای

hamidehsadat
26-04-2007, 18:54
سلام
خوب این هم کدش.
اما شرطش رو خودت کامل کن. و همچنین دستور فیلتر رو.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشی. بایمن از كدي كه شما نوشته ايد استفاده كردم ولي نميدونم كجاي اين كد مشكل داره كه ارور table3:field st not found را مي دهدو اسم فيلد من در بانكم st-id است

Table3.Filter:= 'st-id= '''+edit1.Text+'''';
table3.Filtered:=True;
if table3.FieldValues['st-id'] = '' then
table1.Delete;

H A M E D
26-04-2007, 19:00
من از كدي كه شما نوشته ايد استفاده كردم ولي نميدونم كجاي اين كد مشكل داره كه ارور table3:field st not found را مي دهدو اسم فيلد من در بانكم st-id است

Table3.Filter:= 'st-id= '''+edit1.Text+'''';
table3.Filtered:=True;
if table3.FieldValues['st-id'] = '' then
table1.Delete;
خوب اول از همه براي كمك كردن به شما بايد بدونيم كه شما چه اطلاعاتي رو در چه Tableي ذخيره كرديد. اصلا آيا شما Table3 رو داريد؟

soldier
27-04-2007, 11:05
سلام

کد رو کمی تغییر دادم.

اما یه چیز بگم. اون دستور if هست بجای code بر اثاث این چیزی که خودتون گفتید

کاملش کنید. چون من دیگه این تیکه رو نمیتونم بنویسم.

اگر "در جدول ثبت نام دانشجويي با اين كد نداشته باشی"


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سعی کن اسم فیلد ها و Table ها رو اشتباه نکنی.

توی این چیزایی که بهت گفتیم. خیلی دقت کن.

اگر باز هم درست نشد بگو. بای

hamidehsadat
27-04-2007, 12:55
خوب اول از همه براي كمك كردن به شما بايد بدونيم كه شما چه اطلاعاتي رو در چه Tableي ذخيره كرديد. اصلا آيا شما Table3 رو داريد؟سلام
من دو تا جدول دارم كه اسم جدول هام جدول دانشجو ( table1 )و ثبت نام(table3) است و موقع سيو كردن كد دانشجو را در تيبل 1و3 ذخيره مي كنم و اطلاعات دانشجو را در جدول دانشجو ذخيره مي كنم . فيلدجدول دانشجو: كد دانشجو ونام ونام خانوادگي و...
فيلد جدول ثبت نام : كد دانشجو و كد كلاس و كد استاد وكد درسي كه دانشجو اتخاب كرده است. در جدول 3 فيلد st-id هست ولي روري كه مي دهد مي گويد st not found

soldier
27-04-2007, 19:28
یعنی فيلد جدول ثبت نام : كد دانشجو و كد كلاس و كد استاد وكد درسي كه دانشجو اتخاب كرده = جدول 3 فيلد st-id هست.

کلی خوندم. کلی گیج شدم. اما انگاری فهمیدم.

خوب شما که کد ثبت نام رو نوشتید. کار کرده؟ مشکلی نداشته؟

اگر کار کرده لطفآ کد ثبت نام رو بزارید.

فقط کافیه اون کد رو بزاری. تا سه سوت حله.

منتظرم طولش ندی.اما اگر پستتون رو ندیدم بیشتر سه سوت طول میکشه:D
بای

hamidehsadat
28-04-2007, 09:55
یعنی فيلد جدول ثبت نام : كد دانشجو و كد كلاس و كد استاد وكد درسي كه دانشجو اتخاب كرده = جدول 3 فيلد st-id هست.

کلی خوندم. کلی گیج شدم. اما انگاری فهمیدم.

خوب شما که کد ثبت نام رو نوشتید. کار کرده؟ مشکلی نداشته؟

اگر کار کرده لطفآ کد ثبت نام رو بزارید.

فقط کافیه اون کد رو بزاری. تا سه سوت حله.

منتظرم طولش ندی.اما اگر پستتون رو ندیدم بیشتر سه سوت طول میکشه:D
بایاين قسمتي از كد مريوط به سيو كردن:

if table1.Locate('st-id',edit1.Text,[])=false then begin
;table1.Insert
table1.Fields[1].AsString:= edit2.Text;
table1.Fields[2].AsString:= edit3.Text
table1.Fields[5].AsString:= edit4.Text;
table1.Fields[4].AsString:= edit5.Text;
table1.Fields[6].AsString:= edit6.Text;
table1.Fields[3].AsString:= edit7.Text;
table1.Fields[8].AsString:= edit8.Text;
table1.Fields[7].AsString:= edit15.Text;
table1.Post;
end;
ret:=messagedlg('ÇíÇ ÔãÇ ãØãíä åÓÊíÏ ßå Çíä ÏÇäÔÌæ ÐÎíÑå ÔæÏ',mtinformation,mbyesnocancel,0);
if (ret=idyes) then begin
table3.Insert;
table3.Fields[1].AsString:= edit1.Text;
table3.Fields[2].AsString:= edit16.Text;
table3.Fields[3].AsString:= edit14.Text;
table3.Fields[4].AsString:= edit11.Text;
table3.Post;
messagedlg('ÏÇäÔÌæ ÐÎíÑå ÔÏ',mtinformation,[mbok],0);

از if تا table1.post مربوط به دانشجوي جديداشت كه اطلاعاتش در جدول دانشجو ثبت مي شود.
از ret تا اخر مربوط به دانشجوياني كه قبلا ثبت نام كرده اند و در يك كلاس ديگر مي خواهند ثبت نام كنند.

ممنون.

soldier
28-04-2007, 12:39
سلام

خوب عزیز جان. st-id فیلد Table1 هست. اما شما گفتید که مال Table3 هست.

حالا به کد خودتون نگاه کنید : table1.Locate('st-id',edit1.Text,[])=false

گیجمون کردی با این Tableها. این هم از کد. استفاده کن ببین درست میشه . بهم همینجا خبر بده.

حالا اگر شما اسم Table ها رو توی پروژه درست مینوشتی که مشخص باشه !

همون سه سوت اول درست شده بود. :D :)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همیشه سعی کن اسم ها رو طوری بزاری که مشخص باشه. کلآ برای خودت خیلی راحت تره.:)

چند ماه دیگه که میخواستی تغییرش بدی خوب دهنت سرویس میشه :D

دهن ما رو هم سرویس کردی =)) :) :)) (شوخی)

موفق باشی.

hamidehsadat
29-04-2007, 09:11
سلام

خوب عزیز جان. st-id فیلد Table1 هست. اما شما گفتید که مال Table3 هست.

حالا به کد خودتون نگاه کنید : table1.Locate('st-id',edit1.Text,[])=false

گیجمون کردی با این Tableها. این هم از کد. استفاده کن ببین درست میشه . بهم همینجا خبر بده.

حالا اگر شما اسم Table ها رو توی پروژه درست مینوشتی که مشخص باشه !

همون سه سوت اول درست شده بود. :D :)


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

همیشه سعی کن اسم ها رو طوری بزاری که مشخص باشه. کلآ برای خودت خیلی راحت تره.:)

چند ماه دیگه که میخواستی تغییرش بدی خوب دهنت سرویس میشه :D

دهن ما رو هم سرویس کردی =)) :) :)) (شوخی)

موفق باشی. ممنون از اينكه وقتتان را در اختيار من قرار داديد و به سوال هاي من جواب داديد .
اي بابا st-id در جدول دانشجو كليد اصلي است و در جدول ثبت نام كليد خار جي است.st-id هم كه در جدول دانشجو به اين خاطر نوشتم كه st-id در جدول دانشجو كليد اصلي است و داتشجوياني كه يكبار ثبت نام شده اند نمي خواهد اطلا عاتشان تكرار شود.
در ضمن table1 را هم گذاشتم ارور مي دهد . من فكر كنم شما به اروري كه ميدهد دقت نكرديد . اروري كه مي دهد st not found است ولي من در كدم نوشته ام st-id
اميدوارم اين دفعه متوجه منظورم شده باشيد.

hamidehsadat
14-06-2007, 11:12
ببخشيد من منظورم اين بود كه اگر دانشجويي كه در چند تا كلاس ثبت نام كرده است اگر اين كد در جدول ثبت نام نبوداگر ميخواهد حذف شود اطلاعات ان از جدول دانشجو حذف شود در غير اين صورتان كد از جدول ثبت نام حذف شود ولي از جدول دانشجو حذف نشود اين طوري بگم كهاگر اين كد يك بار در جدول ثبت نام تكرار شده بود وقتي ميخواهد حذف شود از جدول دانشجو هم حذف شود ولي اگر چندتا از اين كد وجود داشت اين كد از جدول دانشجو حذف نشود .
اميدوارم متوجه منظورم شده باشيد.