PDA

View Full Version : حذف مقادیر تکراری در کمبو



saman_itc
یک شنبه 02 دی 1386, 10:52 صبح
با سلام خدمت اساتید
می خواستم بدونم چه طوری میشه کمبو مقدار تکراری نگیره یا اگه گرفت پاکش کنم درجا
search هم کردم .چیزی در این مورد نبود.

maryam_vb
یک شنبه 02 دی 1386, 12:11 عصر
سلام
راه حلی که به ذهنم رسید:


PublicClass Form3
Dim i AsInteger
Dim s AsString
Dim b AsBoolean
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
b = False
s = TextBox1.Text
For i = 1 To C1.Items.Count
If C1.Items.Item(i - 1) = s Then
b = True
EndIf
Next
If b = FalseThen
C1.Items.Add(s)
EndIf
If b = TrueThen
MsgBox("داده تکراری است")
EndIf
EndSub
EndClass

اگه از db استفاده میکنید مقدار s رو میتونید با مقدار فیلدی از table مقدار دهی کنید.

saman_itc
یک شنبه 02 دی 1386, 19:10 عصر
با سلام خدمت مریم خانم و دوستان
این راه حل کاملان درسته و جواب هم داده
اما وقتی با database کار میکنی با دستور select distict هم میشه این کارو کرد
اگه کسی میتونه یه مثال بزاره ممنون میشم

amirsajjadi
یک شنبه 02 دی 1386, 20:47 عصر
با سلام


Adodc1.RecordSource = "SELECT DISTINCT(name) FROM bank"

saman_itc
دوشنبه 03 دی 1386, 08:50 صبح
امیر جان Adodc1.RecordSource این توضیح میدی؟

ƒxmahdi
دوشنبه 03 دی 1386, 09:31 صبح
با عرض خسته نباشد
کد مریم خانم درسته ولی به جای کد خط
For i = 1 To C1.Items.Count
خط زیر را جایگزین کن
For i = 0 To C1.Items.Count
زیرا در صورتی که کمبو یک زیر لیست داشته باشد مثلا 10
دوباره 10 به لیست کمبو اضافه خواهد شد
با عرض پوزش از مریم

amirsajjadi
دوشنبه 03 دی 1386, 10:43 صبح
Adodc1.RecordSource چیز مهمی نیست فقط چون من از Adodc استفاده کردم اونو نوشتم وگرنه دستورش ، توی SQL یکیه

maryam_vb
سه شنبه 04 دی 1386, 09:39 صبح
با عرض خسته نباشد
کد مریم خانم درسته ولی به جای کد خط
For i = 1 To C1.Items.Count
خط زیر را جایگزین کن
For i = 0 To C1.Items.Count
زیرا در صورتی که کمبو یک زیر لیست داشته باشد مثلا 10
دوباره 10 به لیست کمبو اضافه خواهد شد
با عرض پوزش از مریم

نه این اتفاق روی نخواهد داد چون:
If C1.Items.Item(i - 1) = s Then