ورود

View Full Version : سوال: مشکل در حرکت بین سطرهای یک dbf



hmgjob
چهارشنبه 22 فروردین 1397, 17:40 عصر
من یک صفحه لاگین و پسوورد دارم که dbf آن به نام login است که وقتی نام کاربری و رمز رو میزنم و درست هست من رو می بره به فرم اصلی برنامه که dbf آن به نام table1 است بعد من در فرم اصلی یک تکست باکس گذاشتم و وصلش کردم به dbf login خودم که داخل تکس باکس بزنه با چه یوزری لاگین شدم
حالا وقتی چند تا یوزر باشه من با هر کدوم که لاگین میشم توی تکست باکس داخل فرم اصلی فقط یوزر اول داخل فایل dbf را نشان می دهد.
لطفا راهنمایی کنید که چطور از بین 10 یوزر با هر کدام که وصل می شوم در تکست باکس فرم همان یوزر را نمایش دهد


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

farhad_shiri_ex
چهارشنبه 22 فروردین 1397, 19:05 عصر
خوب برای اینکه اصلا به اون تکست باکس که تو فرم اصلی مقداری ندادید که یعنی من که نمبینم
باید بعد از پیدا کردن رمز عبور این مقدار روlogin.userid تو یه متغیر ذخیره کنید بعد از اینکه فرم index را اجرا کردید اون مقدار رو تو کنترلی که میخواهید نشون بدید چون احتمالا دارید از دستوراتی استفاده میکنید توی فرم ایندکس تون رو میگم که موقعیت کرسر جدول login رو جابجا میکنه

hmgjob
پنج شنبه 23 فروردین 1397, 13:50 عصر
میشه لطف کنید کدهایی رو که گذاشتم اصلاح کنید
ممنون میشم

farhad_shiri_ex
پنج شنبه 23 فروردین 1397, 14:47 عصر
اینو استفاده کن


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 بنویسید. توی این تاپیک رو گفتم

hmgjob
پنج شنبه 23 فروردین 1397, 14:56 عصر
m.OldRecNo = recno();
THISFORM.cUser = ALLTRIM(login.userid)


این دو تا خط رو syntax error میده

farhad_shiri_ex
پنج شنبه 23 فروردین 1397, 16:13 عصر
آره حواسم نبود یه سمی کالن گذاشتم ; از انتهای این دستور برداره m.OldRecNo = recno();:اشتباه::اشتباه::اشتباه:
تو وی فاکس نیازی به سمی کالن نیست انتهای دستورات مگه بخواهید دستوارات رو تو چند خط بنویسید.
الان هم برای اینکه فکر میکنه دستورات ادامه دارن خطا میده.