-
حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
سلام به تمام اساتید
من میخوام یک تعداد رکورد رو در یک فرم اضافه کنم به طوری که شرطهایی که برای اون در نظر میگیرم نظر به تعدادی که در یک تکست باکس مشخص میشه متغیر باشه
یعنی در یک تکست باکس یک عدد (مثلا 10) وارد میشه و با کلیک کردن روی دکمه به تعداد 10 رکورد با شرطهای تعیین شده اضافه میشه
توضیح بیشتر هم اینه که،
1- وقتی روی دکمه کلیک میکنیم اول میبینه که اگر مقدار تکست باکس بیشتر از 0 بود کار رو شروع میکنه
2- بعدا میره و از یک ساب فرم مقادیری (مثلا 50 رکورد) رو کپی میکنه و میره در یک سابفرم دیگه (که یک جدول دیگه هست) پیست میکنه
3- با هر بار انجام اینکار یک شماره از مقدار تکست باکسی که تعداد رو از اون میگرفت کم میشه (یعنی مقدار تکست باکس منهای 1 میشه)
و این حلقه تا زمانی تکرار میشه که مقدار تکست باکس مساوی به 0 بشه
این هم کدهایی که من نوشتم، البته اگر دوستان در ارتباط با کدها و روش کار هم اگر پیشنهادی دارید ممنون میشم راهنمایی بفرمایید
If Me.flt_Count > 0 Then On Error Resume Next
DoCmd.GoToRecord , "", acNewRec
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
Me.SMf_Nahieh = [FilterForm].Form![fltNahiya]
Me.SMf_Note = "Adding"
DoCmd.GoToControl "SMf_StartDate"
' Me.EcoSocialMobileListExisting_SF.Requery
On Error Resume Next
'On Error GoTo AddErr
DoCmd.GoToControl ("EcoSocialMobileListExisting_SF")
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy
If Me.EcSocRecCount.Value > 0 Then
If MsgBox("There are '" & Me.EcoSocialMobileList_SF.Form.Recordset.RecordCou nt & "' Record has been added to list, Do you want to replace?", vbYesNo, "EUSHMP") = vbYes Then
DoCmd.GoToControl ("EcoSocialMobileList_SF")
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDelete
DoCmd.RunCommand acCmdPaste
Else
DoCmd.GoToControl ("EcoSocialMobileList_SF")
DoCmd.RunCommand acCmdSelectAllRecords
' DoCmd.RunCommand acCmdPaste
DoCmd.SetWarnings True
End If
Else
DoCmd.GoToControl ("EcoSocialMobileList_SF")
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdPaste
End If
Me.flt_Count = Me.flt_Count - 1
'AddErr: If Err.Number = "2046" Then
' MsgBox "The Operation is not complated. Pleas press 'Ctrl+V' on your keybord to Paste the data", vbCritical, "EUSHMP"
' Else
' Resume Next
' End If
Else
MsgBox "Plese fill field 'From' and 'To'"
Me.SMf_StartDate.SetFocus
End If
اساتید و دوستان لطفا همکار کنید
پیشاپیش ممنون از شما
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
اساتید و دوستان عزیز لطفا کمک کنید
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
اگر درست متوجه شده باشم هدف شما کپی تعدادی از رکوردها از یک جدول به جدول دیگر است.
توجه داشته باشید ماهیت سابفرم نمایش اطلاعات گرفته شده از جدول می باشد. و کپی اطلاعات از یک سابفرم به سابفرم دیگر معنا ندارد.
اگر هدفتان همان است که گفتم باید برای اینکار ابتدا مشخص کنید کدام اطلاعات - با چه مشخصاتی - را قصد دارید انتقال دهید تا بتوان برای آن راه حل پیدا کرد.
در ضمن این روشی که شما نوشتید گرچه منطقا درست می باشد اما راه حل مناسبی برای اینکار نیست. باز باید دید هدف شما از این نحوه نوشتن چیست؟
-
1 ضمیمه
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
mohammadsaleh
اگر درست متوجه شده باشم هدف شما کپی تعدادی از رکوردها از یک جدول به جدول دیگر است.
توجه داشته باشید ماهیت سابفرم نمایش اطلاعات گرفته شده از جدول می باشد. و کپی اطلاعات از یک سابفرم به سابفرم دیگر معنا ندارد.
اگر هدفتان همان است که گفتم باید برای اینکار ابتدا مشخص کنید کدام اطلاعات - با چه مشخصاتی - را قصد دارید انتقال دهید تا بتوان برای آن راه حل پیدا کرد.
در ضمن این روشی که شما نوشتید گرچه منطقا درست می باشد اما راه حل مناسبی برای اینکار نیست. باز باید دید هدف شما از این نحوه نوشتن چیست؟
ممنون بابت پاسخگویی
هدف من دقیقا همون کپی تعدادی از رکوردها از یک جدول به جدول دیگه هست، اما این یک مرحله از کاره
در مرحله دوم باید این عملیات به تعدادی مشخص تکرار بشه
توضیح واضحتر اینه که من یک فرم دارم که شامل دو تا ساب فرمه. ساب فرم اولی۵۰ رکورد از یک جدول رو نشون میده و من میخوام در جدول دیگه این 50 تا رکورد رو کپی کنم که لینک به فرم اصلی من با کد فرم باشه. یعنی در هر فرم باید 50 رکورد از یک جدول به جدول دیگه (توسط سابفرمهایی که در فرم نشون داده میشه) کپی بشه و همزمان اون 50 تا برای فرم بعدی که داریم نمایش داده نشه.
حالا میخوام این حلقه تا زمانی که ما تعیین میکنیم اجرا بشه . مثلا ما در یک تکست باکس وارد میکنیم 10 و باید 10 رکورد اضافه بشه و در هر رکورد 50 رکورد از یک جدول به جدول دیگه کپی بشه
البته تعداد 10 متغیره
توضیحات در تصویر کمی واضحتره
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
ممنون بابت پاسخگویی
هدف من دقیقا همون کپی تعدادی از رکوردها از یک جدول به جدول دیگه هست، اما این یک مرحله از کاره
در مرحله دوم باید این عملیات به تعدادی مشخص تکرار بشه
توضیح واضحتر اینه که من یک فرم دارم که شامل دو تا ساب فرمه. ساب فرم اولی۵۰ رکورد از یک جدول رو نشون میده و من میخوام در جدول دیگه این 50 تا رکورد رو کپی کنم که لینک به فرم اصلی من با کد فرم باشه. یعنی در هر فرم باید 50 رکورد از یک جدول به جدول دیگه (توسط سابفرمهایی که در فرم نشون داده میشه) کپی بشه و همزمان اون 50 تا برای فرم بعدی که داریم نمایش داده نشه.
حالا میخوام این حلقه تا زمانی که ما تعیین میکنیم اجرا بشه . مثلا ما در یک تکست باکس وارد میکنیم 10 و باید 10 رکورد اضافه بشه و در هر رکورد 50 رکورد از یک جدول به جدول دیگه کپی بشه
البته تعداد 10 متغیره
توضیحات در تصویر کمی واضحتره
سلام
1-الان شما 1745 رکورد دارین . انتخاب 50 رکورد چگونه هست ؟ کدام رکوردها باید منتقل بشه
ضمن اینکه ساب فرم شما به چه جدولی لینک هست ؟ شما باید با جدول انتقال رکوردها رو انجام بدین و در فرم و ساب فرم نمایش داده میشه .
2- لینک با id 44 قابل حل هست و درصورت انتقال داده ها، باید چه id بگیرند؟ تا درفرم اصلی برای همون formid نمایش داده شوند؟
3- به تعداد تکست باکس رکورد به جدول فرم اضافه میکنیم . نهایتا چه داده هایی باید بهشون لینک بشه وformid چی باید باشه ؟
اینها باید حل بشه .
باید محدوده داده هایی که منتقل میشه مشخص باشه . سعی کنید با جداول کار کنید . محدوده مورد نظر برای کپی رو دربیارید .
ضمنا
یک فایل رو داده ها رو خالی کنید و فقط با 10 تا 12 رکورد ضمیمه کنید تا دوستان بررسی کنند .
-
1 ضمیمه
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
سلام
1-الان شما 1745 رکورد دارین . انتخاب 50 رکورد چگونه هست ؟ کدام رکوردها باید منتقل بشه
ضمن اینکه ساب فرم شما به چه جدولی لینک هست ؟ شما باید با جدول انتقال رکوردها رو انجام بدین و در فرم و ساب فرم نمایش داده میشه .
2- لینک با id 44 قابل حل هست و درصورت انتقال داده ها، باید چه id بگیرند؟ تا درفرم اصلی برای همون formid نمایش داده شوند؟
3- به تعداد تکست باکس رکورد به جدول فرم اضافه میکنیم . نهایتا چه داده هایی باید بهشون لینک بشه وformid چی باید باشه ؟
اینها باید حل بشه .
باید محدوده داده هایی که منتقل میشه مشخص باشه . سعی کنید با جداول کار کنید . محدوده مورد نظر برای کپی رو دربیارید .
ضمنا
یک فایل رو داده ها رو خالی کنید و فقط با 10 تا 12 رکورد ضمیمه کنید تا دوستان بررسی کنند .
سلام
وقت بخیر
ببخشید که من چند روز درگیر بودم
ممنون از بابت پاسختون
من کلیات رو در فایل ضمیمه توضیح دادم. لطفا بررسی بفرمایید
نقل قول:
من میخوام از لیست ساب فرم 'موجود' در هر فرم به تعداد 50 رکورد کپی و به ساب فرم 'جدید' اضافه بشه، (تعداد و نوعیت رکوردها مشابه هست)
نکته 1: هر بار که از سابفرم "موجود" 50 رکورد کم میشه باید در فرمهای بعدی این رکوردها نشون داده نشه و در عین حال نمیخوام هم که از جدول اصلی رکوردها کت یا دلت بشه
نکته 2: ساب فرم "موجود" با فیلد "SMo_FormID" با فیلد "SMf_FormID" از فرم فعلی در ارتباط هست
نکته 3: این حلقه تا زمانی ادامه پیدا کنه که فیلد "Remain" صفر بشه یعنی به تعداد بین "From" تا "To" باید به فرم اصلی اضافه بشه و این جریان ادامه پیدا کنه
البته در هر جدول به خصوص جدول "موجود" امکان وجود تا 100هزار رکورد وجود داره و فیلدهای زیادی هم داره که در سرعت کار تاثیر داره و همچنین جداول دیگهای هم وجود داره که نظر به نیاز بعضی از اطلاعاتشان با جداول موجود لینک و استفاده میشه
-
1 ضمیمه
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
1-الان شما 1745 رکورد دارین . انتخاب 50 رکورد چگونه هست ؟ کدام رکوردها باید منتقل بشه
.
ضمیمه 152183ضمیمه 152183
البته مه از Top Values در کویری استفاده کرده بودم. نمیدونم نظر شما چییه؟
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
سلام
1-الان شما 1745 رکورد دارین . انتخاب 50 رکورد چگونه هست ؟ کدام رکوردها باید منتقل بشه
ضمن اینکه ساب فرم شما به چه جدولی لینک هست ؟ شما باید با جدول انتقال رکوردها رو انجام بدین و در فرم و ساب فرم نمایش داده میشه .
2- لینک با id 44 قابل حل هست و درصورت انتقال داده ها، باید چه id بگیرند؟ تا درفرم اصلی برای همون formid نمایش داده شوند؟
3- به تعداد تکست باکس رکورد به جدول فرم اضافه میکنیم . نهایتا چه داده هایی باید بهشون لینک بشه وformid چی باید باشه ؟
اینها باید حل بشه .
باید محدوده داده هایی که منتقل میشه مشخص باشه . سعی کنید با جداول کار کنید . محدوده مورد نظر برای کپی رو دربیارید .
ضمنا
یک فایل رو داده ها رو خالی کنید و فقط با 10 تا 12 رکورد ضمیمه کنید تا دوستان بررسی کنند .
دوستان
لطفا همکاری کنید
ممنون
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
سلام .کدامرکوردها جابجا بشن
بر اساس شروع و پایان .tsdeviseو ..
کدوم موارد انتخاب بشه .
ردیف نداره که بگیم 50 تا اول لیست .
یه جستجو باید داشته باشه . ترتیبی . چیزی .
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
سلام .کدامرکوردها جابجا بشن
بر اساس شروع و پایان .tsdeviseو ..
کدوم موارد انتخاب بشه .
ردیف نداره که بگیم 50 تا اول لیست .
یه جستجو باید داشته باشه . ترتیبی . چیزی .
سلام
ترتیب زیاد مهم نیست
اما شما مثلا به اساس سه فیلد از جدول ترتیب کنید، فیلد (1- ناحیه 2-گذر 3- بلاک) و 50 تای اول لیست رو انتقال بدید به جدول دیگه درحالی که در ادامه از لیست جدول اولی فیلتر بشه و نشون نده دیگه
و در نهایت باید تمام رکودرها انتقال داده بشن و لیست جدول او خالی بشه
به طور کل بگم که من میخوام هر 50 رکورد از جدول اولی رو در یک صفحه چاپ کنم به طوری که هر صفحه کد فرم مجزایی داشته باشه
مثلا ما فیلدی به نام ناحیه داریم، مثلا ناحیه 08 و میخواییم تمام رکوردهایی که در جدول اول در فیلد ناحیه 08 هست رو 50 تایی در یک صفحه یا یک فرم داشته باشیم که هر صفحه یا فرم یک کد مجزا داشته باشه مثلا 8001، 8002، 8003 و الی آخر
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
سلام
ترتیب زیاد مهم نیست
اما شما مثلا به اساس سه فیلد از جدول ترتیب کنید، فیلد (1- ناحیه 2-گذر 3- بلاک) و 50 تای اول لیست رو انتقال بدید به جدول دیگه درحالی که در ادامه از لیست جدول اولی فیلتر بشه و نشون نده دیگه
و در نهایت باید تمام رکودرها انتقال داده بشن و لیست جدول او خالی بشه
به طور کل بگم که من میخوام هر 50 رکورد از جدول اولی رو در یک صفحه چاپ کنم به طوری که هر صفحه کد فرم مجزایی داشته باشه
مثلا ما فیلدی به نام ناحیه داریم، مثلا ناحیه 08 و میخواییم تمام رکوردهایی که در جدول اول در فیلد ناحیه 08 هست رو 50 تایی در یک صفحه یا یک فرم داشته باشیم که هر صفحه یا فرم یک کد مجزا داشته باشه مثلا 8001، 8002، 8003 و الی آخر
اگر جدول اول سریال اتونامبر بگذاریم بعدا هر 50 تا رو انتقال بده و ادامه بهتره به نظرم . چون دقیقا میشه فهمید چه ترتیب هایی منتقل شده و باید حذف بشه .
منظورم اینه که یک فیلد کلیدی میخواد که اول باید ایجاد بشه . مشکلی ندارید با این قضیه ؟
این کار که انجام شد بعد میریم سراغ انتقال به روش کوئری .
50 تا اول هر نوبت منتقل بشه و بس .
اگر اکی هست اول با پریماری کی سریال بدم به دیتابیس اصلی .بعد ادامه کار به راحتی قابل انجام هست.
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
اگر جدول اول سریال اتونامبر بگذاریم بعدا هر 50 تا رو انتقال بده و ادامه بهتره به نظرم . چون دقیقا میشه فهمید چه ترتیب هایی منتقل شده و باید حذف بشه .
منظورم اینه که یک فیلد کلیدی میخواد که اول باید ایجاد بشه . مشکلی ندارید با این قضیه ؟
این کار که انجام شد بعد میریم سراغ انتقال به روش کوئری .
50 تا اول هر نوبت منتقل بشه و بس .
اگر اکی هست اول با پریماری کی سریال بدم به دیتابیس اصلی .بعد ادامه کار به راحتی قابل انجام هست.
اگر اینطوری بشه که از ترکیب چند فیلد بشه یک کد منحصر به رکورد ایجاد کرد برای کار من بهتره
به این شکل
Ts_RowCode: Val(Format([TS_Province],"00") & Format([TS_City],"00") & Format([TS_District],"00") & Format([TS_Guzar],"00") & Format([TS_Block],"000") & Format([TS_Parcel],"000"))
و با استفاده از سورت کردن این فیلد کارهای بعدی رو انجام بدیم
البته این کار حتمی نیست و میشه از اتونامبر هم استفاده کرد و بعدا در گزارشها طبق نیاز سورت رو انجام داد.
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
مشکل شما در چرخه do هست که انجام نمیشه
و حذف هم باید با روشی انجام بشه که هر مورد انتقالی حذف بشه
من چون کد نویسی ضعیف هستم با کوئری مشکل رو حل کردم . خودتون ببینید با کد نویسی میتونید حلش کنید
ضمنا جدول رو تغییر دادم autonumber گذاشتم و انتقال هم که میدم . کد مورد نظر رو هم انتقال میدم . به فیلد مشابه در جدول مقصد که ایجاد کردم .
چک اپ گذاشتم که مغایرت گیری کنه و بعد موارد مغایرت رو حذف کنم .
فقط ترتیب شماره رو نتونستم ایجاد کنم .
اون هم در ریپورت میشه درستش کرد . چون در ریپورت میشه شماره ردیف اضافه نمود
http://s15.picofile.com/file/8408955942/shmp2.zip.html
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
مشکل شما در چرخه do هست که انجام نمیشه
و حذف هم باید با روشی انجام بشه که هر مورد انتقالی حذف بشه
من چون کد نویسی ضعیف هستم با کوئری مشکل رو حل کردم . خودتون ببینید با کد نویسی میتونید حلش کنید
ضمنا جدول رو تغییر دادم autonumber گذاشتم و انتقال هم که میدم . کد مورد نظر رو هم انتقال میدم . به فیلد مشابه در جدول مقصد که ایجاد کردم .
چک اپ گذاشتم که مغایرت گیری کنه و بعد موارد مغایرت رو حذف کنم .
فقط ترتیب شماره رو نتونستم ایجاد کنم .
اون هم در ریپورت میشه درستش کرد . چون در ریپورت میشه شماره ردیف اضافه نمود
http://s15.picofile.com/file/8408955942/shmp2.zip.html
ممنون از شما
اما عملا وقتی کلیک میکنیم هیچ کاری صورت نمیگیره و انتقال نمیشه اطلاعات
و رکوردها در جدول جدید اضافه نمیشه
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
و در ضمن من میخوام اطلاعات در جدول اصلی باقی بمونه و از اون پاک نشه
البته یک راه هم اینه که در یک جدول موقتی ثبت بشه (شاید)
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
ممنون از شما
اما عملا وقتی کلیک میکنیم هیچ کاری صورت نمیگیره و انتقال نمیشه اطلاعات
و رکوردها در جدول جدید اضافه نمیشه
سلام مجدد . من تست کردم انجام شد.
برید اکشن کوئری رو غیرفعال کنید . شاید مشکل اونجاست
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
برای باقی موندن باید در فیلدی که اضلافه کردم کد بزارید مثلا 3 بع معنی انتقال داده شده که دیگه اونو منتقل نکنه و اونهایی منتقل بشن که کدشون 3 نیست .یا فیلد true false درست کنید .
-
1 ضمیمه
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
برای باقی موندن باید در فیلدی که اضلافه کردم کد بزارید مثلا 3 بع معنی انتقال داده شده که دیگه اونو منتقل نکنه و اونهایی منتقل بشن که کدشون 3 نیست .یا فیلد true false درست کنید .
ممنون از شما
اما این چیزی که من میخواستم رو برآورده نمیکنه
باید در هر مرحله 50 رکورد از جدول TechnicalSurvey به جدول EcoSocialMobileList اضافه بشه و همزمان یک رکورد در جدول EcoSocialMobileForms اضافه بشه و فیلد FormID از رکوردهایی که انتقال داده شده مساوی با Form ID رکود اضافه شده در جدول EcoSocialMobileForm بشه و این چرخه باید به تعداد تکست باکس Count در فرم ادامه پیدا کنه یعنی اگر تکست باکس Count مساوی به 8 باشه، باید 8 بار این کار تکرار بشه. و رکوردهایی که از جدول TechnicalSurvey به جدول EcoSocialMobileList انتقال داده میشه پاک نشه و سر جای خودش بمونه، اما در مراحل بعدی دوباره انتقال داده نشه.
درحالیکه فعلا یک رکود انتقال پیدا میکنه و تمام رکوردها از جدول اولی پاک میشه
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
ممنون از شما
اما این چیزی که من میخواستم رو برآورده نمیکنه
باید در هر مرحله 50 رکورد از جدول TechnicalSurvey به جدول EcoSocialMobileList اضافه بشه و همزمان یک رکورد در جدول EcoSocialMobileForms اضافه بشه و فیلد FormID از رکوردهایی که انتقال داده شده مساوی با Form ID رکود اضافه شده در جدول EcoSocialMobileForm بشه و این چرخه باید به تعداد تکست باکس Count در فرم ادامه پیدا کنه یعنی اگر تکست باکس Count مساوی به 8 باشه، باید 8 بار این کار تکرار بشه. و رکوردهایی که از جدول TechnicalSurvey به جدول EcoSocialMobileList انتقال داده میشه پاک نشه و سر جای خودش بمونه، اما در مراحل بعدی دوباره انتقال داده نشه.
درحالیکه فعلا یک رکود انتقال پیدا میکنه و تمام رکوردها از جدول اولی پاک میشه
http://s15.picofile.com/file/8409038168/shmp3.zip.html
50 تا انتقال میده و درنهایت چک اپ رو تبدیل به 2 میکنه به معنی انتقال داده شده. دیگه حذف نمیشه
برای تکرار کد do رو غیرفعال کردم . فعال کنید . فقط اگر میخواین در formId دیگه 50 تا اضافه کنه باید کد docmd.gotocontrol next یا add new record در مسیر اضافه کنید .
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
http://s15.picofile.com/file/8409038168/shmp3.zip.html
50 تا انتقال میده و درنهایت چک اپ رو تبدیل به 2 میکنه به معنی انتقال داده شده. دیگه حذف نمیشه
برای تکرار کد do رو غیرفعال کردم . فعال کنید . فقط اگر میخواین در formId دیگه 50 تا اضافه کنه باید کد docmd.gotocontrol next یا add new record در مسیر اضافه کنید .
باز هم ممنون
من کاری که گفتید رو انجام دادم و کد رو به این شکل تغییر دادم
DoCmd.SetWarnings FalseDoCmd.RunCommand acCmdSaveRecord
Do
If flt_Count >= 1 Then
Me.SMf_Note = "."
stDocName = "Q01-TechnicalSurvey Query"
DoCmd.OpenQuery stDocName
stDocName = "q02-"
DoCmd.OpenQuery stDocName
stDocName = "q03-"
DoCmd.OpenQuery stDocName
DoCmd.RunCommand acCmdSaveRecord
flt_Count = flt_Count - 1
On Error Resume Next
DoCmd.GoToRecord , "", acNewRec
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
End If
Loop Until flt_Count = 0
'Me.Form.Requery
End Sub
اما باز هم مشکل دارم
به رکورد بعدی میره و رکورد رو اضافه میکنه اما 50 رکوردی که باید اضافه بشه رو اضافه نمیکنه متاسفانه
لطفا خودتون اصلاح بفرمایید
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
باز هم ممنون
من کاری که گفتید رو انجام دادم و کد رو به این شکل تغییر دادم
DoCmd.SetWarnings FalseDoCmd.RunCommand acCmdSaveRecord
Do
If flt_Count >= 1 Then
Me.SMf_Note = "."
stDocName = "Q01-TechnicalSurvey Query"
DoCmd.OpenQuery stDocName
stDocName = "q02-"
DoCmd.OpenQuery stDocName
stDocName = "q03-"
DoCmd.OpenQuery stDocName
DoCmd.RunCommand acCmdSaveRecord
flt_Count = flt_Count - 1
On Error Resume Next
DoCmd.GoToRecord , "", acNewRec
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
End If
Loop Until flt_Count = 0
'Me.Form.Requery
End Sub
اما باز هم مشکل دارم
به رکورد بعدی میره و رکورد رو اضافه میکنه اما 50 رکوردی که باید اضافه بشه رو اضافه نمیکنه متاسفانه
لطفا خودتون اصلاح بفرمایید
احتمالا مشکل از نوع ویندوز باشه .
باز هم بررسی میکنم ببینم چی میشه . ولی اصول کار انجام میشه . اینجا من مشکلی ندارم.
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
padide55
احتمالا مشکل از نوع ویندوز باشه .
باز هم بررسی میکنم ببینم چی میشه . ولی اصول کار انجام میشه . اینجا من مشکلی ندارم.
ممنون
یک موضوع دیگه رو هم مد نظر داشته باشید که وقتی در یک فرم 50 رکورد رو انتقال میدیم در فرم بعدی دیگه اون 50 تای اولی دیگه نباید باشن و دوباره انتقال نشن و رکوردهای بعدی 50 تایی کپی بشه (که البته فکر کنم این موضوع حله)
حالا میخوام در یک جدول تعداد باقیمانده رو بهم نشون بده که چند رکورد از جدول اصلی باقیمونده، مثلا از مجموع 1220 رکوردی که وجود داشته ما 10 فرم (که هر فرم 50 رکورد داره و مجموع رکوردهایی که انتقال شده میشه 500 تا). حال میخوایم یه جایی لیستی از رکوردهای باقیمانده داشته باشیم.
پیشاپیش ممنون
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
ممنون
یک موضوع دیگه رو هم مد نظر داشته باشید که وقتی در یک فرم 50 رکورد رو انتقال میدیم در فرم بعدی دیگه اون 50 تای اولی دیگه نباید باشن و دوباره انتقال نشن و رکوردهای بعدی 50 تایی کپی بشه (که البته فکر کنم این موضوع حله)
حالا میخوام در یک جدول تعداد باقیمانده رو بهم نشون بده که چند رکورد از جدول اصلی باقیمونده، مثلا از مجموع 1220 رکوردی که وجود داشته ما 10 فرم (که هر فرم 50 رکورد داره و مجموع رکوردهایی که انتقال شده میشه 500 تا). حال میخوایم یه جایی لیستی از رکوردهای باقیمانده داشته باشیم.
پیشاپیش ممنون
سلام مجدد
مشکل انتقال 50 رکورد برای هر فرم حل شد. فقط باید پیش از اجرای کویری فرم save میشد
اما مشکل بعدی اینکه میخواهیم بدونیم که چند رکورد دیگه در جدول اصلی باقی مونده و در یک کویری یا جدول جداگانه داشته باشیم
البته میشه که از کویری Unmatched Query استفاده کرد. اما این مدل خیلی سرعت رو پایین میاره و چون رکودرها زیاده سرعت اجرای کویری پایین هست
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
سلام مجدد
مشکل انتقال 50 رکورد برای هر فرم حل شد. فقط باید پیش از اجرای کویری فرم save میشد
اما مشکل بعدی اینکه میخواهیم بدونیم که چند رکورد دیگه در جدول اصلی باقی مونده و در یک کویری یا جدول جداگانه داشته باشیم
البته میشه که از کویری Unmatched Query استفاده کرد. اما این مدل خیلی سرعت رو پایین میاره و چون رکودرها زیاده سرعت اجرای کویری پایین هست
سلام مجدد
unmach query زمانی کار میکنه که id ثابت autonumber در اولین جدول باشه که بعد از انتقال بتونین با هم مچ کنید/
اگر از فایل نمونه دوم که فرستادم استفاده نموده اید . مشاهده میکنید که یک فیلد chekup1 ایجاد کردم . اونجا موارد ارسال نشده کدشون عوض شده . میتونید کوئری درست کنید که بر اساس کد نمایش بده .
-
نقل قول: حلقههای تکرار (اضافه کردن رکورد با شرطهای خاص و تعداد متغیر)
نقل قول:
نوشته شده توسط
Nazir Ahmad
سلام مجدد
مشکل انتقال 50 رکورد برای هر فرم حل شد. فقط باید پیش از اجرای کویری فرم save میشد
اما مشکل بعدی اینکه میخواهیم بدونیم که چند رکورد دیگه در جدول اصلی باقی مونده و در یک کویری یا جدول جداگانه داشته باشیم
البته میشه که از کویری Unmatched Query استفاده کرد. اما این مدل خیلی سرعت رو پایین میاره و چون رکودرها زیاده سرعت اجرای کویری پایین هست
مشکل حل شد
ممنون بابت همکار شما