PDA

View Full Version : ساخت كويري بر اساس فيلدهاي انتخاب شده از ليست باكس



انگوران
چهارشنبه 17 شهریور 1389, 12:14 عصر
دوستان سلام ، در فايل ضميمه يك كمبو باكس اسامي جداول رو نشون ميده و يك ليست باكس هم اسامي فيلدهاي هر جدول كه از كمبو باكس انتخاب ميشه . از اساتيد مي خوام كدي كه براي ساخت كويري نوشتم رو اصلاح و كامل كنن ( كدي كه بشه بر اساس اون از ليست باكس فيلدهاي مورد نظر رو انتخاب كرد و كويري بر اساس اون فيلدها درست بشه ). با سپاس

dadsara
یک شنبه 21 شهریور 1389, 08:08 صبح
سلام
با استفاده از این فایل می توانید فیلدهای خود را در شرط قرار دهید
درصورت نیاز براساس نوع حلقه می توانید از آن برای خط Select نیز استفاده کنید

انگوران
یک شنبه 21 شهریور 1389, 10:58 صبح
با سلام - ضمن تشكر از توضيحات شفاف و جالبتون معروض ميدارم در فايلي كه ضميمه كردم قصدم اينه كه از فيلدهاي انتخابي كويري يا گزارش درست كنم و شما از ركوردهاي انتخابي گزارش تهيه كردين . با سپاس

dadsara
یک شنبه 21 شهریور 1389, 12:45 عصر
سلام
نمونه ارائه شده از آنجهت بود که جنابعالی بتوانید طریقه ایجاد فیلدهای مورد نیاز برروی لیست باکس (Multi Select ) با استفاده از حلقه استفاده کنید

انگوران
یک شنبه 21 شهریور 1389, 13:16 عصر
با سلام و تشكر مجدد ، اگه بتونين نمونه كدي كه خودم نوشتم رو دستكاري و كامل كنين علاوه بر مورد فوق به چند تا از اهداف ديگه هم دست پيدا مي كنم .

انگوران
دوشنبه 22 شهریور 1389, 14:43 عصر
ضمن تشكر از dadsaraي عزيز ، با راهنمائي ايشون و يكي از دوستان خوبم فايل مربوطه تكميل شد اينجا ميذارمش شايد به درد بقيه دوستان هم بخوره .

انگوران
سه شنبه 23 شهریور 1389, 12:02 عصر
در تكميل فايل پيوست از اساتيد محترم مي خوام عنايتي بكنن تا اين امكان فراهم بشه به جاي نام فيلدها عنوان ( caption ) فيلدها نمايش داده بشه .

dadsara
سه شنبه 23 شهریور 1389, 17:21 عصر
سلام
دوست عزیز پیشنهاد می کنم از جدول سیستمی استفاده نکنید بدلیل اینکه اگر شما بعنوان مثال یک جدول داشته باشید برای کاربران یا . . . در این حال کاربر به همه آنها دسترسی دارد
در عوض می توانید خودتان یک تیبل درست کنید و نام جدولها و فیلدها و نوع و . . . آنها را در آن ذخیره کنید

انگوران
چهارشنبه 24 شهریور 1389, 09:59 صبح
دوست عزيز روشي كه فرمودين هم جالب هست ولي براي رفع مشكلاتي كه فرمودين ميشه با تغيير خصوصيت جداول مورد نظر مثلاً hidden كردن نسبت به تغيير type اقدام كرد و يا شرط رو عوض كرد مثلاً جداولي كه با tbl شروع ميشن نمايش داده بشن . با سپاس مجدد

alirezabahrami
چهارشنبه 24 شهریور 1389, 10:25 صبح
در تكميل فايل پيوست از اساتيد محترم مي خوام عنايتي بكنن تا اين امكان فراهم بشه به جاي نام فيلدها عنوان ( caption ) فيلدها نمايش داده بشه .
سلام جناب انگوران !
با انتخاب گزينه كوئري ، نام كوئري موجود در ديتابيس در ليست باكس 1و به تبع نام فيلد هاي مربوطه در ليست باكس 2 به نمايش در نمي آيد . در صورت امكان خود جنابعالي مورد فوق را اصلاح تا انشاءالله براي نمايش عنوان فيلدها تدبيري انديشيده شود .
با تشكر

جعفر88
چهارشنبه 24 شهریور 1389, 10:54 صبح
در تكميل فايل پيوست از اساتيد محترم مي خوام عنايتي بكنن تا اين امكان فراهم بشه به جاي نام فيلدها عنوان ( caption ) فيلدها نمايش داده بشه .
سلام
شما براي فيلدها عنواني درج نكردين به همين دليل از نام اصلي فيلدها براي نمايش نتايج پرس و جو استفاده شده اگه عناوين نوشته بشن مورد شما رفع ميشه .

انگوران
چهارشنبه 24 شهریور 1389, 11:10 صبح
سلام جناب انگوران !
با انتخاب گزينه كوئري ، نام كوئري موجود در ديتابيس در ليست باكس 1و به تبع نام فيلد هاي مربوطه در ليست باكس 2 به نمايش در نمي آيد . در صورت امكان خود جنابعالي مورد فوق را اصلاح تا انشاءالله براي نمايش عنوان فيلدها تدبيري انديشيده شود .
با تشكر
جناب بهرامي عزيز ، همانطور كه قبلاً اشاره شد با hidden كردن كويري نسبت به تغيير type اقدام شده و در صورتي كه كويري از حالت hidden در بياد قابل نمايش هست .
در ضمن اگه دوست خوبمون جعفر 88 نمونه فايلي كه عنوان رو نشون بده بذارن ممنون ميشم بنده موفق به اين كار نشدم .

جعفر88
چهارشنبه 24 شهریور 1389, 17:23 عصر
سلام
در نمونه زير موردي كه خواستين لحاظ شده ولي براي جلوگيري از خطاي فيلدهاي بدون عنوان ، اسامي اونا از فهرست حذف ميشه .

انگوران
دوشنبه 29 شهریور 1389, 09:54 صبح
ضمن تشكر از جعفر 88 عزيز بابت نمونه ارسالي ، دو تا مورد ديگه هست كه اگه زحمتش رو بكشن ممنون ميشم .
1- اگه بخوايم در ليست باكس در يك ستون اسامي فيلد و در ستون ديگر عنوان فيلد را داشته باشيم چكار بايد كرد ؟
2- اگه براي جداول هم شرحي در نظر بگيريم امكانش هست بجاي نام جداول description نمايش داده بشه ؟

dadsara
دوشنبه 29 شهریور 1389, 17:10 عصر
سلام
تصور می کنم اگر قطعه کد را به این شکل تغییر دهید درست می شود

Private Sub combo1_AfterUpdate()

Dim rs As DAO.Recordset, strValueList As String
Dim fld As DAO.Field
Dim i As Variant

Set rs = CurrentDb.OpenRecordset(combo1.Value)
strValueList = ""
For Each fld In rs.Fields
On Error Resume Next
'strValueList = strValueList & ";" & fld.Name & ";" & fld.Properties("Caption")
strValueList = strValueList & ";" & fld.Name & ";" & fld.Properties("Description")
Next fld

Me.List2.RowSourceType = "Value List"
Me.List2.BoundColumn = 2
Me.List2.ColumnCount = 2
Me.List2.ColumnWidths = "2cm;3cm"
'Me.List2.RowSource = Mid(strValueList, 2)
Me.List2.RowSource = strValueList

End Sub

انگوران
سه شنبه 30 شهریور 1389, 08:42 صبح
ضمن تشكر از استاد عزيز ، من دقيقاً متوجه نشدم تكه كد فوق جواب سؤال اول بود و يا دوم ( با توجه به اينكه به جاي caption از description استفاده شده ) ضمن اينكه با تكه كدهاي فوق براي كويري هائي كه داراي پارامتر باشن ارور ميده ولي در روش قبلي ( field list) اين مشكل وجود نداره .

جعفر88
شنبه 03 مهر 1389, 12:54 عصر
دوست عزيز آقاي انگوران سلام
موردي كه خواستين در فايل فبلي به روز شد .