PDA

View Full Version : مبتدی: خطا هنگام وارد کردن کدنویسی در کنترل سورس تکس باکس در اکسس



Nader700
چهارشنبه 05 اردیبهشت 1403, 00:45 صبح
سلام به همه اساتید عزیز
من یک مشکل دارم اینه که هر کدی رو که بخوام در کنترل سورس هر تکس باکس وارد کنم بهم ارورهای زیر رو نشون میده نمیدونم مشکلش چیه
من کد مربوطه رو هم اینجا میذارم

= DLookup("text_detail", "Tbl_Text", "[text_no]=Int((70 * Rnd) + 1)")

کد بالا که به شکل کامل تر در خاصیت On Load فرم قرار داره میاد به صورت تصادفی جملاتی رو وقتی فرم باز و بسته میشه به کاربر نشون میده

Txt_Random = DLookup("text_detail", "Tbl_Text", "[text_no]=Int((70 * Rnd) + 1)")


حالا من اومدم و کادر اکسس رو مخفی کردم و وقتی دکمه خروج از اکسس رو میزنم کل فایل بسته میشه و وقتی دوباره باز میکنم همون جمله قبل رو نشون میده و جمله جدید رو نشون نمیده
من خواستم در خاصیت کنترل سورس تکس باکس کد رو بنویسم که ارور های زیر رو نشون میده
ممنون میشم دوستان راهنمایی و یک راه کار به بنده ارائه بدهند .
155648155649

eb_1345
چهارشنبه 05 اردیبهشت 1403, 04:49 صبح
سلام به همه اساتید عزیز
من یک مشکل دارم اینه که هر کدی رو که بخوام در کنترل سورس هر تکس باکس وارد کنم بهم ارورهای زیر رو نشون میده نمیدونم مشکلش چیه
.
155648155649

سلام
وقت بخیر!
در کد فوق بجای علامت کاما ( , ) از علامت علامت سمی کالن ( ; ) استفاده کن !
بصورت زیر:


=DLookUp("text_detail";"Tbl_Text";"[text_no]=Int((70 * Rnd) + 1)")

Nader700
چهارشنبه 05 اردیبهشت 1403, 12:10 عصر
سلام
وقت بخیر!
در کد فوق بجای علامت کاما ( , ) از علامت علامت سمی کالن ( ; ) استفاده کن !
بصورت زیر:


=DLookUp("text_detail";"Tbl_Text";"[text_no]=Int((70 * Rnd) + 1)")


سلام استاد عزیز
من حتی سیمی کالن هم میذارم همون خطا رو نشون میده نمیدونم مشکلش چیه
من یک نمونه پیوست می کنم لطف کنید ببینید مشکلش چیه
اگه از این راه که کد رو وارد کنترل سورس تکس باکس بذارم نشد . یه راه کار دیگه بهم بگید که چیکار کنم
الان در فایل پیوستی در فرم اصلی در قسمت On Load فرم کد بالا وارد شده که وقتی در حالت عادی اکسس پنجره فرم اصلی بسته و دوباره باز بشه جلات به صورت تصادفی نمایش میده
ولی وقتی من پنجره اکسس رو مخفی می کنم و روی دکمه خروج میزنم کل اکسس بسته میشه و دوباره اون رو باز می کنم جملات تغییری پیدا نمیکنه
ممنون میشم راهنمایی کنید که کد داخل On Load باید تغییر کنه یا کد خروج از نرم افزار باید تغییر کنه که جملات تصادفی رو نشون بده ممنون می شم .

eb_1345
چهارشنبه 05 اردیبهشت 1403, 15:30 عصر
سلام
کد زیر رو در تکست اول قرار داده ای که نه نام جدول مربوطه در این کد قید شده نه فیلدهای آن


=DLookUp("Reminder_description";"tbl_reminder";"[reminder_date]=slash(shamsi())")

برای نمایش تصادفی هم از یک تابع استفاده کرده ام

Nader700
چهارشنبه 05 اردیبهشت 1403, 16:00 عصر
[QUOTE=eb_1345;2467868]سلام
کد زیر رو در تکست اول قرار داده ای که نه نام جدول مربوطه در این کد قید شده نه فیلدهای آن


=DLookUp("Reminder_description";"tbl_reminder";"[reminder_date]=slash(shamsi())")


سلام استاد عزیز ممنون و سپاسگزارم
ببخشید من اون نمونه رو خدمتتون پیوست کردم اون دوتا فیلد اولی منظورم نبود الان فایل رو اصلاح کردم و فقط اون قسمت نمایش جملات قصار کار دارم
شما لطف کنید چک کنید ببینید کد زیر میشه در کنترل سورس تکس باکس وارد کرد یا خیر؟


=DLookUp("text_detail";"Tbl_Text";"[text_no]=Int((70 * Rnd) + 1)")

eb_1345
چهارشنبه 05 اردیبهشت 1403, 17:35 عصر
ظاهراً در کد فوق با توجه به ثابت بودن عدد 70 عمل تغییر جمله در هنگام لود شدن فرم در حالت مخفی صورت نمی گیره . بخاطر همین اومدم بجای عدد 70 عدد ثانیه که در تکست باکس مخفی شده درج شده قرار دادم.

Nader700
چهارشنبه 05 اردیبهشت 1403, 17:59 عصر
سلام
کد زیر رو در تکست اول قرار داده ای که نه نام جدول مربوطه در این کد قید شده نه فیلدهای آن


=DLookUp("Reminder_description";"tbl_reminder";"[reminder_date]=slash(shamsi())")


برای نمایش تصادفی هم از یک تابع استفاده کرده ام


استاد عزیز ببخشید در فایل پیوستی تاپیک 4 شما در خاصیت Timer Interval مقدار 1000 رو قرار دادین بعد در خاصیت On Load فرم کد زیر رو قرار دادین

sql = "SELECT TOP 1 Tbl_Text.Text_No, Tbl_Text.Text_Detail FROM Tbl_Text ORDER BY Rnd(-(30*Text_No)*Time())"

که اومدین
Rnd(-(30*Text_No) در Time ضرب کردین .

من تعداد 100 تا جمله دارم آیا باید به جای عدد 30 عدد 100 رو قرار بدم ؟


در خاصیت Timer Interval مقدار 1000 رو قرار دادین منظورتون چیه و من چه عددی قرار بدم ؟

eb_1345
چهارشنبه 05 اردیبهشت 1403, 20:07 عصر
استاد عزیز ببخشید در فایل پیوستی تاپیک 4 شما در خاصیت Timer Interval مقدار 1000 رو قرار دادین بعد در خاصیت On Load فرم کد زیر رو قرار دادین

sql = "SELECT TOP 1 Tbl_Text.Text_No, Tbl_Text.Text_Detail FROM Tbl_Text ORDER BY Rnd(-(30*Text_No)*Time())"

که اومدین
Rnd(-(30*Text_No) در Time ضرب کردین .

من تعداد 100 تا جمله دارم آیا باید به جای عدد 30 عدد 100 رو قرار بدم ؟


در خاصیت Timer Interval مقدار 1000 رو قرار دادین منظورتون چیه و من چه عددی قرار بدم ؟

بله بجای عدد 30 تعداد کل رکوردها رو قرار بده
مقدار Timer Interval هم به این موضوع ارتباطی نداره .حذفش کن!

Nader700
چهارشنبه 05 اردیبهشت 1403, 21:04 عصر
بله بجای عدد 30 تعداد کل رکوردها رو قرار بده
مقدار Timer Interval هم به این موضوع ارتباطی نداره .حذفش کن!

سلام استاد عزیز خیلی ممنونم
موفق و سلامت باشید.