PDA

View Full Version : کمک برای تکمیل برنامه



iransim
یک شنبه 15 آذر 1394, 23:44 عصر
سلام دوستانمن برای تکمیل برنامه ام به راهنمائی دوستان نیاز مبرم دارم ، البته جستجو هم کردم ولی مشکلم حل نشده 1- من در بانکم فیلدی بنام شماره طرح را دارم که فرمت آن به صورت ( 15-94-0000) است و از نوع تکست و با ثبت هر رکورد جدید به مقدار 0000 یک واحد باید اضافه کنم ( مثلا 0001 ، 0002 و ... ) اول : اینکه چگونه میتونم فرمت ورود اطلاعات به این فیلد را به شکلی که نوشتم درآورد ؟ دوم : ایا امکانش هست با هر بار زدن کلید New record خود برنامه به شماره طرح یک واحد اضافه کنه و به عنوان شماره جدید ثبت کنه ؟2 - چطوری میتونم از وارد شدن مقادیر تکراری برای این فیلد جلوگیری کنم و پیام " شماره طرح تکراری است " صادر بشه و وقتی ok یا اصلاح را روی پیام کلیک کنم فیلد خالی بشه و نشانگر روی همان فیلد برای وارد کردن مقدار صحیح بماند 3 - برای جلوگیری از ورود مقادیر تکراری برای فیلدهای عددی چه باید کرد؟4 - چگونه میتونم با فشردن یک دکمه از ذخیره اطلاعات انصراف داده و فرم دوباره به حالت قبل درآمده و اطلاعات آخرین رکورد ذخیره شده را نشان دهد . ( یا با زدن دکمه Esc این کار و کرد الان در برنامه من انجام نمیگیره )5 - چگونه میتونم یک کوئری بسازم که فقط اطلاعات آخرین رکورد ثبت شده را نشان بدهد ؟بازم شرمنده و ممنون از لطف ذوستان ************* فقط خواهشا" خیلی ضروریه

Rasool-GH
دوشنبه 16 آذر 1394, 06:49 صبح
سلام
1- در گذینه ماسک مربوط به ورود اطلاعات این ماسک رو وارد کنید

0000-00-00;0;-
2- بله امکانش هست . نمونه قرار بدین
3- برای فیلد عددی در جدول مقدار ایندکس اون رو برابر No Daplicate قرار بدید
4- در دکمه انصراف از این کد استفاده کنید

Me.Undo
5- اگر نتیجه رو برای فرم میخواید نیاز به کوئری نیست و کافیه در رویداد باز شدن فرم از این کد استفاده کنید

DoCmd.GoToRecord , , acLast
6- اگر قصد ساخت کوئری دارید باز هم نمونه قرار بدید .

iransim
سه شنبه 17 آذر 1394, 07:16 صبح
سلام
1- در گذینه ماسک مربوط به ورود اطلاعات این ماسک رو وارد کنید

0000-00-00;0;-
2- بله امکانش هست . نمونه قرار بدین
3- برای فیلد عددی در جدول مقدار ایندکس اون رو برابر No Daplicate قرار بدید
4- در دکمه انصراف از این کد استفاده کنید

Me.Undo
5- اگر نتیجه رو برای فرم میخواید نیاز به کوئری نیست و کافیه در رویداد باز شدن فرم از این کد استفاده کنید

DoCmd.GoToRecord , , acLast
6- اگر قصد ساخت کوئری دارید باز هم نمونه قرار بدید .


سلام دوست عزیز و تشکر بابت پاسخ شما
فقط چند نکته
1- میخواهم در تکست باکس مقدار 000-94-15 پیش فرض باشه و با new record فقط مقادیر 0000 را تغییر بدهم
2- در رابطه با عدم ورود تکراری مقادیر عددی و متنی هم اگر لطف کنید توضیح دهید
3- برای چاپ آخرین رکورد هم نتیجه را برای پرینت میخواهم
4- حجم نمونه فایلم 650 کیلو بایت شده و برای ارسال خطا میدهد چکار کنم ؟

Rasool-GH
سه شنبه 17 آذر 1394, 10:59 صبح
برای ارسال نمونه رو فشرده کنید .

iransim
چهارشنبه 18 آذر 1394, 07:14 صبح
سلام
متاسفانه حجم فشرده اینقدر شده ، هر چقدر هم از فرمها و جداول کم میکنم بازم خیلی تاثیر نداره !!!!! موندم چکار کنم ؟

محمد مهدي
چهارشنبه 18 آذر 1394, 07:37 صبح
سلام
متاسفانه حجم فشرده اینقدر شده ، هر چقدر هم از فرمها و جداول کم میکنم بازم خیلی تاثیر نداره !!!!! موندم چکار کنم ؟
سلام
اگه گزارش تو برنامه داری اونارو پاک کن

Rasool-GH
چهارشنبه 18 آذر 1394, 08:02 صبح
اگه برنامه کوچک هست یک بار Compact کنید مشکل حل میشه


137340

iransim
یک شنبه 22 آذر 1394, 07:29 صبح
اگه برنامه کوچک هست یک بار Compact کنید مشکل حل میشه



137340

سلام آقا رسول - فایل مربوطه مربوط به مراحل اول کار رو فرستادم ، ممنون میشم شما و دوستان نگاهی بندازید و راهنمائی بفرمائید .

iransim
چهارشنبه 25 آذر 1394, 00:35 صبح
سلام - کسی از دوستان نبست یه کمکی به ما بکنه ؟ لطفا" خواهششششششششششش

fazl11
پنج شنبه 26 آذر 1394, 14:16 عصر
با سلام
دوست عزیز می تونید از این فایل ایده بگیرید

Rasool-GH
شنبه 28 آذر 1394, 15:22 عصر
سلام
در صورتی که مشکلتون حل نشده بفرمایید

iransim
یک شنبه 29 آذر 1394, 00:21 صبح
سلام و پوزش چون چند روزی اینترنتم ایراد داشت
ممنونم از دوست عزیز آقا فاضل تشکر ب خاطر فایلتون ..................... میرم که تست کنم
چشم آقا رسول اگه مشکل داشتم مزاحم شما و بقیه دوستان میشوم

iransim
دوشنبه 30 آذر 1394, 23:22 عصر
سلام دوستان - متاسفانه در خصوص عدم ورود متن تکراری و عدم حرکت به فیلد بعدی تا زمان اصلاح مقدار تکراری مشکلم حل نشده !!!!!!!!! به خدا موندم

Rasool-GH
سه شنبه 01 دی 1394, 17:23 عصر
سلام
دوست عزیز وقتی یک فیلد رو غیر تکراری تعیین میکنید دیگه اجازه ثبت عبارت تکراری داده نمیشه . چه متن باشه چه عدد .
اگر منظورتون دقیقا بررسی در همون فیلد هست باید تابعی در این زمینه نوشته بشه .

در مورد نمونه هم لطف کنید و فقط مورد سوال رو داخلش قرار بدید و ذکر کنید در کدوم فرم قصد انجام کار رو دارید

iransim
سه شنبه 01 دی 1394, 22:41 عصر
سلام آقا رسول
من میخواهم در فرم Sabt ( ثبت درخواست ) فیلد شماره طرح ( Numtarh ) یعنی اولین فیلد دارای فرمت ورودی 0000- 94-15 باشه و مقادیر ثبت شده در آن منحصر بفرد ( غیر تکراری ) باشه و بمحض وارد کردن مقدار تکراری ، پیام " این شماره طرح قبلا ثبت شده " صادر و نشانگر تا اصلاح شماره طرح به فیلد بعدی نرود .

درضمن اگه امکان داره در خصوص نحوه جستجو بر اساس شماره طرح و نام متقاضی و .. در قسمت جستجو هم راهنمائی کنید که با زده شماره طرح و یا نام متقاضی اطلاعات آن طرح روی فرم نشان داده شود خیلی خیلی ... ممنون و سپاسگذار می شوم

Rasool-GH
چهارشنبه 02 دی 1394, 09:12 صبح
برای ماسک میتونید از این ماسک استفاده کنید
برای تابع هم چشم . مینویسم

"15-94-"0000;0;-

iransim
چهارشنبه 02 دی 1394, 19:56 عصر
برای ماسک میتونید از این ماسک استفاده کنید
برای تابع هم چشم . مینویسم

"15-94-"0000;0;-

خیلی محبت میکنید قربان :لبخندساده:

Rasool-GH
چهارشنبه 02 دی 1394, 22:24 عصر
سلام
این نمونه رو ببینید

iransim
شنبه 05 دی 1394, 13:19 عصر
سلام آقا رسول - ممنون به خاطر زحمتتون
فقط یه مشکل ، بعد از اینکه پیام خطا ظاهر می شود با OK کردن با کلیدهای جهتی یا کلیک بروی سایر فیلده میتوان سایر اطلاعات را بدون تغییر شماره طرح داخل آنها وارد کرد یا به تعبیری سایر فیلدها تا اصلاح شماره طرح در دسترس هستند و قفل یا غیر فعال نمیشوند .
در صورتی که نباید اینطور باشند .

در ضمن میتونید زحمت نحوه جستجو که در پست های قبل عرض کردم خدمتتات رو بکشید ؟
بازم ممنون

Rasool-GH
شنبه 05 دی 1394, 19:55 عصر
سلام
در مورد نحوه عملکرد سایر قسمتها اختیار با خودتونه و هر قسمتی رو که قصد فعال یا غیر فعال کردنش رو دارید براش کد بنویسید .
به طور مثال تا زمانی که عدد داخل فیلد معتبر نیست بقیه فیلدها رو غیر فعال کنید

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



Dim A As Variant
A = DLookup("id", "sabt", "numtarh='" & tbnumtarh & "'")
If Nz(A, "") <> "" Then
DoCmd.SearchForRecord , , , "[id]=" & A
Else
MsgBox ".شماره وجود ندارد ", vbMsgBoxRight, "پیام سیستم"
End If


این کد رو برای رویداد After Update یک باکس که برای جستجو قصد دارید استفاده کنید قرار بدید
ضمنا باید باکس مربوطه در همین فرم Sabt قرار داشته باشه

iransim
یک شنبه 06 دی 1394, 00:47 صبح
آقا رسول سلام و تشکر و سپاس فراوان
1 - درست میفرمائید ولی متاسفانه همین که چطوری و با چه کدی سایر فیلدها رو غیر فعال کنم و کد شرطی که تشخیص بده شماره تکراری نیست و سایر فیلده ها فعال شوند رو بلد نیستم

2 - در کدهائی که برای تشخیص عدم تکرار شماره طرح قرار داده بودبد tb ابتدای tbnumtarh برای چیست ؟ چون وقتی هست فیلد numtarh قفل میشه ولی وقتی tb را حذف میکنم درست میشه ( در کد جستجو ئی هم که زحمت کشیدید مجددا tbnumtarh رو میبینم )

iransim
چهارشنبه 09 دی 1394, 23:31 عصر
کسی از دوستان نمیتونه کمک کنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

Rasool-GH
پنج شنبه 10 دی 1394, 19:10 عصر
سلام
براتون یک نمونه ساده شده قرار میدم . اینجوری بهتر میتونید تصمیم بگیرید . برای نامگذاری اشیاء و عدم تداخلهای احتمالی بهتره که اصولی رو رعایت کنید .
به طور مثال نام فیلد
numtarh هست و شما نام تکس باکس مربوط رو numtarh قرار دادید . حالا وقتی کد نویسی میکنید و به برنامه میگید وضعیت numtarh رو بررسی کنه برنامه نمیتونه بفهمه منظور شما وضعیت خود فیلد هست یا وضعیت کنترلی که به فیلد لینک داده شده . برای همین باید یا به شکل کاملا مشخص نوع داده مورد بررسی رو برای برنامه مشخص کنید یا از نامگذاری مشخص برای اجزا استفاده کنید .
در اینجا tb رو اول نام تکس باکس قرار دادم که این مورد رعایت بشه

iransim
شنبه 12 دی 1394, 07:42 صبح
سلام آقا رسول
بازم ممنون از راهنمائی شما ، لطف کردید ، نکته خیلی خوب و مهمی رو فرمودید
منتظر نمونه برنامه ای که فرمودید هستم

iransim
چهارشنبه 16 دی 1394, 11:56 صبح
سلام آقا رسول
شرمنده ، فقط میخواستم در خصوص نمونه جستجو که فرمودید یادآوری نمایم - انشا الله که ما رو فراموش نکردید .
ممنون از زحمتتان