PDA

View Full Version : سوال: باز کردن فرم کانتینیوز باند شده به جدول با شرط خاص



majidosmani
جمعه 11 دی 1394, 13:10 عصر
سلام خدمت اساتید محترم میگم من یک فرم دارم که به صورت کانتینیوز به جدولم باند شده است حالا می خواهم این فرم اطلاعات مشخصی را از جدول به من نشان بده مثلا اطلاعاتی که تاریخ انها مال یک ماه گذشته است بعد از روش فیلتر کردن فرم هم نمی تونم استفاده کنم چون در صورتی که کاربر فلیلتر را بردار بقیه اطلاعات را می بیند و از کوئری هم نمی توانم استفاده کنم چون می خواهم کاربر بتونه اطلاعات جدول را با فرم تغییر بده ایا روشی سراغ دارید با تشکر

mohammadsaleh
جمعه 11 دی 1394, 17:26 عصر
سلام. شما یک سابفرم در فرمتون بسازید. رکورد سورس آن را به جای جدول از کوئری استفاده کنید. برای اینکه سابفرمتون به صورت دینامیک فیلتر بشود باید در قسمت criteria کوئری نام تکست باکس هایی که در فرمتون آماده کردید بنویسید. اگر نشد یک نمونک از اطلاعاتتون بگذارید تا راهنماییتون کنم

majidosmani
جمعه 11 دی 1394, 17:54 عصر
سلام ببخشید من درست منظور شما را نفمیدم نمونه را براتون میفرستم نگاش کنید در نمونه زیر فرم f3 اطلاعات table1 را نشان می دهد من می خواهم فرمم اطلاعات بازدید تا 30 روز گذشته را نمایش بده برای همین منظور امدم یک ستون به جدولم اضافه کردم به اسم عدد روز که تاریخ بازدید را به صورت یک عدد ثبت میکنه بعد در جدول 3 امدم تاریخ هر روز که کاربر وارد میشه را به صورت عددی وارد کردم بعد با یک سورس فرمم را کوئری قرار دادم که میاد عدد روز در جدول یک را با عدد داخل جدول 3 مقایسه میکنه اگر بیشتر بود نمایش میده ولی مشکل زمانی به وجود امد که من میخواستم با فرمم اطلاعات جدول 1 را تغییر بدم که امکان پذیر نبود

majidosmani
جمعه 11 دی 1394, 21:01 عصر
سلام میگم من با کوئری مشکل حل شد ولی یک مشکل جدید پیدا کردم چون من این فرم را به دو صورت میکنم ( یک بار با فرم F1 و یک بار با فرم F2) حالا مقدار عدد 30 روز قبل را در این فرم ها قرار دادم و کوئری را به این صورت تعریف کردم

SELECT Table1.*
FROM Table1
WHERE (((Table1.adaed)>nz([forms]![f1]![t11],[forms]![form1]![t11])));



حالا مشکل این است وقتی فرم را باز میکنم پنجره زیر باز میشه که اگر اوکی کنم فرمم باز میشه و مشکلی نداره فقط من میخواهم کاری کنم که این پنجره را نشان نده ایا راهی هست کدی می توان نوشت که این پنجره را نشان نده و مقدار ان را تهی بگیره
138103

majidosmani
شنبه 12 دی 1394, 17:55 عصر
سلام میگم کسی از دوستان نظری ندارد من یک راه دیگه رفتم امدم یک متغییر داخل مازول تعریف کردم و وقتی فرم اولیه ام باز میشه مقدار ان را برابر 30 روز قبل گرفتم ولی متغییرم داخل کوئری کار نمیکنه و یک چیز دیگه بعضی از تابع ها داخل کوئری کار میکنه مثل تابع nz ولی تابع

val(SubtractDay(SHAMSI, 30))



که مربوط به مازول تاریخ شمسی یکی از دوستان است در زمان sql کار نمیکنه نمی دونم ایا میشه کاری کرد این تابع ها هم در کوئری تعریف بشه یا نه

majidosmani
یک شنبه 13 دی 1394, 19:13 عصر
سلام من جواب را پیدا کردم جواب من به این صورت است اول اینکه من یک نکته فهمیدم اگر ما یک کوئری درست کنیم مانند qury1 بعد رکورد سورس فرم را این کوئری قرار بدیم نمیشه با فرم اطلاعات جدول را تغییر داد ولی اگر مربع کنار کشوی رکورد سورس فرم انتخاب نماید و از جدول کورئری بگیریم حالا با تغییر فرم اطلاعات داخل جدول هم تغییر میکند

138166

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



SELECT Table1.*
FROM Table1
WHERE (((Table1.adaed)>Val(Mid((Date()-226897-30),7,4) & Mid((Date()-226897-30),1,2) & Mid((Date()-226897-30),4,2))));