PDA

نسخه کامل مشاهده نسخه کامل : دیتابیس



Mohsen.Sh_PC
23-01-2011, 22:53
سلام یک سوال خیلی حیاتی داشتم.
میخوام یک لیست باکس رو به کنترل ADO ربط بدم.
تکس باکس رو انجام دادم ولی لیست باکس نمیشه.
متشکر

Mohsen.Sh_PC
24-01-2011, 08:23
کسی نبود:19:

sadeghbarout
24-01-2011, 16:24
برای اتصال لیست باکس باید از ابزار datalist استفاده کنی این ابزار تمام موارد موجود در اون فیلد آدرس دهی شده رو در یه لیست باکس نشون میده
برای اضافه کردنش باید از منوی project گزینه components رو انتخاب کنی و بعد گزینه Microsoft Datalist cintrols 6.0 رو تیک بزنی

امیدوارم جوابت رو گرفته باشی

Mohsen.Sh_PC
24-01-2011, 18:44
خیلی خیلی متشکرم

Mohsen.Sh_PC
24-01-2011, 20:00
اگه میشه توی این مشکل راهنمایی کنید.
توی فرم فقط یک لیست باکس متصل به یک جدول پایگاه داده است که جدول دیگه لیست قیمت هاست و نشون داده نمیشه
حالا میخوام وقتی کاربر توی لیست باکس یک محصول رو انتخاب کرد قیمتش هم که توی همون جدوله توی یک متغیر بریزم.
حالا چطوری باید قیمتش رو بدست بیارم.
متشکرم.

sadeghbarout
25-01-2011, 12:00
اگه درست فهمیده باشم توی یه table نام اجناس رو داری که کنارش قیمتشون هم هست
حالا فرض کن نام اجناس توی فیلد name و قیمت هم توی فیلد cost باشه
با کد زیر میتونی با کلیک روی جنس مورد نظر توی datalist1 قیمتش رو با msgbox ببینی

Private Sub DataList1_Click()



Adodc1.RecordSource = "select*from table1 where name='" & DataList1.Text & "'"
Adodc1.Refresh

MsgBox Adodc1.Recordset.Fields("cost")

Adodc1.RecordSource = "select*from table1"
Adodc1.Refresh

End Sub


موفق باشی...

Mohsen.Sh_PC
25-01-2011, 12:50
یا من اشتباه نوشتم یا کد یک جاهاییش اشکال داره.
آخه فقط رکورد اول از فیلد Cost رو نمایش میده
مثلا وقتی رو یک جنس که قیمت 25000 تومانه رو باید نشون بده ولی رکورد اول رو نشون میده برای همه اجناس

sadeghbarout
25-01-2011, 12:58
اون lanme رو به cost تغییر داده بودی؟
حالا تغییرش دادم ببین درست شد؟

Mohsen.Sh_PC
25-01-2011, 16:37
آره اونو تغییر داده بودم
اگه میشه خودتون همین یک تیکه رو درست کنید و آپلود کنید اگه زحمتی نیست؟

sadeghbarout
25-01-2011, 18:21
اینم برنامه ای که میخواستی
فقط یه جور دیگه نوشتمش اینجوری کدش کمتره



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

Mohsen.Sh_PC
26-01-2011, 13:31
واقعا متشکرم

Mohsen.Sh_PC
03-02-2011, 19:26
یک سوال داشتم
یک لیست باکس دارم که به پایگاه داده اول متصله
حالا میخوام وقتی کاربر روی یک دکمه کلیک کرد اطلاعات درون همون تکس باکس رو توی پایگاده داده دوم بریزم از طریق کد نویسی
متشکر میشم اگه کمکم کنید.

sadeghbarout
04-02-2011, 11:32
شما میتونید یه ado دیگه روی فرم بذارید و بعد با دستور زیر متن درون text1 رو توی دیتابیس دوم که به ado جدید وصل هستش بریزید


Adodc2.Recordset.Fields("name") = Text1

راه دوم هم اینه که کل کد های اتصال به دبتابیس رو دوباره و روی همون ado اولی بنویسی
به این شکل:


Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database1.mdb;"
Adodc1.RecordSource = "SELECT * FROM table1"
Adodc1.Refresh


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

من همون راه اول رو پیشنهاد میکنم

Mohsen.Sh_PC
26-02-2011, 19:17
سلام.
من یک سوال داشتم
میخوام توی پایگاه دادم به جای مقدار یک فیلد یک مقدار دیگه قرار بگیره. نمیخوام اون رکورد رو حذف کنم و یکی دیگه بسازم بلکه فقط مقدارش با مقدار که من میدم عوض بشه که نمیشه و مقدار قبلی میمونه.
این کدیه که مینویسم.

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

sadeghbarout
27-02-2011, 09:21
چه اروری میده؟

اینو امتحان کن ببین جواب میده؟


Adodc1.Recordset.Fields("value") = "yes" 'o

Mohsen.Sh_PC
27-02-2011, 13:20
بازم نشد.
فایل شو گذاشتم اگه کسی میتونه کمک کنه.:19:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید[COLOR="Silver"]

sadeghbarout
27-02-2011, 20:58
محسن جان چرا آپدیت نکردی؟

کد رو به این صورت تغییر بده:



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


امیدوارم درست شده باشه

Mohsen.Sh_PC
27-02-2011, 21:14
راست میگیها:31:
دستت درد نکنه:11:

amirxbest
27-02-2011, 21:42
محسن جان یه نظر در مورد برنامه ت داشتم:میخواستم بگم کد رو جوری تغیر بدی که روی همه صفحه نمایش ها چه lcd و چه crt (منظورم wide و معمولی هست) از کنار صفحه بیاد بالا آخه مانیتور من 1360*768 هست واسه همین از وسط صفحه load میشه.
موفق باشید:46:

Mohsen.Sh_PC
27-02-2011, 22:28
محسن جان یه نظر در مورد برنامه ت داشتم:میخواستم بگم کد رو جوری تغیر بدی که روی همه صفحه نمایش ها چه lcd و چه crt (منظورم wide و معمولی هست) از کنار صفحه بیاد
آره. من این سوال رو هم داشتم.
خوب حالا چی کار کنم؟؟:13:

sadeghbarout
28-02-2011, 16:05
برای این میتونی تایمر1 رو پاک کنی و از دستور زیر توی form_load برای فرم دومت استفاده کنی
این برای همه مانیتور ها جواب میده:


Form2.Left = Screen.Width - Form2.Width - 70
Form2.Top = Screen.Height - Form2.Height - 500


درضمن برنامه قشنگیه ایول:31:

amirxbest
28-02-2011, 16:24
ولی صادق جان اگه این کدی که گذاشتی رو بزاره تو form load فرم دیگه کم کم بالا نمیاد و یکدفعه ظاهر میشه به نظرم بزاره تو یه timer با interval کم و بعد چک کنه که اگه به این اندازه رسید stop بشه جالب تر میشه:46:

sadeghbarout
01-03-2011, 19:32
ممنون امیر جان
به اینکه کمکم میاد بالا توجه نکرده بودم
درضمن میتونی از توابع api استفاده کنی و کم کم روی صفحه ظاهر بشه
اگه کسی از دوستان این کد رو داره بذاره

Mohsen.Sh_PC
09-04-2011, 18:50
سلام
مثل اینکه این دیتابیس دست از سر من بر نمیداره.
سه تا سوال حیاتی داشتم. دوستان اگه لطف کنن خیلی خوب میشه. متشکر
1. میخوام کاربر وقتی اطلاعات رو وارد DataGrid میکنه مجبورش کنم که همه فیلد ها رو پر کنه.
2. میخوام اطلاعات یکی از فیلد ها منحصر به فرد باشه.
3. با دستور On error resume next همه ارورهایی که کنترل ADO میده رو برداشتم. ولی خطاهای DataGrid رو چیکار کنم.
در ضمن من این سوال ها رو خودم چندین بار برای بدست آورد جواب زیرو رو کردم, ولی نشد به خاطر همین اینجا مطرح کردم.