PDA

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



nokhodi
سه شنبه 11 تیر 1387, 14:34 عصر
سلام...
توضیح دادن سوالم یکم سخته... سوالمو با عکس تو ضمیمه توضیح میدم و با کد زیر...

تو عکس زیر یه کمبو دیتا داریم در سمت راست با عنوان نام درس و یه کمبو دیتا دیگه داریم با نام مشخصه...
سوالم اینه که چطوری میشه درسی رو که در کمبو درس انتخاب میکنیم کدش تو جدول مشخصه انتخاب بشه و مشخصه های ا ون درس خاص بیاد...
حالا من تو کد نویسی کدی که تو تکس 6 نوشته میشه یعنی همون کد درس رو تو جدول مشخصه دارم جستجو میکنم چطوری و چه دستوری بدم که mcode(کد مشخصهای) اون درس رو برام بریزه تو کمبو 10 که همون کمبو مشخصه است...

http://barnamenevis.org/forum/attachment.php?attachmentid=19761&stc=1&d=1214908071



Private Sub DataCombo1_Click(Area As Integer)
On Error Resume Next
DataEnvironment1.rsCommand3.Filter = ("lname= '" + DataCombo1.Text + "' ")
Text6.Text = DataEnvironment1.rsCommand3.Fields("lcode")
Text(0).Text = DataEnvironment1.rsCommand3.Fields("ltunit")
Set db = OpenDatabase(App.path & "\bank.mdb")
Set rs = db.OpenRecordset("moshakhase", dbOpenDynaset)
s = Text6.Text
s = "lcode='" + s + "'"
rs.FindFirst s
If rs.NoMatch Then
MsgBox ("n")
Else
DataCombo9.ListField = DataEnvironment1.rsCommand5.Fields("mcode")
End If
End Sub



این خطی که قرمز است رو مشکل دارم دستورش اجرا نمیشه....جای این چی باید بزارم...

ali_habibi1384
سه شنبه 11 تیر 1387, 16:39 عصر
فکر می کنم هدف شما مکانیزه کردن سیتم مدارس هستش.
باید بگم تجزیه تحلیل شما اشتباه هستش. یک نسخه براتون از این برنامه رو واستون می زارم تا از اون نمونه برداری کنید . البته این نسخه اولیه برنامه هستش .
لطفا بعد از unzip کردن پوشه softwares رو با محتویاتش در درایو D کپی کنید چون لینکهای پایگاه داده رو پویا نکردم.
http://barnamenevis.org/forum/attachment.php?attachmentid=19768&stc=1&d=1214912046

اینم صفحه اصلی برنامه
http://barnamenevis.org/forum/attachment.php?attachmentid=19769&stc=1&d=1214912329

nokhodi
سه شنبه 11 تیر 1387, 23:58 عصر
دوست عزیز ممنون و تشکر از مثالی که گذاشتین داره دانلود میشه ببینم مشک حل میشه یا نه...

ولی جواب سوالم نبود...

این سیستم واسه آموزش دانشگاست... کل پروزه کار میکنه و مشکلی نداره تنها موردی که امروز اضافه کردم مشخصه بود...

فقط میخوام مشخصه های اون درسی که در کمبو درس انتخاب میشه در کمبو مشخصه نشون بده دستور سرچ رو هم گذاشتم فقط و فقط اون خط قرمز رو مشکل دارم...
و مشکل فقط اینجاست که چطوری میتونم از طریق کد نویسی به خاصیت لیست فیلدش دسترسی پیداکنم و فیلد خاصی رو بهش بدم...(منظورم همون نتیجه جستجو هست)...


تشکر و سپاس...

barnamejoo
چهارشنبه 12 تیر 1387, 09:29 صبح
نخودی سلام :}
میشناسیم دیگه :D
اگر سورس رو بگذاری راحتتر میشه روش کار کرد ولی مثل همیشه من نظرم اینه که از کمبوی معمولی استفاده کنی و ItemData رو برابر با id رکوردت بگذاری. بعد توی رخداد کلیک میتونی هر شی دیگه ای که خواستی رو بر اساس اون id ، مقدار دهی کنی...

nokhodi
چهارشنبه 12 تیر 1387, 10:22 صبح
نخودی سلام :}
میشناسیم دیگه :D
اگر سورس رو بگذاری راحتتر میشه روش کار کرد ولی مثل همیشه من نظرم اینه که از کمبوی معمولی استفاده کنی و ItemData رو برابر با id رکوردت بگذاری. بعد توی رخداد کلیک میتونی هر شی دیگه ای که خواستی رو بر اساس اون id ، مقدار دهی کنی...

http://www.millan.net/minimations/smileys/wavesmile.gif
مرسی که اومدی...

سورس پ.خ شد...

درست میگی شما... من از اون به بعد تو پروژه هام همون کار رو کردم...
ولی این یکی واسه یکی از دوستامه که ترمه آخره و تا فردا پس فردا باید بهش بدم...:ناراحت:
کل پروژه کار میکنه فقط سره همین یه تیکه موندم...

barnamejoo
چهارشنبه 12 تیر 1387, 12:20 عصر
این کد رو تست کن. برای بقیه کمبوها هم مشابه همین استفاده کن فقط حواست باشه که اسم کمبو ها و تکست باکسها رو عوض کنی:


Private Sub DataCombo1_Click(Area As Integer)
On Error Resume Next
DataEnvironment1.rsCommand3.Filter = ("lname= '" + DataCombo1.Text + "' ")
Text6.Text = DataEnvironment1.rsCommand3.Fields("lcode")
Text(0).Text = DataEnvironment1.rsCommand3.Fields("ltunit")

Dim rs As ADODB.Recordset
Set rs = dfwConn.Execute("SELECT * FROM moshakhase WHERE lcode='" & Text6.Text & "'")
If rs.EOF And rs.BOF Then
MsgBox "No record!"
Else
Set DataCombo9.RowSource = rs
Set DataCombo9.DataSource = rs
DataCombo9.ListField = "mcode"
DataCombo9.DataField = "mcode"
End If
End Sub

http://my.blackmice.com/images/smilies/costum/monkey6[1].gif

nokhodi
چهارشنبه 12 تیر 1387, 12:33 عصر
این کد رو تست کن. برای بقیه کمبوها هم مشابه همین استفاده کن فقط حواست باشه که اسم کمبو ها و تکست باکسها رو عوض کنی:


Private Sub DataCombo1_Click(Area As Integer)
On Error Resume Next
DataEnvironment1.rsCommand3.Filter = ("lname= '" + DataCombo1.Text + "' ")
Text6.Text = DataEnvironment1.rsCommand3.Fields("lcode")
Text(0).Text = DataEnvironment1.rsCommand3.Fields("ltunit")

Dim rs As ADODB.Recordset
Set rs = dfwConn.Execute("SELECT * FROM moshakhase WHERE lcode='" & Text6.Text & "'")
If rs.EOF And rs.BOF Then
MsgBox "No record!"
Else
Set DataCombo9.RowSource = rs
Set DataCombo9.DataSource = rs
DataCombo9.ListField = "mcode"
DataCombo9.DataField = "mcode"
End If
End Sub

http://my.blackmice.com/images/smilies/costum/monkey6[1].gif


dfwConn..
من تو پروژه اصلا اینو ندارم..این چیه؟ کجا ایجادش کردین؟

barnamejoo
چهارشنبه 12 تیر 1387, 12:36 عصر
dfwConn..
من تو پروژه اصلا اینو ندارم..این چیه؟ کجا ایجادش کردین؟
این همون کانکشن اصلیه که توی ماژول ساخته میشه... فانکشن connect_database :D

nokhodi
چهارشنبه 12 تیر 1387, 12:57 عصر
اوه اوه...
راست میگی...اصلا حواسم نبود که اینو با ماژول نوشتم (چون نسخه قبلیشو با adodc نوشتم فک کردم همونه)

nokhodi
چهارشنبه 12 تیر 1387, 13:00 عصر
یه مشکل کوچولوی دیگه چرا وقتی برای اولین بار کلیک میکنیم هنوز چیزی انتخاب نکردیم not foud میده....

barnamejoo
چهارشنبه 12 تیر 1387, 13:08 عصر
یه مشکل کوچولوی دیگه چرا وقتی برای اولین بار کلیک میکنیم هنوز چیزی انتخاب نکردیم not foud میده....
برای اینکه توی ایونت Click گذاشتی کدها رو، تا روی کمبو کلیک میکنی اجرا میشه و مقدارش خالیه... بذارشون توی ایونت Change کمبو باکس ها... اگر میخوای اررور هم نشون نده میتونی اون MsgBox رو پاک کنی...

nokhodi
چهارشنبه 12 تیر 1387, 15:33 عصر
مشکل حل نشد...

برنامه جوی عزیز:
وقتی مثلا از یه درس (برنامه نویسی) 3 تا مشخصه ثبت میشه با سه استاد مختلف باید تو کمبو مشخصه هر سه کد بیان دیگه...ولی این کد فقط اولین مشخصه رو نشون میده بقیه ها رو نشون نمیده...

barnamejoo
چهارشنبه 12 تیر 1387, 23:30 عصر
مشکل حل نشد...

برنامه جوی عزیز:
وقتی مثلا از یه درس (برنامه نویسی) 3 تا مشخصه ثبت میشه با سه استاد مختلف باید تو کمبو مشخصه هر سه کد بیان دیگه...ولی این کد فقط اولین مشخصه رو نشون میده بقیه ها رو نشون نمیده...
مطمئنی کد رو درست نوشتی؟ برام پروژه رو بفرست...

nokhodi
پنج شنبه 13 تیر 1387, 00:11 صبح
ارسال شد...