ورود

View Full Version : مشکل در نمایش رکوردها در فرم مورد نظر



look20
یک شنبه 22 فروردین 1389, 23:32 عصر
با سلام
ببخشید اول این فایلو دانلود کنید تا سوال منو خوب متوجه بشید

http://www.persiangig.com/pages/download/?dl=http://ali682344.persiangig.com/mainTime%20lockUser.rar

توی برنامه خودم یه متغیر سراسری تعریف شده که توی هر فرمی وارد شدم فقط رکورد اون کاربری که وارد فرم شده رو نشون میده مثلا با نام احمد وارد شم در واقع فرم 3 باز میشه و فقط رکورد احمد رو نشون میده
یا حامد که بازم فرم 3 و فقط رکورد حامد نشون داده میشه

مشکل من:

من میخام وقتی کاربری که (modir=1نیست)یعنی احمد حامد و ... یا هر کسی بجز رضا وارد شد رکوردهای تمام کاربران رو نشون بده بجز رکورد (modir=1)که همون رضا میشه
یعنی بجز رکورد رضا تمام رکوردها نمایش داده بشه
البته مثل همون چیزی که توی فایلم ساختم یعنی نمیخام بصورت دیتاگرد باشه بلکه فیلدهای رکوردها توی textbox نشون داده بشه
ممنون میشم اگه با کد نشون بدید
با تشکر

xxxxx_xxxxx
دوشنبه 23 فروردین 1389, 01:15 صبح
سلام،
از دستورات SQL استفاده کنید. مزایا: راحت تر، سریعتر، قابلیت اطمینان بیشتر.


Ado2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;Persist Security Info=False"

Select Case id
Case 1
Ado2.RecordSource = "Select * from us"

Case Else
Ado2.RecordSource = "Select * from us Where modir<>'1'"

End Select

Ado2.Refresh

فایل ضمیمه رو دانلود کنید.

look20
دوشنبه 23 فروردین 1389, 12:55 عصر
ببخشید توی بعضی فرم ها اگه بخام فقط یه رکورد رو بیارم جواب نمیده مثلا فرض کنید من فرم 4 هم دارم که میخام علاوه بر اینکه فرم 2 که تمام رکوردها رو میاره و فرم 3 که تمام رکوردها رو بجز مدیر میاره فرم 4 فقط رکورد همون کاربری رو که وارد فرم 4 شده بیاره چکار کنم

xxxxx_xxxxx
دوشنبه 23 فروردین 1389, 14:29 عصر
خب، شرط رو به نحوی که میخواید تغییر بدید. مثلاً برای این کاری که شما الان میخواید، شرط به شکل میشه:


RecordSource = "Select * from us Where modir='" & id & "'"

look20
دوشنبه 23 فروردین 1389, 18:44 عصر
ببخشید این شرط رو کدوم فرم بزارم

xxxxx_xxxxx
دوشنبه 23 فروردین 1389, 18:59 عصر
برای همون فرم 4 بزارید.
دقت کنید هر Adodc در هر لحظه فقط یک Recordset میتونه داشته باشه. بعد از تنظیم RecordSource، ه Recordset قبلی از بین میره.

look20
دوشنبه 23 فروردین 1389, 19:27 عصر
ببخشید این کد جواب نمیده باید توی فرم 4
اینو وارد کنم تا جواب بده
Ado2.Recordset.Filter = "id='" & id & "'"

توی فرم 2 و 3 اینو

Ado2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;Persist Security Info=False"

Select Case id
Case 1
Ado2.RecordSource = "Select * from us"

Case Else
Ado2.RecordSource = "Select * from us Where modir<>'1'"

End Select

Ado2.Refresh

xxxxx_xxxxx
دوشنبه 23 فروردین 1389, 21:35 عصر
توی فرم 4 ، ConnectionString رو تنظیم می کنید؟
بعد از اینکه هر بار RecordSource رو مقدار میدید باید Adodc رو Refresh کنید.
Adodc ای که روی فرم 4 میزارید نیازی نیست هیچ کدام از Property هاشو تغییر بدید.

این سه کار انجام میشه؟