PDA

View Full Version : بانک قوانین



DADpardaz
شنبه 25 فروردین 1386, 23:35 عصر
باسلام خدمت تمامی دوستان
بنده درخصوص ساخت بانک قوانین چند سئوال دارم اگه ممکنه دوستان ضمن مشاهده فایل پیوست راهنماییهای لازم رابنمایند
باشکر

MM_Mofidi
یک شنبه 26 فروردین 1386, 09:32 صبح
من فکر میکنم استفاده از بانک اکسس با این ساختار برای هدف مورد نظر شما کار منطقی نباشد.
یا از sql با فیلدهای باینری(طویل) استفاده کنید.
یا نحوه طراحی خود را تغییر دهید مثلا قوانین را در فایلهایی در کنار دیتابیس نگهداری کنید و در موقع لزوم اطلاعات آنها را خوانده و به صفحه لود کنید.
د رمورد تکنیکهای جستجو هم بسته به نحوه طراحی شما میتواند کاملا متفاوت باشد

davood-ahmadi
سه شنبه 28 فروردین 1386, 17:51 عصر
من نمونه برای شما گذاشتم. البته شما محدودیت نوشتن متن در داخل فیلد متن قوانین ندارید. چون با نگاهی که برنامه و فیلد متن قوانین انداختم دیدم بیشترین متنی که شما استفاده کرده اید حدوداً 11000 کاراکتر بود ولی در حالیکه فیلید Memo می تواند 65000 کاراکتر ذخیره کند. فقط اینجا یک مسئله دارید و آن هم این است که اگر برنامه شما به رکورد حدوداً 5000 و یا بیشتر شود احتمالاً سرعت برنامه تقلیل پیدا کند. التبه همانطوری که جناب آقای MM_Mofidi گفتند می توانید از SQL جهت نگهداری اطلاعات استفاده کنید

DADpardaz
شنبه 01 اردیبهشت 1386, 21:31 عصر
جناب davood-ahmadi ضمن تشکرازنمونه ارسالی شما فقطمشکل سرچ حل شد.امامتاسفانه هنوز فایل قانون مدنی قابل نمایش نمی باشد
باتشکر

davood-ahmadi
یک شنبه 02 اردیبهشت 1386, 00:11 صبح
طراحی جداول شما باید طبق نمونه باشد تا بتوانید از بانک بخوبی استفاده کنید. شما باید دو جدول طراحی کنید که در یک جدول تعریف کد قوانین و موضوع قوانین باشد و در یک جدول دیگر کد قوانین و شرح ماده های آن قوانین بصورت یک رکورد باشد. مثلاً فایل مدنی را باید در 1355 رکورد وارد نمایید تا بتوانید فایل را در بانک جا داده. اگر متوجه نشدید بگویید تا توضیحات بیشتر و کاملتری در این مورد بدهم.

DADpardaz
یک شنبه 02 اردیبهشت 1386, 22:37 عصر
اگه لطف کنیدکه ممنون میشم آخه واقعا متوجه منظورتون نشدم

DADpardaz
چهارشنبه 05 اردیبهشت 1386, 21:43 عصر
آیاکسی نمی خواهدبگه چطوری میشه ظرفیت فیلد ممو راافزایش داد؟
واقعا هیچ راهی نداره؟یا

moustafa
جمعه 07 اردیبهشت 1386, 11:04 صبح
همانطور که دوستمون اقای احمدی گفتند روش شما صحیح نیست باید از یک جدول با چهار فیلد استفاده کنید
1- کد موضوع
2- موضوع
3- ماده
4- شرح قانون
و یه جدول دیگه بنام تعاریف شامل
1-کد موضوع
2- موضوع
که فیلدهای جدول اول بوسیله کامبوباکس بوند میشه به این جدول (کدموضوع و موضوع از جدول اصلی از طریق فیلدهای این جدول بوسیله کامبو باکس پر میشه )
وبه ازاء هر ماده یه رکورد وارد کنید
اگه بخواهید همه رو در یه فیلد ممو وارد کنید اولا سرعت جستجو کند میشه و ثانیا در صورت ویرایش یا تغیر قانون دچار مشکل واشتباه میشد

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

DADpardaz
جمعه 07 اردیبهشت 1386, 11:11 صبح
آقاMOUSTAFA قدم اول رابرداشتم اگه ممکنه زحمت بکشید یه نمونه کوچولو بذارید بیشترممنون میشم

DADpardaz
جمعه 07 اردیبهشت 1386, 14:35 عصر
آقا mouatafa لطفا نگاه کنید ببینید درست متوجه منظورتون شدم یا نه ؟

moustafa
جمعه 07 اردیبهشت 1386, 14:35 عصر
ممنون ،اتقاقا داشتم رو فرم وکوئری های مشابه کار میکردم علی ایحال
فایلت رو با اطلاعات حداقل با سه چهار موضوع مثل قانون محاسبات عمومی ،قانون تجارت ،قانون چک ،قانون مدنی و...... با 5 ماده (رکورد) برای هریک آپلود کن تا من کوئریها و فرمهای مربوط به جستجو رو بسازم
و بعدش باهم رفع اشکال کنیم (منم تا حدودی با یه سری قوانین سر وکار دارم بکارم میاد )

DADpardaz
جمعه 07 اردیبهشت 1386, 15:28 عصر
چندنمونه قانون (هرکدام با 5 رکورد )واردکردم

moustafa
جمعه 07 اردیبهشت 1386, 18:57 عصر
جدولت درست بوند نشده بود اصلاح کردم
فعلا این رو داشته باش

DADpardaz
شنبه 08 اردیبهشت 1386, 19:27 عصر
ازاینکه وقت گذاشتید واقعا سپاسگزارم
چراعبارات یافت شده هایلایت نمی شن؟
راستی ممکنه بوسیله پبام عدم یافت شدن ویا تعداد موارد یافت شده اعلام گردد؟
منتظرم...

moustafa
شنبه 08 اردیبهشت 1386, 21:26 عصر
1-در مورد های لایت فعلا راهی بنظرم نمی رسه
2- تعداد رکورد یافت شده در پائین بوسیله سلکتور نوشته شده اگه رکوردی یافت نشود یک رکورد خالی نمایش داده میشود البته اینا کار سختی نیست

MM_Mofidi
چهارشنبه 12 اردیبهشت 1386, 11:31 صبح
فکر میکنم اگر از گزارش استفاده کنید دستتان بازتر باشد. هرچندکد نویسی بیشتری میطلبد تا اعمال یک فیلتر
برای هایلایت هم مثلا از کدی شبیه این
i = InStr(LowText, T0)
LowText.SetFocus
LowText.SelStart = i - 1
LowText.SelLength = Len(T0)
یا بهتر است از object هایی مثل rich text یا ... استفاده کنید و تغییر رنگ بدهید

شاپرک
چهارشنبه 12 اردیبهشت 1386, 12:04 عصر
از این هم میشه استفاده کرد:


Private Sub LowText_GotFocus()
LowText.SelStart = 0
LowText.SelLength = Len(LowText.Text)
End Sub

DADpardaz
چهارشنبه 12 اردیبهشت 1386, 18:35 عصر
بازم تشکرمیکنم
امااینارا کجابایداستفاده کنم اگه ممکنه یه نمونه بذارید

moustafa
چهارشنبه 12 اردیبهشت 1386, 21:47 عصر
فکر میکنم اگر از گزارش استفاده کنید دستتان بازتر باشد. هرچندکد نویسی بیشتری میطلبد تا اعمال یک فیلتر
برای هایلایت هم مثلا از کدی شبیه این
i = InStr(LowText, T0)
LowText.SetFocus
LowText.SelStart = i - 1
LowText.SelLength = Len(T0)
یا بهتر است از object هایی مثل rich text یا ... استفاده کنید و تغییر رنگ بدهید
استفاده از فیلتر در فرم سریعتر و انعطاف پذیر تر است فرض کنید شروط بیشتر بخواد اعمال بشه

این روش من بخاطر این پیشنهاد نکردم چون فقط روی یک کلمه عمل میشه واونم فقط روی اولین کلمه
فرض کنید کلمه "حقوق" در یه رکورد 5 بار تکرار شده باشد باید هر 5 کلمه های لایت بشه

DADpardaz
چهارشنبه 12 اردیبهشت 1386, 21:55 عصر
جناب MM_Mofidi منظورمنم دقیقا همین مورد است
فقط خواهش می کنم نحوه استفاده ازاین کد رو هم بفرمائید
البته کد جناب شاپرک هم استفاده کردم اما جواب نمی ده (منظورم اینه که بازم هایلایت نمی شه)

moustafa
پنج شنبه 13 اردیبهشت 1386, 15:35 عصر
کدهای آقای مفیدی رو دراین رویداد بنویس

Private Sub LowText_GotFocus()

moustafa
جمعه 14 اردیبهشت 1386, 08:49 صبح
یا بهتر است از object هایی مثل rich text یا ... استفاده کنید و تغییر رنگ بدهید
مفیدی جان فکر کنم این ابجکت مدنظر ما باشه حالا این آبجکت تو جعبه ابزار اکسس یا وی بی هست
اگه نیست برامون زحمتش بکش آپلود کن، همینطور نحو کار کردش

Mahsa Hatefi
شنبه 15 اردیبهشت 1386, 08:36 صبح
جدولت درست بوند نشده بود اصلاح کردم
فعلا این رو داشته باش

جناب آقا مصطفی با سلام

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

ممنون

moustafa
شنبه 15 اردیبهشت 1386, 13:05 عصر
بله خوب فاصله هم خودش یک کاراکتر دیگه وبستگی به سلیقه و نیاز افراد داره و همانطور هم که خودتون اشاره فرمودید با تابع TRIM میشه کنترل کرد و شاید آقازاده تون روش بهتر وآنالیزتری داشته باشند که ممنون میشیم از تجربه های ایشون هم استفاده کنیم

Mahsa Hatefi
شنبه 15 اردیبهشت 1386, 13:49 عصر
دوست عزیز ، ایشون مثل خودم آماتوره ، منظورش پرس و جو از دوستاش بوده وگرنه خودش رشته اش چیز دیگس .
به هر حال فرض کنید در جدولمون "احمد زاده" داشته باشیم و وقتی توی باکس مربوط به جستجو تایپ کنیم "احمدزاده" ، متاسفانه فیلترینگ جواب نمی ده .
یه سوال دیگه آیا با تریم فاصله بین واژه ای را هم می توان پوشش داد . من که امتحان کردم جواب نداد .

اگر به نتیجه رسیدید ممنون می شم

moustafa
شنبه 15 اردیبهشت 1386, 15:41 عصر
بر این مورد :
خوب یبار تایپ کنید احمدزاده حستجو کنید یبار هم تایپ کنید احمد زاده
من از این روش بخاطر این استفاده کردم اگه بخوایم چند شرط رو با هم اعمال کنیم ، با هر بار اینتر فیلتر رو بده
والا با یه سابفرم جستجوی یک شرطی میشه اینطوری عمل کرد که با تایپ هر حرف معادل اون ظاهر باشه
غیر ازاین فرض کنید بخواید فاصله ها رو از ببین ببرید و بخواید این مورد رو جستجو کنید :
" تبصره یازده ماده یک "
که با حذف فاصله میشه
"تبصرهیازدهمادهیک "
و امثالهم
با این حال میشه باترکیب توابع
instr mid
فاصله رو پیدا کرده اون حذف و با & به هم متصل کرده

DADpardaz
شنبه 15 اردیبهشت 1386, 17:54 عصر
باسلام
ممکنه جستجو دقیقتر بشه ؟بعنوان مثال درحال حاضر با جستجوی کلمه زوج تمام کلمات زوجه زوجین زوجیت ... یافت میشه درحالیکه فقط میخوایم زوج یافت بشه
باتشکر