PDA

View Full Version : سوال: درج اطلاعات در تکست باکس بصورت خودکار



محمد مهدي
چهارشنبه 23 مرداد 1392, 12:14 عصر
با سلام خدمت دوستان
من دارم برای اداره یه برنامه کوچیک درست میکنم ولی امروز به یه مشکلی برخوردم.
یه تکست باکس دارم که اطلاعات داخلش بصورت G1O1S1 هستش (تو رکورد اول).
حالا میخوام وقتی تو رکورد بعدی میرم G1O1S ثابت باشه و 1 تبدیل به 2 بشه و رکورد بعدیش 2 به 3 همینطور تا آخر و لازم نباشه من هر بار G1O1S رو تایپش کنم.امیدوارم منظورمو رسونده باشم.
با تشکر

saeed1234n
چهارشنبه 23 مرداد 1392, 12:33 عصر
با سلام
دوست عزیز فکر کنم یک همچون کدی باید باشد :


Private Sub Form_Current()
If IsNull(ID) Then
ID = "G1O1S" & Me.CurrentRecord
End If
End Sub

محمد مهدي
چهارشنبه 23 مرداد 1392, 13:47 عصر
با سلام
متاسفانه کار نمیکنه دوست عزیز
راه دیگه ای نیست

saeed1234n
چهارشنبه 23 مرداد 1392, 14:36 عصر
با سلام
دوست عزیز نمونه زیر را ببینید

109061

محمد مهدي
چهارشنبه 23 مرداد 1392, 15:04 عصر
ممنون نمونه خودم چون unbound بوده کار نمیکرده (فیلد id)
برای سابفروم هم با همین روش میشه؟
دوست عزیز فرم که در آن تکست باکس مورد نظر (همونی که در بالا عنوان شد) وجود داره بصورت فیلتر شده باز میشه یعنی عبارت G1O1S همیشه در این فرم ثابت نیست و ممکن وقتی بصورت فیلتر باز میشه بجای G1 ، عبارت G2 یا G3 باشه . در این حالت باید چکار کنم ؟ نمیدونم متوجه منظورم شدید یا نه؟

saeed1234n
چهارشنبه 23 مرداد 1392, 15:48 عصر
با سلام
دوست عزیز نمونه خود را قرار دهید .:لبخندساده:

محمد مهدي
پنج شنبه 24 مرداد 1392, 08:13 صبح
با سلام
نمونه گذاشتم و توضیح دادم.
با تشکر

saeed1234n
پنج شنبه 24 مرداد 1392, 10:25 صبح
با سلام
دوست عزیز
مقدار ورودی تکس باکس temp را به این صورت بنویسید ..


temp =symbol & "S" & Me.CurrentRecord

محمد مهدي
پنج شنبه 24 مرداد 1392, 10:44 صبح
ببخشید این کار نمیکنه. میشه تو نمونه خودم انجامش بدید ممنون میشم:خجالت:

محمد مهدي
پنج شنبه 24 مرداد 1392, 10:55 صبح
دوست محترم یه مشکل دیگه اینکه وقتی تکس باکس آبی هر بار G که عوض میشه یعنی G1 تبدیل به G2 یا G2 تبدیل به G3 میشه اونوقت عدد بعد S باید ریست بشه و از یک شروع بشه نه اینکه همینطور بره بالا.
کلا این برنامه اینجوریه که فرض کنید من یک هدف دارم که سیمبولش G1O1 هست. حالا این هدفم سه تا استراتژی داره که میشه G1O1S1 ، G1O1S2 و G1O1S3 . حالا برای هدفم بعدیم که G1O2 میشه همین منوال.
اینم بگم که که G1 ممکنه به G2 یا G3 هم تغییر کنه.
ببخشید منو آقا سعید

saeed1234n
پنج شنبه 24 مرداد 1392, 11:40 صبح
با سلام
دوست عزیز چند تا سوال دارم :

آیا با کلیک بر روی دکمه تایید در فرم اهداف کلان ، تکس باکس G دقیقا همان است که به فرم اهداف اختصاصی
منتقل می شود و در فرم اهداف اختصاصی دیگر تغییر نمی کند ؟
یعنی اگر بر روی دکمه تایید G2 در فرم اهداف کلان کلیک شد دقیقا در فرم اهداف اختصاصی تکس باکس SYMBOL همان G2 را نشان خواهد داد و در این فرم ثابت خواهد بود تا زمانیکه مجددا در فرم اهداف کلان G دیگری انتخاب شود .

109103

محمد مهدي
پنج شنبه 24 مرداد 1392, 12:19 عصر
بله G ، تا آخر تابت است تا اینکه فرم اهداف اختصاصی بسته شود و دوباره در فرم اهداف کلان G دیگری انتخاب گردد.

saeed1234n
پنج شنبه 24 مرداد 1392, 13:16 عصر
با سلام

دوست عزیز مطابق خواسته جنابعالی اصلاح شد.

109120

محمد مهدي
پنج شنبه 24 مرداد 1392, 14:04 عصر
آقا سعید ممنون.
دو تا سوال دارم
اول اینکه از عبارت ME اول تکس باکسها استفاده نکنیم چه اتفاقی میفته؟ اصلا این عبارت برای چیه؟
سوال دومم اینکه در فایل اصلاحی شما اگه کسی تا ابد Next کنه رکورد اضافه میشه که نمیخوام باشه فکر کنم اگه دستور if اصلاح بشه یا ورداشته شه درست میشه . درسته؟
در ضمن بسیار بسیار از شما ممنونم
بنظر در آینده بازم مزاحم میشم

saeed1234n
پنج شنبه 24 مرداد 1392, 14:42 عصر
با سلام
دوست عزیز
پاسخ سوال اول : منظور از me فرم جاری است . بله می توان از آن صرفنظر کرد.
پاسخ سوال دوم : چون به هنگام ورود به به رکورد جدید بلافاصله فیلدهای ما مقدار دهی می شوند به این صورت می شود که فرمودید راه حل زیاد دارد یکی اینکه همانطور که گفتید شرط گذاشت یا قبل از رفتن به رکورد جدید از کاربر سوال شود و ...

محمد مهدي
شنبه 26 مرداد 1392, 09:41 صبح
با سلام میشه کد زیر اصلاح کنید
Private Sub Form_Current()
Dim rst As DAO.Recordset
Dim lngCount As Long

Set rst = Me.RecordsetClone

With rst
.MoveFirst
.MoveLast
lngCount = .RecordCount
End With

Me.txtRecordCounter = "јæÑÏ" & Me.CurrentRecord & " ÇÒ " & lngCount

من این کد رو از اینترنت گرفتم(شاید از این سایت) و برای فرمهام ازش استفاده میکنم. فقط یه ایرادی داره اگه فرم بصورت فیلتر شده باز بشه و Recordcount که خالی باشه ارور NO current Record میده لطفا برام اصلاحش کنید. من خیلی سعی کردم نتونستم.