PDA

View Full Version : سوال: نمایش متن بعد از فراخوانی کد



علی رضائی
یک شنبه 10 آذر 1387, 09:27 صبح
در جدول شهر ها ، نام هر شهر و کد مربوط به آنها، ثبت شده است.
در جدول افراد ، نام افراد و محل تولد آنها با کد شهر از جدول شهرها ثبت می شود.
برای نمایش در فرم مربوط به نتیجه جستجو، می خواهیم نام فرد از جدول افراد فراخوانی و نمایش داده شود. و همچنین محل تولد که به صورت عدد ثبت شده به صورت متن نمایش داده شود.
لطفا راهنمایی فرمائید.
توضیحات:
در فرم ثبت مشخصات مشکلی نیست. چون از دبی لوک آپ کومبوباکس استفاده می کنم.
ولی در فرم نتیجه جستجو استفاده از دی بی لوک آپ کامبو باکس از زیبایی فرم می کاهد.

m-khorsandi
یک شنبه 10 آذر 1387, 09:46 صبح
Select Persons.First_Name, Persons.Last_Name, City.CityName as B_Place
from Persons
inner join city on city.code = persons.B_PlaceCode

علی رضائی
یک شنبه 10 آذر 1387, 10:56 صبح
در صورت امکان توضیح دهید که
inner join
چه کاری را انجام می دهد و کد را در چه بخشی باید قرار دهم تا محل تولد در یک لیبل ظاهر شود. ممنونم.

m-khorsandi
یک شنبه 10 آذر 1387, 11:10 صبح
Join برای الحاق دو تا جدول استفاده ميشه كه بر اساس يك شرط منطقی سطرهایی رو از دو جدول (يا بيشتر) بدست مياره كه معمولاً اين جداول با هم ارتباط دارند(مانند مسئله‌ی شما) ، كه با توجه به شرايط و موقعيت ميتوان از Inner, Outer, Full, Cross استفاده كرد، موردی كه شما نياز داريد يك Inner Join هست .

از چه DBیی استفاده ميكنی؟

علی رضائی
یک شنبه 10 آذر 1387, 11:14 صبح
از دیتابیس اکسس

m-khorsandi
یک شنبه 10 آذر 1387, 11:21 صبح
مشكلی نيست، ميتونی از اين دستورات در Access هم استفاده كنی. تو Query يا ADOQuery بنويس و هرجایی كه بايد اين اطلاعات نمايش داده بشه، Query يا ADOQuery رو Open كن.

zman123456
یک شنبه 10 آذر 1387, 11:24 صبح
آقای خورسندی کد query مربوط به جستجو را برای شما نوشته اند.اگر از ado استفاده میکنید کافیه این کد رو در خاصیت sql اون بنویسید ولی جایی که باید برای یک فرد خاص گزارش بگیرید باید حتما بتونید پارامتر را برای ado پاس کنید.
پس بر میگرده به روش برنامه نویس:
می تونی این کار رو انجام بدی.


ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select Persons.First_Name, Persons.Last_Name, City.CityName as B_Place');
ADOQuery1.SQL.Add('from Persons');
ADOQuery1.SQL.Add('inner join city on city.code = persons.B_PlaceCode');
ADOQuery1.SQL.Add('where personel.field = '+Edit1.Text);
ADOQuery1.Open;

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

mahtab_mmm85
یک شنبه 17 آذر 1387, 10:55 صبح
بهتر است به جاي Inner Joinاز Left outerJoin استفاده كنيد چون اين باعث مي شود خروجي شما فقط از جدول پرسنل شما باشد و ركوردهاي اضافي نداشته باشيد.

m-khorsandi
یک شنبه 17 آذر 1387, 12:36 عصر
Inner Join تمام ركوردهای جدول پرسنل رو كه فيلد شهر صحيح وارد شده باشد رو مياره و Left Outer Join تمام ركوردهای جدول پرسنل كه فيلد شهر اونها مقدار اشتباه يا بدون مقدار باشد رو هم مياره.