حمید زارع 331 ارسال شده در 11 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 11 تیر، ۱۳۹۴ دوستان این عکس رو ببینید من یه جدول به همین شکل دارم حالا اگه خواسته باشم یکی از رکوردها رو حذف کنم قطعاً باید زیر مجموعه های اون هم حذف بشه میدونم برای این کار باید یه sub بنویسم که رکوردهای زیرمجموعه مورد نظر رو حذف کنه ولی اون sub رو نتونستم بنویسم اگه دوستان کسی میتونه یه sub نمونه بنویسه میدونم یه کم مشکله ولی گفتم شاید دوستان قبلاً این کار را انجام داده باشه بازم میگم فقط sub میخام ، راه حل رو دارم اصلا اگه اشکال نداره همین بشه یه مسابقه کوچولو ببینیم کی بهترین و خلاصه ترین Sub رو مینویسه با تشکر در کدنویسی نام تیبل رو هم مثلاً Table1 در نظر بگیرید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ در پست قبلی جوتب داده شد سلام دوست من جوابتون رو دیدم "DELETE FROM tbl WHERE ParentID="&idvar ممنون ولی تا این حد که دیگه خودمم بلدم میخام یه ماژول باشه که هر وقت صداش زدم یه آی دی از من بگیره و خود اون آی دی و تمام زیر مجموعه هاش رو پاک کنه ... Sub DeleteSubject(ID as Int) 'کدی که آی دی و تمام زیر مجموعه هاش رو پاک کنه End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ سلام اینجور که نمیشه کدی که خودت واسش نوشتی رو اینجا بزار ما و دوستان بهت کمک می کنیم حتی یک خط هم باشه ایرادی نداره تلاش کردی چشم آقای آرتا این شد حرف حسابی ... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ سلام دوست من جوابتون رو دیدم "DELETE FROM tbl WHERE ParentID="&idvar ممنون ولی تا این حد که دیگه خودمم بلدم میخام یه ماژول باشه که هر وقت صداش زدم یه آی دی از من بگیره و خود اون آی دی و تمام زیر مجموعه هاش رو پاک کنه ... Sub DeleteSubject(ID as Int) 'کدی که آی دی و تمام زیر مجموعه هاش رو پاک کنه End Sub برادر خودت جواب رو دادی که اینو تست کن Sub DeleteSubject(ID As Int) Dim cur As Cursor cur = db.ExecQuery("SELECT * FROM tbl") For i = 0 To cur.RowCount -1 db.ExecNonQuery("DELETE FROM tbl WHERE ParentID="&ID) Next End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ این کدی که شما نوشتی درست ولی این آی دی و فقط یک ردیف از زیرمجموعه های آی دی رو حذف میکنه ممکن زیر مجموعه های آی دی هرکدوم چندین زیر مجموعه داشته باشن خیلی پیچیده تر از این حرفاست ... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ من متوجه نمیشم مثلا id 1 شما هزارتا زیر مجموعه هم داشته باشه همیشون Parentid میشه 1 دیگه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ من متوجه نمیشم مثلا id 1 شما هزارتا زیر مجموعه هم داشته باشه همیشون Parentid میشه 1 دیگه ممنون که وقت میزاری ببین مثلا من از تصویر بالا میخام A رو حذف کنم باید اول بگردم دنبال زیر مجموعه های A که جواب میشه : A1,A2,A3 اینا رو یه جایی ذخیره می کنم بعد میام سراغ هر کدوم از اینا ببینم زیر مجموعه دارن یا نه ... که برای A1 سه تا زیر مجموعه داره : AA1,AA2,AA3 که اینا رو هم باید به قبلی ها اضافه کنم تا اینجا کار من تمومه چون بقیه زیر مجموعه ندارن یعنی باید A1,A2,A3 و AA1,AA2,AA3 را حذف کنم حالا ممکنه زیر مجموعه ها خیلی بیشتر باشن در واقع اون روالی که میخاد زیر مجموعه ها رو پیدا کنه مهمه .... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ شما برای راحتی کار بیا زیر مجموعه ها رو همه رو با عدد مشخص کن و یه سوال شما میگید a1 , a2 a3 , aa1 تا آخر همه زیر مجموعه a هستن درسته؟ خوب چرا parentid متفاوت هست؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
alireza_hsi 160 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ ببخشید کلا اصول کارت اشتباه است ! کسی مجموعه در یک تیبل به این شکل درست نمیکنه من تا حالا همچین دیتایی در یک تیبل ندیدم !! رکوردها باید مجزا باشند نمیتونن از هم ارث ببرند فقط باید با یک ID به هم وصل باشند .. شما باید چند تیبل ایجاد کنی و ریلیشن بزنی به ID های هم وقتی اولی رو پاک کنی که مادر هست همه زیر مجموعه اتوماتیک پاک میشه ... من شدیدا توصیه میکنم قبل از کارهای پیچیده با دیتا بیس بهتره یک بار چگونی اصول ساخت و تشکیل دیتا بیس رو بخونید خیلی مهم هست چون در آینده اگر بخواهید برنامه های بزرگی بنویسید قطعا مشکل میخورید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ خوب مسلمه که با عدد کار می کنم یعنی همون آی دی ... و سوالتون ... آفرین زدی توخال من الان کامل توضیح میدم که بفهمید چی به چیه ؟ ببینید من یه همچین دیتابیسی رو برای برنامه حسابداری طراحی کردم این Table برای ذخیره دسته بندی ها به کار میره مثال یک دسته بندی : هزینه های خودرو(ID=1)(ParentID=0) زیرمجموعه هاش : بنزین (ID=2)(ParentID=1) کارواش (ID=3)(ParentID=1) تعمیرگاه (ID=4)(ParentID=1) بیمه (ID=5)(ParentID=1) خوب حالا مثلا بیمه خودش زیر مجموعه داره : بیمه شخص ثالث (ID=6)(ParentID=5) بیمه بدنه (ID=7)(ParentID=5) در واقع اونایی که ParentID=0 هست ، دسته بندی های اصلی هستند وبقیه ParentID شون آی دی دسته بندی بالا سرشون هست حالا من اگه خواسته باشم هزینه های خودرو را حذف کنم باید تمام این زیر مجموعه ها حذف بشن ... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ ببخشید کلا اصول کارت اشتباه است ! کسی مجموعه در یک تیبل به این شکل درست نمیکنه من تا حالا همچین دیتایی در یک تیبل ندیدم !! رکوردها باید مجزا باشند نمیتونن از هم ارث ببرند فقط باید با یک ID به هم وصل باشند .. شما باید چند تیبل ایجاد کنی و ریلیشن بزنی به ID های هم وقتی اولی رو پاک کنی که مادر هست همه زیر مجموعه اتوماتیک پاک میشه ... من شدیدا توصیه میکنم قبل از کارهای پیچیده با دیتا بیس بهتره یک بار چگونی اصول ساخت و تشکیل دیتا بیس رو بخونید خیلی مهم هست چون در آینده اگر بخواهید برنامه های بزرگی بنویسید قطعا مشکل میخورید. ممنون ولی من که اصلا با نظرتون موافق نیستم ، چون اصلا امکان پذیر نیست چون تعداد دسته بندی ها و زیر مجموعه ها معلوم نیست که خواسته باشم برای هر کدوم یه تیبل جدا بسازم بازم اگه شما می گید میشه واسه همین مثال کوچیک که من زدم (هزینه های خودرو) توضیح بدید تا متوجه بشیم ... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ فکر میکنی هر زیر مجموعه چندتا زیر مجموعه زیرش میتونه داشته باشه برای مثال اینوم ببین 0----- 1------- 11----- 1---- 2------- 22----- تو میتونی Parentid رو به سلیقه خودت بذاری بعد اونو در بیسیک بگیری بررسی کنی و بعد دستورات رو بهش بدی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ خوبی این روش اینه که هیچ محدودیتی وجود نداره و کاربر میتونه n تا دسته بندی با n تا زیر مجموعه داشته باشه ... دارم یه سری کد نویسی انجام می دم اگه نتیجه داد میزارم همه استفاده کنند فقط مشکل من اینه که زیاد به B4A مسلط نیستم اگه VB بود سریعتر حلش می کردم . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ خوبی این روش اینه که هیچ محدودیتی وجود نداره و کاربر میتونه n تا دسته بندی با n تا زیر مجموعه داشته باشه ... دارم یه سری کد نویسی انجام می دم اگه نتیجه داد میزارم همه استفاده کنند فقط مشکل من اینه که زیاد به B4A مسلط نیستم اگه VB بود سریعتر حلش می کردم . زیر مجموعه ها رو به این صورت بساز 1 1-2 1-2-1 1-2-3-1-2-4-5-1 اینطوری قابل فهم هست که کدوم زیر مجموعخ مال کجاست بعد بیا در b4a پردازشش کن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ زیر مجموعه ها رو به این صورت بساز 1 1-2 1-2-1 1-2-3-1-2-4-5-1 اینطوری قابل فهم هست که کدوم زیر مجموعخ مال کجاست بعد بیا در b4a پردازشش کن میشه یه کم بیشتر توضیح بدی ؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ ببین زیر مجموعه هات و زبربن های اونا دارن تغغیر میکنن درسته؟ خوب تو باید بدونه مثلا زیر مجموعه شماره 5 چندتا زیر مجموعه داره و مثلا یکی از زیرمجموعه هاش 5-2 هست اون چندتا زیرمجموعه برای خودش داره متوجه منظورم شدی؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ راستش کامل که متوجه نشدم ولی فکر نمی کنم راه اصولی این باشه اینو مطمئنم که ساختار دیتابیسی که طراحی کردم درسته (چون برنامه های دیگه هم دیتابیسشون دقیقاً همینجوره) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ پس باید به سبک دوستمون ریلیشن بزنی تا فردا کار کن اگه به نتیجه خوبی نرسیدی سعی میکنم برت یه سورس بنویسم که بتونه تشخیص بده کدوم به کدوم هست لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ بالاخره نوشتمش ... خداییش خودم حض کردم از این قطعه کد ... مثل ساعت کار میکنه Sub CreateList_ID (ID_Delete As Int) As String Dim S_Temp As String Dim S_Main As String Dim Part() As String S_Temp=ID_Delete S_Main=ID_Delete Do While S_Temp<>"" Part=Regex.Split("#",S_Temp) For i=0 To Part.Length-1 Main.Cur=Main.SQLACC.ExecQuery("select * from Subjects where ParentID='"&Part(i)&"'") If Main.Cur.RowCount<>0 Then Main.Cur.Position=0 S_Temp="" For j =0 To Main.Cur.RowCount-1 Main.Cur.Position=j S_Temp=S_Temp & "#" & Main.Cur.GetInt("Id") S_Main=S_Main & "#" & Main.Cur.GetInt("Id") Next Else S_Temp="" End If Next Loop Return S_Main End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Nemesis 1,846 ارسال شده در 12 تیر، ۱۳۹۴ اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ افرین ولی من کوئری delete نمیبینم فقط اسپلیت مییینم فکر کنم چشام خیلی خسته هست لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
حمید زارع 331 ارسال شده در 12 تیر، ۱۳۹۴ سازنده اشتراک گذاری ارسال شده در 12 تیر، ۱۳۹۴ افرین ولی من کوئری delete نمیبینم فقط اسپلیت مییینم فکر کنم چشام خیلی خسته هست درسته اصل مطلب پیدا کردن لیست آی دی هایی بود که باید حذف می شد ممنون حامد جان که حوصله کردی و وقت گذاشتی اینم قسمت حذف کردن : Sub DeleteSubject(ID_Delete As String) Dim IDs As String Dim Part() As String IDs=CreateList_ID(ID_Delete) Part=Regex.Split("#",IDs) For i=0 To Part.Length Main.SQLACC.ExecnONQuery("delete from Subjects where Id='"&Part(i)&"'") Next Msgbox(IDs,"حذف شدند") End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
حمید زارع 331
دوستان این عکس رو ببینید
من یه جدول به همین شکل دارم
حالا اگه خواسته باشم یکی از رکوردها رو حذف کنم قطعاً باید زیر مجموعه های اون هم حذف بشه
میدونم برای این کار باید یه sub بنویسم که رکوردهای زیرمجموعه مورد نظر رو حذف کنه
ولی اون sub رو نتونستم بنویسم
اگه دوستان کسی میتونه یه sub نمونه بنویسه
میدونم یه کم مشکله ولی گفتم شاید دوستان قبلاً این کار را انجام داده باشه
بازم میگم فقط sub میخام ، راه حل رو دارم
اصلا اگه اشکال نداره همین بشه یه مسابقه کوچولو ببینیم کی بهترین و خلاصه ترین Sub رو مینویسه
با تشکر
لینک ارسال
به اشتراک گذاری در سایت های دیگر
25 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.