مشکل خواندن combobox در vb6

havax

New Member
سلام خسته نباشید
اول یه وضبح بدم درباره برنامه ام
من دارم یه برنامه درست میکنم که این برنامه مشخصاتی مثل (تاریخ - شماره نامه - نام و نام خانوادگی - مرجع ارسال کنند نامه(اینو یه کمبو باکس گذاشتم)
خب حالا مشکل اینه
یه فرم گداشتم که اگه مثلا خاشتم یه مورد به این کمبوباکس اضافه کنم بتونم که اینم حله فقظ مشکل اینه وقتی این کارا رو انجام میدم ول برنامه رو که ببندم همه چیز از کمبوباکس پاک میشه
میخام ببینم راهی هست که ایتم های کمبوباکس یه جا ذخیره بشه و وقتی چیزی هم ادد میکنم بهشون اضافه بشه که وقتی برنامه رو میبندم باز میکنم چیزی از کمبو باکس پاک نشه؟
پیشاپیش ممنون از همتون
 

the_king

مدیرکل انجمن
ابتدا این کد ها رو به ابتدای کد فرم تان اضافه کنید، دو تا روتین اند که به برنامه تان این قابلیت رو اضافه می کنند که محتویات ComboBox ها رو در فایل ذخیره کنید یا از فایل بخوانید.
کد:
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

Private Sub LoadComboBox(ByVal filename As String, ByRef target As ComboBox)
    Dim item As String
    If PathFileExists(filename) = 0 Then Exit Sub
    Open filename For Input As #1
    Do Until EOF(1)
        Line Input #1, item
        target.AddItem item
    Loop
    Close #1
End Sub

Private Sub SaveComboBox(ByVal filename As String, ByRef target As ComboBox)
    Dim i As Integer
    Open filename For Output As #1
    For i = 0 To target.ListCount - 1
        Print #1, target.List(i)
    Next
    Close #1
End Sub

در ادامه باید به فرم تان کدی اضافه کنید که موقع بالا آمدن فرم اطلاعات کمبوباکس ای مثل Combo1 رو از فایلی مثل combo1.txt بخونه :
کد:
Private Sub Form_Load()
    Call LoadComboBox("combo1.txt", Combo1)
End Sub

و همچنین موقع بسته شدن فرم در فایل ذخیره شون کنه :
کد:
Private Sub Form_Unload(Cancel As Integer)
    Call SaveComboBox("combo1.txt", Combo1)
End Sub

اگر کمبوباکس های دیگری هم داشته باشید می توانید برایشان برای هر کدام اون دو سطر کد رو اضافه کنید تا خواندن و ذخیره شدن انجام بشه.
 

havax

New Member
ابتدا این کد ها رو به ابتدای کد فرم تان اضافه کنید، دو تا روتین اند که به برنامه تان این قابلیت رو اضافه می کنند که محتویات ComboBox ها رو در فایل ذخیره کنید یا از فایل بخوانید.
کد:
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

Private Sub LoadComboBox(ByVal filename As String, ByRef target As ComboBox)
    Dim item As String
    If PathFileExists(filename) = 0 Then Exit Sub
    Open filename For Input As #1
    Do Until EOF(1)
        Line Input #1, item
        target.AddItem item
    Loop
    Close #1
End Sub

Private Sub SaveComboBox(ByVal filename As String, ByRef target As ComboBox)
    Dim i As Integer
    Open filename For Output As #1
    For i = 0 To target.ListCount - 1
        Print #1, target.List(i)
    Next
    Close #1
End Sub

در ادامه باید به فرم تان کدی اضافه کنید که موقع بالا آمدن فرم اطلاعات کمبوباکس ای مثل Combo1 رو از فایلی مثل combo1.txt بخونه :
کد:
Private Sub Form_Load()
    Call LoadComboBox("combo1.txt", Combo1)
End Sub

و همچنین موقع بسته شدن فرم در فایل ذخیره شون کنه :
کد:
Private Sub Form_Unload(Cancel As Integer)
    Call SaveComboBox("combo1.txt", Combo1)
End Sub

اگر کمبوباکس های دیگری هم داشته باشید می توانید برایشان برای هر کدام اون دو سطر کد رو اضافه کنید تا خواندن و ذخیره شدن انجام بشه.

سلام
آقا خیلی ممنون بابت جواب
یه سوال دیگه هم داشتم
در فرم یک برنامه ام یک adodc دارم که پایگاه داده بهش وصله
حالا یه فرم دیگه درست کردم که میخام datagrid ‌رو توی اون بزارم اما برنامه در فرم دوم اجازه نمیده دیتاگرید چیزی نشون نمیده . اگه میشه اینم یه راهنمایی کنین ممنون
 

havax

New Member
سلام
آقا خیلی ممنون بابت جواب
یه سوال دیگه هم داشتم
در فرم یک برنامه ام یک adodc دارم که پایگاه داده بهش وصله
حالا یه فرم دیگه درست کردم که میخام datagrid ‌رو توی اون بزارم اما برنامه در فرم دوم اجازه نمیده دیتاگرید چیزی نشون نمیده . اگه میشه اینم یه راهنمایی کنین ممنون
سلام مجدد
دوست عزیز خیلی ممنون از این برنامه
الان تونستم امتحانش کنم دقیقا همونیه که من میخاستم فقط یه مشکل داره
ببین مثلا من این دستورات رو به برنامه ام اضاف کردم و برنامه رو اجرا کردم و به کمبوباکسم ۵ مقدار اضاف کردم بعدش برنامه رو بستم خب برنامه طبق دستورات کپی میگیره و ذخیره میکنه
برای بار دوم برنامه رو اجرا کردم برنامه دقیقا اون ۵ مقدار رو اضاف کرد
خب حالا مشکل اینه وقتی من برنامه رو ببندم اون نمیتونه تشخیص بده که من مقدار جدیدی اضاف نکردم دوباره از همون ۵ مقدار کپی میگیره
و وقتی من برنامه رو برای بار سوم اجرا کنم ب جای ۵ مقدار ۱۰ مقدار دارم(یعنی از هرکدوم ۲تا)
امیدوارم متوجه منظورم شده باشی
فکر میکنم باید جوری بشه اگه یک بار از کل کمبو بک اپ بگیره برا بار دوم ببینه اگه جدید اومده بک بگیره

یه سوال دیگه هم دارم
من چندتا تکست باکس دارم با یه دکمه
میخام وقتی مثلا من تکست باکس ۱ و ۲ و ۳ رو پر میکنم رو دکمه که میزنم دوباره ایندکس بره تکست باکس ۱ رو همون دکمه نمونه
ممنونننن

Sent from my SM-N920C using Tapatalk
 

the_king

مدیرکل انجمن
سلام مجدد
دوست عزیز خیلی ممنون از این برنامه
الان تونستم امتحانش کنم دقیقا همونیه که من میخاستم فقط یه مشکل داره
ببین مثلا من این دستورات رو به برنامه ام اضاف کردم و برنامه رو اجرا کردم و به کمبوباکسم ۵ مقدار اضاف کردم بعدش برنامه رو بستم خب برنامه طبق دستورات کپی میگیره و ذخیره میکنه
برای بار دوم برنامه رو اجرا کردم برنامه دقیقا اون ۵ مقدار رو اضاف کرد
خب حالا مشکل اینه وقتی من برنامه رو ببندم اون نمیتونه تشخیص بده که من مقدار جدیدی اضاف نکردم دوباره از همون ۵ مقدار کپی میگیره
و وقتی من برنامه رو برای بار سوم اجرا کنم ب جای ۵ مقدار ۱۰ مقدار دارم(یعنی از هرکدوم ۲تا)
امیدوارم متوجه منظورم شده باشی
فکر میکنم باید جوری بشه اگه یک بار از کل کمبو بک اپ بگیره برا بار دوم ببینه اگه جدید اومده بک بگیره

یه سوال دیگه هم دارم
من چندتا تکست باکس دارم با یه دکمه
میخام وقتی مثلا من تکست باکس ۱ و ۲ و ۳ رو پر میکنم رو دکمه که میزنم دوباره ایندکس بره تکست باکس ۱ رو همون دکمه نمونه
ممنونننن

Sent from my SM-N920C using Tapatalk
کد ای که برای درج کردن می نویسید ایراد داره، نه کد خواندن و نوشتن و یا شایدم دارید LoadComboBox رو دوبار روی یک کمبو باکس اجرا می کنید.
قاعدتا ربطی به SaveComboBox ای که من نوشتم نداره چون اون مقادیر قبلی داخل فایل رو پاک می کنه، نگه نمیداره که دوبار تکرار بشه.
شما اگر صد بار هم SaveComboBox رو اجرا کنید از هر مقدار داخل لیست در فایل فقط یک مورد ذخیره میشه.

اگه داخل کدی که برای دکمه می نویسید Text1.SetFocus رو اضافه کنید Text1 انتخاب میشه، کلا SetFocus کنترلی که برایش این متد رو اجرا می کنید فعال می کنه.
 

havax

New Member
کد ای که برای درج کردن می نویسید ایراد داره، نه کد خواندن و نوشتن و یا شایدم دارید LoadComboBox رو دوبار روی یک کمبو باکس اجرا می کنید.
قاعدتا ربطی به SaveComboBox ای که من نوشتم نداره چون اون مقادیر قبلی داخل فایل رو پاک می کنه، نگه نمیداره که دوبار تکرار بشه.
شما اگر صد بار هم SaveComboBox رو اجرا کنید از هر مقدار داخل لیست در فایل فقط یک مورد ذخیره میشه.

اگه داخل کدی که برای دکمه می نویسید Text1.SetFocus رو اضافه کنید Text1 انتخاب میشه، کلا SetFocus کنترلی که برایش این متد رو اجرا می کنید فعال می کنه.
سلام مجدد
آقا خیلی ممنون حل شد مشکل فهیمدم از کجا بود(اشتباهی از خودم بود)
یه سوال
چند تا تکست باکس رو فرمم دارم که اینا رو وقتی مقدار وارد میکنم به دیتابیسم اد میشن
حالا باید تمام تکست باکسا پر باشن(مقدار داشته باشن)
اگه نداشته باشن ارور میده
چکار کنم که تکست باکس خالی ارور نده؟


Sent from my SM-N920C using Tapatalk
 

the_king

مدیرکل انجمن
سلام مجدد
آقا خیلی ممنون حل شد مشکل فهیمدم از کجا بود(اشتباهی از خودم بود)
یه سوال
چند تا تکست باکس رو فرمم دارم که اینا رو وقتی مقدار وارد میکنم به دیتابیسم اد میشن
حالا باید تمام تکست باکسا پر باشن(مقدار داشته باشن)
اگه نداشته باشن ارور میده
چکار کنم که تکست باکس خالی ارور نده؟


Sent from my SM-N920C using Tapatalk
می توانید با یک شرط if بررسی کنید که آیا مثلا "" <> Text1.Text هست یا نه که اگر برقرار بود وارد دیتابیس بشه.
 

havax

New Member
سلام
بازم به مشکل خوردم
میخام یه تکست باکس بزارم بعد نام و نام خانوادگی رو تو دیتابیسم سرچ کنم
تو نت سرچ کردم هرچی کد دیدم میزنم مشکل داره
اگه میشه کمک کنین

Sent from my SM-N920C using Tapatalk
 

the_king

مدیرکل انجمن
سلام
بازم به مشکل خوردم
میخام یه تکست باکس بزارم بعد نام و نام خانوادگی رو تو دیتابیسم سرچ کنم
تو نت سرچ کردم هرچی کد دیدم میزنم مشکل داره
اگه میشه کمک کنین

Sent from my SM-N920C using Tapatalk
بر اساس چه کدی کمک تون کنم؟ نه از کد تون اطلاعی دارم و نه از ساختار دیتابیس تون.
 

havax

New Member
بر اساس چه کدی کمک تون کنم؟ نه از کد تون اطلاعی دارم و نه از ساختار دیتابیس تون.
سلام
من کل برنامه رو برات آپلود کردم یه لطفی بکن یه نگاهی بهش بنداز ببین جایی مشکلی نداره؟
برا سرچ هم میخام تو فیلد نام و نام خانوادگی سرچ کنم
مثلا یه تکست باکس باشه وقتی اسمی توش مینویسم بگرده تو دیتابیس نشونش بده با مقدارهایی که داره
مثلا من فیلد های تاریخ - شماره - نام و نام خانوادگی - نام پدر - دادسرا - نوع دادسرا - مرخصی - توضیحات
وقتی من به اسم تو تکست باکس سرچ میکنم بر اساس اسم اون مشخصات دیگه رو هم بیاره
امیدوارم تونسته باشم درست توضیح داده باشم
ممنون
 

پیوست ها

  • mahdi.rar
    16 کیلوبایت · بازدیدها: 1

the_king

مدیرکل انجمن
سلام
من کل برنامه رو برات آپلود کردم یه لطفی بکن یه نگاهی بهش بنداز ببین جایی مشکلی نداره؟
برا سرچ هم میخام تو فیلد نام و نام خانوادگی سرچ کنم
مثلا یه تکست باکس باشه وقتی اسمی توش مینویسم بگرده تو دیتابیس نشونش بده با مقدارهایی که داره
مثلا من فیلد های تاریخ - شماره - نام و نام خانوادگی - نام پدر - دادسرا - نوع دادسرا - مرخصی - توضیحات
وقتی من به اسم تو تکست باکس سرچ میکنم بر اساس اسم اون مشخصات دیگه رو هم بیاره
امیدوارم تونسته باشم درست توضیح داده باشم
ممنون
یه TextBox ای مثل Text1 روی فرم تون داشته باشید و برای دکمه جستجو همچین کدی رو بنویسید :
کد:
    Adodc1.Refresh
    If Text1.Text = "" Then
        Adodc1.Recordset.Filter = ""
    Else
        Adodc1.Recordset.Filter = "namel LIKE '*" & Text1.Text & "*'"
    End If
Adodc1.Recordset.Filter مسئول فیلتر کردن ئه، وقتی داخلش متنی مثل '*namel LIKE '*ali قرار بگیره، سطر هایی رو نشون میده که داخل فیلد namel شون ali باشه، حالا ابتدا یا انتهای یا وسط فرقی نمی کنه،
alireza و moradali رو هم قبول می کنه. اگه بجای LIKE از = استفاده کنید و * ها رو حذف کنید ، صریحا فقط همون عبارت رو قبول می کنه :
کد:
    Adodc1.Refresh
    If Text1.Text = "" Then
        Adodc1.Recordset.Filter = ""
    Else
        Adodc1.Recordset.Filter = "namel = '" & Text1.Text & "'"
    End If
 

havax

New Member
سلام به همگی
بالاخره این برنامه درست شد
کلا پروژه رو آپلود میکنم برا کسانی که میخان
:nokte:
پروژه برا VB6 - برا استفاده از تقویم باید کامپوننت تقویم FARDATE رو استفاده کنین همین;)
یه تشکر جانانه هم میکنم از کاربر :rose:(THE KING) :rose:که بیشترین کمک رو بهم کردن
 

پیوست ها

  • mahdi.rar
    82.1 کیلوبایت · بازدیدها: 2

جدیدترین ارسال ها

بالا