با سلام خدمت همه دوستان اكسس كار
من تازه در اين جا عضو شدم و تو كد نويسي واقعا ضعيفم
سوالاي زيادي دارم كه فكر ميكنم اينجا بتونم جوابشو بگيرم
1-در اكسس در فرمي كه ايجاد كرده ام مي خوام فعال شدن يك فيلد تابع برقراري شرطي در فيلد قبلي باشه. مثلا اگر فيلد وضعيت خدمت را خدمت نكرده بزنم فيلدهاي بعدي كه تاريخ شروع و پايان خدمت هست را غير فعال نموده و فيلد نوع معافيت را فعال كند.
لطفا دقيق راهنماييم كنيد
2-در قسمت گزارش گيري چگونه ميتوان فقط از ركورد مورد نظر گزارش گرفت و پرينت نمود در حالي كه در دستور پرينت تمام ركوردها پرينت گرفته مي شود.
جدا از حسن همكاري تون متشكرم
رو كمكتون حساب ميكنم
با سلام
سوال اولت رو خوب متوجه نشدم ولی تا اونجایی که فهمیدم توضیح میدم :
می تونی چی کنی مثل دستور زیر :
کد:
if combo1.text="khedmat" then
combo2.enabled=false
combo3.enabled=false
combo4.enabled=true
end if
در مورد سوال دومت می تونی یک کوئری تعریف کنی و از اون کوئری گزارش بگیری مثلا کوئریت اینجوری باشه :
کد:
Select a1,a2 from table1 where a1="hamed";
سلام حميد جون
ممنون از لطفت
برم ببينم درست ميشه يا نه
ولي در هر حال ازت تشكر ميكنم
در ضمن اگر بقيه دوستان ميتونن كمكك كنند دريغ نكنند
خدا نگهدار
حامد جون و بقيه دوستان سلام
1-حامد جون در مورد پاسخ سوال اول اين كد رو تو چه رويدادي بنويسم
2- در مورد سوال پاسخ دوم منظورت از a1,a2چيه بيشتر توضيح دهيد.
و اما چند سوال ديگه
1- در كدام رويداد چك باكس تيك خوردن اون رو تشخيص ميده.
2- چگونه ميتوان پنجرهfind and replace را فارسي ويا مثل اون رو با همون امكانات درست نمود.
3-مرجعي كه معني فارسي تمام صفحات format,data,other,event مربوط به همه اشياء در اكسس رو داشته باشه رو بهم معرفي كنيد.
قبلا از حسن همكاريتون ممنونم
فقط دقيق برام توضيح بديد
الان توضیح می دم (نیازی به باز کردن تاپیک جدید نبود)شرمنده دیر شد
سوال اولت رو جواب دادم ولی حالا کاملش می کنم
شما بعد از اینکه فرم ها رو طراحی کردی اون کامبو رو انتخاب کن و تو پروپرتیز د رتب ایونتز گزینه onclick رو انتخاب کن و در کنارش یک دکمه با سه نقطه ظاهر میشه روش کلیک کن و از صفحه ای که باز می شه گزینه آخر ()روانتخاب کن و بعد که به محیط ویزوال بیسیک وارد شدی همونجا کدی رو که دادم رو بنویس و تغییرات رو ذخیره کن
جواب سوال دوم :
با فرض اینکه شما یک جدول داری با سه ستون(a1,a2,a3) ستون اول نام ستون دوم نمره ستون سوم شهر حالا می خواهیی از اون اشخاصی که اسمش حامد هست گزارش بگیری یعنی از کل جدول گزارش نگیری پس باید از یک کوئری که فارسیش کردن بازجست این گزارش رو بگیری اول یک کوئری بساز بعد برو به حالت اسکیوال (از ویزارد هم می تونی ولی توضیحش سخت هست برام) بعد اون دستورات رو بنویس و آخرش هم یک ریپورت بساز و توش ارتباط رو بده به کوئری حالا موقع گزارش می بینی که گزارش فقط از نام و نمره کسانی تهیه می شه که اسمشون حامد باشه
جواب سوال سوم در رویداد onclick
جواب سوال چهارم
می تونی با بیسیک بنویسیش اگه با بیسیک کار می کنی بگو تا شرح کاملش رو بدم
جواب سوال پنجم
مرجع نمیشناسم ولی کتاب زیاد هست در مورد خود اکسس
سلام حامد جون
بازم با صبر و حوصله جواب سوالم رو دادي . من جدا شرمنده كردي
خدا خيرت بده
البته سوال زياد دارم ولي الان برم ببينم چيكار ميتونم بكنم
راستي بيسم هم كمي كار كردم اگر لطف كني ممنون مي شم
بعد از درست كردن ميشه اونو تو اكسس بكار گرفت
بازم ازت ممنونم
ايشا الله هر چي از خدا ميخاي بدت بده
خدا نگهدارت
خواهش می کنم قابلی نداشت
من برا همین اینجام
در ضمن هر سوال هم داری همین جا بگو فقط یک لطفی کن عنوان تاپیک رو با سوالات مربوط بنویس
تا اگه دوست دیگه ای هم خواست کمک کنه بدونه موضوع چیه
برا جستجو اول به چند تا شی نیاز داریم
دوتا کامند باتون (دکمه)و یک جعبه متن خوب حالا به محیط بیسیک میریم و برا دکمه اول می نویسیم
کد:
Me.Recordset.FindFirst "a1='" & Text1 & "'"
If Me.Recordset.NoMatch Then
MsgBox "هیچ موردی یافت نشد, vbInformation
End If
بعد دکمه دوم اینو
کد:
Me.Recordset.FindNext "a1='" & Text1 & "'"
به اسم دکمه ها و تکست باکس توجه کن
command1
command2
text1
با سلام
حامد جان با توجه به اينكه زحمت ميكشي و پاسخ سوالام را بطور كلي بيان ميكني و كاملا درست هم پاسخ ميدي ولي در جزئيات باز به مشكل برخورد ميكنم
لذا بزار بطور كامل تك تك سوالا رو مطرح كنم
سوال 1:
در فرمي كه تشكيل دادم فيلدهاي زيادي وجود داره كه يكيش هم فيلد ‹وضعيت خدمت ›هست كه در يك كامبو باكسه و شامل گزينه هاي زير است:
1-خدمت كرده 2-خدمت نكرده 3-درحال خدمت 4-معاف
و در پايئن اين كامبو باكس دو فيلد(تك باكس) به نامهاي ‹تاريخ شروع خدمت› و ‹تاريخ پايان خدمت› و نيز يك فيلد(كامبو باكس) بنام ‹ نوع معافيت› وجود دارد
حال ميخام اگر«خدمت كرده» را وارد كردم فليدهاي تاريخ شروع و پايان خدمت را فعال كند و نوع معافيت غير فعال باشد
اگر «خدمت نكرده» و «در حال خدمت» را وارد كردم هر سه فيلد ديگر غير فعال باشد
و اگر «معاف» وارد شد فيلدهاي تاريخ شروع و پايان خدمت را غير فعال كند و نوع معافيت فعال شود.
ضمناً اين نكته را بايد مد نظر قرار داد كه شرائط فوق هم در موقع ايجاد ركورد جديد و هم در موقع مرور ركورد هاي وارد شده حاصل گردد.
البته من كد زير را در رويداد on click فيلد ‹وضعيت خدمت› نوشته ام ولي دقيق كار نميكند(فكر كنم به خاطر فونتهاي فارسي ميباشد)
Private Sub Combo1_Click()
If Combo1.Text = "معاف" Then
Text7.Enabled = False
Text8.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = True
If Combo1.Text = "خدمت كرده" Then
Text7.Enabled = True
Text8.Enabled = True
Combo2.Enabled = True
Combo3.Enabled = False
If Combo1.Text = "در حال خدمت" Then
Text7.Enabled = False
Text8.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = False
If Combo1.Text = "خدمت نكرده" Then
Text7.Enabled = False
Text8.Enabled = False
Combo2.Enabled = False
Combo3.Enabled = False
End If
End If
End If
End If
End Sub
سوال2:
فرمي داريم كه اجرا شدن ان منوط به ورود كد پرسنلي است كه پس ورود كد پرسنلي فرم نمايش داده ميشود و پس از تكميل فيلدهاي موجود در اين فرم ميخاهيم در يك ريپورت گزارش بگيريم ولي با فشار دادن دكمه پرينت واقع در همين فرم دوباره كد پرسنلي را از ما مي خواهد (لازم به ذكر است كه منبع فرم و گزارش در واقع يك كوئري مي باشد)حال چكار كنيم كه در موقع پرينت گرفتن ديگر از ما در خواست كد پرسنلي نكند
سوال 3:
در مورد جستجو در اكسس با بيسيك:
منظورت بيسيك واقع در اكسس است ؟
و منظورت از a1چيست
ممنونم
موفق باشي
پایان هر شرط بعد از انجام وظایف شرط
یعنی بعد از اینکه کار و وظیفه داخل شرط تموم شد شرط رو تموم کن نزار برا آخر که همه شرطها رو تموم کنی
می تونی بجای بررسی کلمات از شماره ردیف استفاده کنی
البته در زمانی این حرف درست است که لست هات همیشه ثابت باشه یعنی هر بار از یک جدول نخونی
list1.listindex
سوال دوم هم یک مثال می ذارم برات
سوال سوم آره حتی نهوه دستیابی رو هم گفتم
a1هم گفتم که نا ستون یا همون فیلد هست
به جواب رسیدی یا مثال بفرستم ؟