PDA

View Full Version : تهيه‌ي كارنامه از دو جدول (فوري)



ms_raha
پنج شنبه 09 مهر 1388, 18:19 عصر
سلام
من يك جدول دارم كه مشخصات دانشجو را مي گيرد و يك جدول كه نمره هاي او را مي گيرد من مي خواهم از اين دو جدول يك كارنامه درست كنم مثلا در يك textbox شماره يك دانشجو را وارد كنم و وقتي روي يك command كليك كردم اول بين اين دو جدول ارتباط برقرار كند و دوم اطلاعات ان دانشجويي را نشان دهد كه من كد ان را در textbox وارد كردم من ارتباط بين جداول را بلدم ولي اطلاعات همه ي دانشجويان را نشان مي‌دهد لطفا مرا راهنمايي كنيد
ممنون

powerboy2988
پنج شنبه 09 مهر 1388, 22:50 عصر
خوب شما يك فيلد خارجي براي جدول نمرات تعريف مي كني كه مقدار شماره دانشجويي اون شخصه..

حالا وقتي بخواي نمره هاي يك شخص خواص رو ببيني مياي بر اساس شماره دانشجوي سرچ مي كني.

bugattis
جمعه 10 مهر 1388, 15:35 عصر
با سلام
شما ابتدا باید یک data به فرم اضافه کنید و خاصیت databasename اون رو به بانک ربط بدید
ولی خاصیت recordsource نمی خواهد که به بانک ربط بدهید چون تو برنامه ربط می دهیم
یک dbgrid رو به فرم اضافه کنید و خاصیت datasource اون رو برابر data1 قراردهید

در ضمن هر دو table1(مشخصات دانشجو) و table2(مشخصات درسی دانشجو)باید توی یک بانک باشند

بعد تو دکمه ای که خودت گفتی کد زیر رو وارد کن
idشماره دانشجویی توی جدول یک و دو هست
نکته:از متغیر a تا آخرین دستور شرط یعنی table1.id=" + Trim(text1.Text توی یک خط بنویس


Private Sub Command1_Click()
a = "select * from table1 where table1.id=table2.id and table1.id=" + Trim(text1.Text)
Data1.RecordSource = a
Data.Refresh
End Sub

موفق باشید(پرانتز رو هم درست کن که پشت خط دوم کدنویسی افتاده , اونو آخر همون خط قرار بده)

ms_raha
شنبه 11 مهر 1388, 12:08 عصر
ممنون از پاسخ شما ولي اين كد جواب نمي دهد از شرط ايراد مي گيرد فكر مي كنم وقتي table1.id هم مساوي table2.id و هم مساوي text1 قرار داديد اشتباه باشد

bugattis
شنبه 11 مهر 1388, 13:14 عصر
همش درسته فقط من چون عجله داشتم به تیکش یادم رفته تو کد زیر اصلاحش کردم

Private Sub Command1_Click()
a = "select * from table1,table2 where table1.id=table2.id and table1.id=" + Trim(text1.Text)
Data1.RecordSource = a
Data.Refresh
End Sub


ببخشید:افسرده:

mostafa_bahar
شنبه 11 مهر 1388, 17:48 عصر
نمی دونم این اضافه کاری ها برای چیه شما از دستور ado.recordset.filter="id like '"+text1.text+"'
همین یه دستورم بزار که جدول اگر خالی بود کاری نکنه if ado.recordset.recordcount<>0 then

vahidm
یک شنبه 12 مهر 1388, 22:55 عصر
نمی دونم این اضافه کاری ها برای چیه شما از دستور ado.recordset.filter="id like '"+text1.text+"'
همین یه دستورم بزار که جدول اگر خالی بود کاری نکنه if ado.recordset.recordcount<>0 then

سلام
فکر کنم علامت <> دیگه نمی خواد چون معنیش این میشه که هر وقت جدول خالی نبود .
درستش میشه
Adodc.recordset.recordcount=0