PDA

View Full Version : سوال: دسترسی به اطلاعات یک جدول بوسیله فیلد کلیدی ( ID )



sara.mahdavi
یک شنبه 03 شهریور 1392, 16:12 عصر
با سلام

من 2تا جدول دارم که توی جدول2 ، ID جدول1 رو ذخیره کردم
حالا چطوری به فیلدهای این ID ذخیره شده در جدول1 دسترسی پیدا کنم؟؟؟
مثال :
فیلدهای جدول1 :


1- ID
2- FName
3- LName
4- BDate
...

فیلدهای جدول2 :



1- ID
2- IDTable1
3- Name
4- Date
...


چطوری FName , LName رو از جدول1 فراخوانی کنم؟

یوسف زالی
یک شنبه 03 شهریور 1392, 16:15 عصر
سلام.
راههای مختلفی دارید که ساده ترینش استفاده از join در کوئری هست.


select *
from Tbl1 join Tbl2 on Tbl1.ID = Tbl2.IDTable1

یا


select *
, (select Name from Tbl1 where ID = IDTable1)
from Tbl2

morteza147
یک شنبه 03 شهریور 1392, 16:16 عصر
با سلام

من 2تا جدول دارم که توی جدول2 ، ID جدول1 رو ذخیره کردم
حالا چطوری به فیلدهای این ID ذخیره شده در جدول1 دسترسی پیدا کنم؟؟؟
مثال :
فیلدهای جدول1 :


1- ID
2- FName
3- LName
4- BDate
...

فیلدهای جدول2 :



1- ID
2- IDTable1
3- Name
4- Date
...


چطوری FName , LName رو از جدول1 فراخوانی کنم؟

Select tb1.fname,... from tb1
Left join tb2 on tb1.id=tb2.idtb1

یوسف زالی
یک شنبه 03 شهریور 1392, 16:21 عصر
راه های دیگه:
- استفاده از فیلد های لوکیت
- استفاده از خود دستور لوکیت
- استفاده از فیلد های محاسباتی
- استفاده از مستر - دیتیل
.
.

sara.mahdavi
یک شنبه 03 شهریور 1392, 16:33 عصر
واقعا ممنون بابت جواب دهی و راهنمایی سریعتون:چشمک:

آخجوووون چقدر راه داره :لبخند:
خب کدوم روش بهتره؟؟؟:متفکر:

یک مطلب دیگه هم بگم

ببینید در اصل من میخوام هر موقع یک سطر از جدول2 رو انتخاب میکنم اطلاعات چندتا از فیلدهای جدول1 رو نمایش بدم
این روشی که رفتم درسته؟؟؟
یا بهتره همون فیلدها رو به جدول2 اضافه کنم ؟؟؟

یوسف زالی
یک شنبه 03 شهریور 1392, 20:21 عصر
روش join رو پیشنهاد می کنم.
چون بیشتر از یک فیلد رو لازم دارید نمایش بدید.
این کار رو می تونید در یک ADOQuery انجام بدید.
اگر از اکسس استفاده می کنید و احیانا به دستور join گیر داد، جاش از این فرمت استفاده کنید:



select *
from Tbl1, Tbl2
where ID1 = IDTable1

sara.mahdavi
دوشنبه 04 شهریور 1392, 10:02 صبح
ممنون از راهنماییتون:تشویق::قلب:
لطفا این مورد رو هم پاسخ بدید


بینید در اصل من میخوام هر موقع یک سطر از جدول2 رو انتخاب میکنم اطلاعات چندتا از فیلدهای جدول1 رو نمایش بدم
این روشی که رفتم درسته؟؟؟
یا بهتره همون فیلدها رو به جدول2 اضافه کنم ؟؟؟

morteza147
دوشنبه 04 شهریور 1392, 10:11 صبح
ممنون از راهنماییتون:تشویق::قلب:
لطفا این مورد رو هم پاسخ بدید

منظورتونو دقیقتر میشه بیان کنید وقتی رو یک سطر از جدول 2 کلیک کردین با کدوک فیلد اطلاعات جدول 1 را نمایش دهد؟!
اگر با فیلد idtable1 باشد شما فقط می تونید یه سطر را بیارید

morteza147
دوشنبه 04 شهریور 1392, 10:12 صبح
یا اینکه می تونید بعد جوین کردن با فیلدهای نام یا نام خانوادگی فیلتر کنید

یوسف زالی
دوشنبه 04 شهریور 1392, 10:18 صبح
عرض کردم، با روشی که گفتم، در اصل اطلاعات جدول یک شما به همراه جدول دوم به صورت ترکیبی و با لینک مناسب که روی where یا on تعیین می شه میاد.
اگر یک بار تست کنید متوجه می شید چی می گم.
دیگه نیازی به این ندارید که وقتی روی فیلدی هستید برای آوردن اطلاعات از جدول یک، کار اضافه ای کنید.



شما فقط می تونید یه سطر را بیارید


ایشون منظورشون فیلده نه سطر.
ضمنا می شه بیش از چند سطر رو هم آورد و از این نظر محدودیتی وجود نداره.