مشکل در حرکت بین سطرهای یک dbf
من یک صفحه لاگین و پسوورد دارم که dbf آن به نام login است که وقتی نام کاربری و رمز رو میزنم و درست هست من رو می بره به فرم اصلی برنامه که dbf آن به نام table1 است بعد من در فرم اصلی یک تکست باکس گذاشتم و وصلش کردم به dbf login خودم که داخل تکس باکس بزنه با چه یوزری لاگین شدم
حالا وقتی چند تا یوزر باشه من با هر کدوم که لاگین میشم توی تکست باکس داخل فرم اصلی فقط یوزر اول داخل فایل dbf را نشان می دهد.
لطفا راهنمایی کنید که چطور از بین 10 یوزر با هر کدام که وصل می شوم در تکست باکس فرم همان یوزر را نمایش دهد
کد HTML:
LOCATE FOR UPPER(login.userid) = UPPER(ALLTRIM(THISFORM.txtUserName.Value))
IF FOUND() AND ALLTRIM(password) == ALLTRIM(THISFORM.txtPassword.Value)
THISFORM.cUser = ALLTRIM(login.userid)
DO FORM index
THISFORM.Release
ELSE
#DEFINE MISMATCH_LOC "äÇã ˜ÇÑÈÑí íÇ ÑãÒ ÕÍíÍ äíÓÊ áØÝÇ ÏæÈÇÑå ÓÚí ˜äíÏ"
WAIT WINDOW MISMATCH_LOC TIMEOUT 1.5
THISFORM.txtUserName.Value = ""
THISFORM.txtPassword.Value = ""
THISFORM.txtUserName.SetFocus
ENDIF
نقل قول: مشکل در حرکت بین سطرهای یک dbf
خوب برای اینکه اصلا به اون تکست باکس که تو فرم اصلی مقداری ندادید که یعنی من که نمبینم
باید بعد از پیدا کردن رمز عبور این مقدار روlogin.userid تو یه متغیر ذخیره کنید بعد از اینکه فرم index را اجرا کردید اون مقدار رو تو کنترلی که میخواهید نشون بدید چون احتمالا دارید از دستوراتی استفاده میکنید توی فرم ایندکس تون رو میگم که موقعیت کرسر جدول login رو جابجا میکنه
نقل قول: مشکل در حرکت بین سطرهای یک dbf
میشه لطف کنید کدهایی رو که گذاشتم اصلاح کنید
ممنون میشم
نقل قول: مشکل در حرکت بین سطرهای یک dbf
اینو استفاده کن
LOCATE FOR UPPER(login.userid) = UPPER(ALLTRIM(THISFORM.txtUserName.Value))
IF FOUND() AND ALLTRIM(password) == ALLTRIM(THISFORM.txtPassword.Value)
select login
m.OldRecNo = recno();
THISFORM.cUser = ALLTRIM(login.userid)
DO FORM index
select login
goto m.OldRecNo
THISFORM.Release
ELSE
#DEFINE MISMATCH_LOC "äÇã ˜ÇÑÈÑí íÇ ÑãÒ ÕÍíÍ äíÓÊ áØÝÇ ÏæÈÇÑå ÓÚí ˜äíÏ"
WAIT WINDOW MISMATCH_LOC TIMEOUT 1.5
THISFORM.txtUserName.Value = ""
THISFORM.txtPassword.Value = ""
THISFORM.txtUserName.SetFocus
ENDIF
دوست عزیزم کدهاتون توی تگ CODE بنویسید. توی این تاپیک رو گفتم
نقل قول: مشکل در حرکت بین سطرهای یک dbf
m.OldRecNo = recno();
THISFORM.cUser = ALLTRIM(login.userid)
این دو تا خط رو syntax error میده
نقل قول: مشکل در حرکت بین سطرهای یک dbf
آره حواسم نبود یه سمی کالن گذاشتم ; از انتهای این دستور برداره m.OldRecNo = recno();:اشتباه::اشتباه::اشتباه:
تو وی فاکس نیازی به سمی کالن نیست انتهای دستورات مگه بخواهید دستوارات رو تو چند خط بنویسید.
الان هم برای اینکه فکر میکنه دستورات ادامه دارن خطا میده.