ايران ويج

نسخه‌ی کامل: دو تا سؤال آسون ديتابيسي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
1- با كنترل database ذاتي وي‍ژوال بيسيك مي شه با يك فايل اكسس كه تو اينترنت آپلود شده، ارتباط برقرار كرد؟ اگه مي شه چطوري و اگه نمي شه براي اين كار بايد چه كار كرد؟

2- فرض كنيم يك ديتابيس اكسس داريم كه توش دو تا فيلد به نامهاي code (از نوع لانگ) و name از نوع تكست داريم.
حالا مي خوام به اين ترتيب سرچ كنم:
اول كسايي كه كدشون 12 است
بعد از بين افراد پيدا شده، كسايي كه نامشون ali است.
(در ضمن ترتيب ذكر شده لازمه)
(در ضمن من از كنترل ديتابيس ذاتي وي‍ژوال بيسيك استفاده كردم.)
اگه كسي بتونه با زبون ساده و مبتديانه راهنماييم كنه ممنون مي شم...
جواب سوال دوم:
چون از Data استفاده کردی، نمی تونی از دستورات SQL استفاده کنی
2 تا تکست باکس می ذاری رو صفحه فرض کن اسم یکی رو گذاشتی txtCode و اون یکی هم txtName
حالا پراپرتی Datasource تکست باکس اول یعنی txtCode رو می کنی Data1 (این Data1 اسم همون Object دیتاته!)
همین کار رو هم برای txtName می کنی
حالا پراپرتی DataField تکست باکس اول یعنی txtCode رو می کنی Code
پراپرتی DataField تکست باکس دوم یعنی txtName رو هم می کنی Name
حالا می ری به بخش کد نویسی و تو رویداد Form_Load (یا هر رویداد دیگه ای که بخوای) این دستورات رو می نویسی:

Do While Data1.Recordset.EOF = False
If txtCode.Text = "12" And txtName.Text = "ali" Then MsgBox "It's true!!!"
Data1.Recordset.MoveNext
Loop

به همین سادگی به همین خوشمزگی!!!
سلام
اولا ممنون كه جواب دادي! خدا خيرت دهاد.
دوما فكر مي كنم جوابي كه بهم دادي اون چيزي نبود كه من ميخواستم.

far_222000 نوشته است:چون از Data استفاده کردی، نمی تونی از دستورات SQL استفاده کنی

اتفاقا چرا! مي تونيم استفاده كنيم! فقط كافيه خصيصه data1.RecordSource رو برابر با دستور SQL قرار بديم.
با اين فرض مي توني به سوالم جواب بدي؟
در ضمن من نمي خوام از AND استفاده كنم.
بلكه مي خوام اول code رو چك كنه. بعد تو نتايج اون بياد name رو چك كنه.

چرا؟
چون ...
فرض كن بجاي فيلد name يه فيلد داريم از نوع memo
و فرض كن ديتابيسمون چندين هزار ركورد داره.
مي دونيم كه سرچ كردن تو فيلد از نوع long خيلي سريع تر از سرچ تو فيلد از نوع memo است.
پس من مي خوام اول با استفاده از فيلد code تعداد ركورد ها رو محدود تر كنم بعد تو اين ركوردهاي محدود، بيام اون يكي فيلدم رو چك كنم. تا سرعت اجرا بالاتر بره.

در ضمن به خاطر يك سري محدوديت ها مجبورم از كنترل Data ذاتي وي بي استفاده كنم.
این دستور
SELECT field1,field2 INTO destinationtable FROM sourcetable WHERE field1 = text
1 جدول می سازه به نام destinationtable، و توی اون 2 تا field به نام های field1 و field2 رو قرار می ده با این شرط که field1 مقدارش برابر text باشه
این همون کاری که می خوای بکنی تا دنبال name بگردی

حالا با این دستور از نتایج بدست اومده دنبال code می گردی:
SELECT field1,field2 FROM destinationtable WHERE field2 = text

نکته اگه این دو تا دستور رو تو دل دستور اول جا گذاری می کردی سرعتش با سرعت الان یکیه(البته تو حجم بالا تست نکردم) اگه بخوای جفت دستوراتش بشه 1 کی اینجوری می شه:
SELECT field1,field2 INTO destinationtable FROM sourcetable WHERE field1 = text1 AND field2 = text2
سلام
آقا جون من هر كار كردم نتونستم از اين راهي كه گفتي استفاده كنم
مي توني يه برنامه مشابه برام بفرستي؟؟؟