PDA

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



Nazir Ahmad
شنبه 17 اسفند 1392, 13:52 عصر
سلام خدمت اساتید محترم
یه فرم داریم که دوتا ساب فورم از دو تا کویری داره. حال میخواهیم یه با کلیک روی یه دکمه یک یا بیشتر از چند فیلد از یک ساب فرم انتخاب بشه و کل محتویاتیش کپی بشه.
با کد زیر میشه تمام فیلدهای یک ساب فرم رو انتخاب کرد اما اگر خواسته باشیم تنها یه فیلد یا چند فیلد پشت سر هم رو انتخاب کنیم چکار کنیم.

DoCmd.GoToControl "Frm_Subform"
DoCmd.RunCommand acCmdSelectAllRecords

اما وقتی از کد زیر برای انتخاب یک ستون استفاده میکنیم جواب نمیده.
DoCmd.GoToControl "[Frm_ُSubform]"
DoCmd.GoToControl "[FieldName]"
DoCmd.RunCommand acCmdSelectEntireColumn
اساتید لطفا همکاری کنید.

Nazir Ahmad
یک شنبه 18 اسفند 1392, 12:12 عصر
خواهش ........ !

Nazir Ahmad
دوشنبه 19 اسفند 1392, 09:40 صبح
اساتید محترم لطفا همکاری کنید ...
بذارید یه جور دیگه بگم: ما یه فرم داریم و دو تا ساب فرم. حالا میخوایم از داخل یک ساب فرم تعداد مشخصی از رکوردهاش رو به ساب‌فرم دیگه کپی کنیم. حالا میخوام یه دکمه داشته باشیم که با کلیک روی اون اول بره از ساب فرم اولی مثلا دوتا فیلد از تمام رکوردهاش رو کپی کنه و بعدا بیاد تو ساب‌فرم دومی که دقیقا مشابه ساب‌فرم اولیه همون رکوردهای کپی شده رو پیست (جاگذاری) کنه. تمام مراحل رو میتونم کدش رو تعریف کنم بغیر از انتخاب کل ستونهای فیلدهای مورد نظر در ساب‌فرم.
دقیقا مثل اینکه ما بریم دوتا از ستونهای یک ساب فرم رو دستی انتخاب میکنیم، کپی میکنیم، میریم تو ساب‌فرم بعدی پیست میکنیم. فکر نکنم برای اساتید کار مشکلی باشه.
والله اعلم

لطفا همکاری کنید
یا حق

Nazir Ahmad
چهارشنبه 21 اسفند 1392, 08:15 صبح
یعنی چی ..... ؟:خجالت:
چقد سخته این سوال ... :لبخندساده:

Nazir Ahmad
چهارشنبه 21 اسفند 1392, 14:03 عصر
یعنی چی ..... ؟:خجالت:
چقد سخته این سوال ... :لبخندساده:

............................

alirezabahrami
چهارشنبه 21 اسفند 1392, 17:34 عصر
اساتید محترم لطفا همکاری کنید ...
بذارید یه جور دیگه بگم: ما یه فرم داریم و دو تا ساب فرم. حالا میخوایم از داخل یک ساب فرم تعداد مشخصی از رکوردهاش رو به ساب‌فرم دیگه کپی کنیم. حالا میخوام یه دکمه داشته باشیم که با کلیک روی اون اول بره از ساب فرم اولی مثلا دوتا فیلد از تمام رکوردهاش رو کپی کنه و بعدا بیاد تو ساب‌فرم دومی که دقیقا مشابه ساب‌فرم اولیه همون رکوردهای کپی شده رو پیست (جاگذاری) کنه. تمام مراحل رو میتونم کدش رو تعریف کنم بغیر از انتخاب کل ستونهای فیلدهای مورد نظر در ساب‌فرم.
دقیقا مثل اینکه ما بریم دوتا از ستونهای یک ساب فرم رو دستی انتخاب میکنیم، کپی میکنیم، میریم تو ساب‌فرم بعدی پیست میکنیم. فکر نکنم برای اساتید کار مشکلی باشه.
والله اعلم

لطفا همکاری کنید
یا حق
سلام
از طریق AppendQuery فیلد یافیلدهای مورد نظر را از جدول موردنظر انتخاب و به جدول دیگر اضافه کن!
یاعلی

Nazir Ahmad
پنج شنبه 22 اسفند 1392, 09:00 صبح
ممنون جناب بهرامی گرامی
اما ساب‌فرمهایی که من در داخل یک فرم دارم و دوتا هم هست رکوردسورس هردو یه کویریه. حالا ما یه ساب‌فرم رو نظر به خواستمون فیلتر میکنیم و این فیلتر رو میریزیم تو ساب فرم دیگه که در اصل در همون جدول چند تا رکورد جدید به تعداد رکوردهای فیلتر شده اضافه میشه . تنها فیلد سال و چند تا فیلد دیگه تغییر میکنه.
حالا من میخوام فقط دو سه تا فیلد فیلتر شده با تمام رکوردهاش از یک ساب‌فرم کپی و به ساب‌فرم دیگه پیشت بشه.
مشکل من در انتخاب مثلا دو تافیلد از یه ساب‌فرمه .. خلاص
اگر ممنکه کدهایی که در پست 1 هست اصلاح بشه ممنون میشم
اینم عکسش
http://www.uplooder.net/img/image/74/052a15e7c1a480dc7f7fa068f14a8cce/select_Subform.jpg

ممنون
یاحق

alirezabahrami
پنج شنبه 22 اسفند 1392, 10:35 صبح
ممنون جناب بهرامی گرامی
اما ساب‌فرمهایی که من در داخل یک فرم دارم و دوتا هم هست رکوردسورس هردو یه کویریه. حالا ما یه ساب‌فرم رو نظر به خواستمون فیلتر میکنیم و این فیلتر رو میریزیم تو ساب فرم دیگه که در اصل در همون جدول چند تا رکورد جدید به تعداد رکوردهای فیلتر شده اضافه میشه . تنها فیلد سال و چند تا فیلد دیگه تغییر میکنه.
حالا من میخوام فقط دو سه تا فیلد فیلتر شده با تمام رکوردهاش از یک ساب‌فرم کپی و به ساب‌فرم دیگه پیشت بشه.
مشکل من در انتخاب مثلا دو تافیلد از یه ساب‌فرمه .. خلاص
اگر ممنکه کدهایی که در پست 1 هست اصلاح بشه ممنون میشم
اینم عکسش
http://www.uplooder.net/img/image/74/052a15e7c1a480dc7f7fa068f14a8cce/select_Subform.jpg

ممنون
یاحق
سلام
متوجه نشدم فرمودی رکوردسورس هردو یه کویریه بعد میخواهید ازهمون کوئری تعدادی رکورد از همون کوئری به همون کوئری اضافه کنید .
ضمناًً با Append Query نه تنها می توانید رکوردهائی از فیلد یا فیلدهای یک جدول به جدول دیگراضافه کنید بلکه همین کار را با دو کوئری ( بشرطیکه جداول آنها یکی نباشد ) و یا یک جدول و یک کوئری انجام بدهید .
پیشنهاد می کنم بجای استفاده از روش پست اولتان از این روش که منطقی تر است استفاده کنید.
یا علی

Nazir Ahmad
پنج شنبه 22 اسفند 1392, 12:21 عصر
سلام
متوجه نشدم فرمودی رکوردسورس هردو یه کویریه بعد میخواهید ازهمون کوئری تعدادی رکورد از همون کوئری به همون کوئری اضافه کنید .
ضمناًً با Append Query نه تنها می توانید رکوردهائی از فیلد یا فیلدهای یک جدول به جدول دیگراضافه کنید بلکه همین کار را با دو کوئری ( بشرطیکه جداول آنها یکی نباشد ) و یا یک جدول و یک کوئری انجام بدهید .
پیشنهاد می کنم بجای استفاده از روش پست اولتان از این روش که منطقی تر است استفاده کنید.
یا علی
بله رکورد سورس هردو یه کویریه
دلیل هم اینه که ما یه جدول داریم که نتایج سالانه دانش‌آموزان در اون ثبت میشه و هر دانش‌آموز برای هر سال یه رکورد از این جدول رو به خودش اختصاص میده. حالا ما میخوایم برای سرعت در درج اطلاعات جدید در سال جدید آی دی و شمارة شناسایی شاگردان یک کلاس رو از یه کویری (یا همون جدول) بگیریم و در رکوردهای جدید همون جدول اضافه کنیم اما با این تفاوت که فیلدهای دیگری مثل سال، کلاس و .... نظر به سال جدید آپ‌دیت میشه که اون هم با کد نویسی معرفی کردیم که در زمان اضافه شدن رکورد جدید فیلدهایی مثل سال و کلاس و ... به طور خودکار نظر به کمبو باکس‌هایی که ما داریم پر میشه.
البته من این مشکل رو طور دیگه‌ای برطرف کردم. به این شکل که در داخل همون فرم بغیر از دو تا ساب‌فرمی که قبلا گفتم یه ساب‌فرم دیگه هم اضافه کرم (که البته در نمایش قابل رویت نیست) و در این ساب‌فرم تنها دو فیلد آی دی و شماره شناسایی که مورد نظرم هست رو قرار دادم. اول ساب‌فرم رو نظر به خواست خودم فیلتر میکنم و با کدهای زیر اول میره تمام رکوردهای ساب‌فرم فرعی رو انتخاب و کپی میکنه و بعد میره تمام رکوردهای ساب‌فرم مقصد رو انتخاب میکنه و در آخر هم پیست.

Private Sub SelectAll_Click()
DoCmd.GoToControl "AddF_Old"
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy

DoCmd.GoToControl "Frm_AddStuToNewYearNew"
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdPaste
End Sub


فکر کنم روش خوبی باشه
البته تنها مشکلی که داره تعداد کدها و ساب‌فرمها یه کم بیشتر میشه.

بازهم ممنون از توجه شما
اگر راه‌کار بهتری دارید لطفا بندة مبتدی رو راهنمایی کنید.
یا حق