ورود

View Full Version : فرم ویرایش



LEILAFATHI
شنبه 20 بهمن 1386, 01:29 صبح
دوستان خسته نباشین

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



strsql = "select * from ostaddars where id='" + Form25.Text1.Text + "' "



مثلا اگر یه درسی رو 2 تا استاد برداشته باشند (هر درسی یه کد منحصر به فرد داره)
کد درس26 عنوان درس فیزیک
در صفحه فرم ویرایش اصلی من یک سری
بین فیلدها ado که بتونم با ado گذاشتم و یه combobox
حرکت کنم. (منظورنم اینکه بین رکودرهایی که فیلد کد درسشون مثلا برابر 26 باشه ولی وقتی بین فیلدها حرکت می کنم رکورد اول رو نشون نمیده چی کار باید انجام بدم.





On Error Resume Next
Dim k As Integer
Dim strsql As String
Dim strsql1 As String
On Error Resume Next
Dim accessfile As String
accessfile = App.Path + "setayesh.mdb"
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from ostaddars"

Combo9.DataField = "dars"
Combo10.DataField = "ostad"
Combo8.DataField = "week"
Combo5.DataField = "roz"
Combo6.DataField = "mah"
Combo7.DataField = "sal"
Combo4.DataField = "send"
Combo2.DataField = "ssh"
Combo1.DataField = "dsh"
Combo3.DataField = "dend"

strsql = "select * from ostaddars where id='" + Form25.Text1.Text + "' "
cnn70.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn70.CursorLocation = adUseClient
cnn70.Mode = adModeReadWrite
cnn70.Open App.Path + "setayesh.mdb"
rec70.Open strsql, cnn70, adOpenDynamic, adLockOptimistic, adCmdText

Combo9.Text = rec70("dars").Value
Combo10.Text = rec70.Fields("ostad").Value
Combo8.Text = rec70.Fields("week").Value
Combo5.Text = rec70.Fields("roz").Value
Combo6.Text = rec70.Fields("mah").Value
Combo2.Text = rec70.Fields("ssh").Value
Combo1.Text = rec70.Fields("dsh").Value
Combo2.Text = rec70.Fields("ssh").Value
Combo3.Text = rec70.Fields("dend").Value
Combo4.Text = rec70.Fields("send").Value
Combo7.Text = rec70.Fields("sal").Value


'por kardan combo dars********************
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn1.CursorLocation = adUseClient
cnn1.Mode = adModeReadWrite
cnn1.Open App.Path + "setayesh.mdb"
rec1.Open "table2", cnn1, adOpenDynamic, adLockOptimistic, adCmdTable

For k = 0 To rec1.RecordCount - 1
Combo9.AddItem rec1("dars").Value, k
rec1.MoveNext
Next k

cnn1.Close
rec1.Close
Set cnn1 = Nothing
Set rec1 = Nothing

'por kardan combo ostad************************
cnn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn2.CursorLocation = adUseClient
cnn2.Mode = adModeReadWrite
cnn2.Open App.Path + "setayesh.mdb"
rec2.Open "asatid", cnn2, adOpenDynamic, adLockOptimistic, adCmdTable
For k = 0 To rec2.RecordCount - 1
Combo10.AddItem rec2("nf").Value, k
rec2.MoveNext
Next k
cnn2.Close
rec2.Close
Set cnn2 = Nothing
Set rec2 = Nothing



رو هم انجام دادمado و comboboxتنطیمانت بین ها

bobrus
شنبه 20 بهمن 1386, 12:16 عصر
دوست عزیز این توضیحاتی که نوشتی خیلی نا مفهومه دقیقاً بگو چه کار می خوای بکنی یا تکه برنامت رو آپلود کن فکر کنم اینجوری زود تر به نتیجه برسی

LEILAFATHI
شنبه 20 بهمن 1386, 19:58 عصر
سلام ،خسته نباشین.
ایراد کارم این بود که باید این خط رو در این قسمت می نوشتم.
و برای اینکه ado فقط رکوردهایی که فیلد کد درسشان برابر با همون ورودی کاربر (مثلا 26 ) باشه رو فقط نشون بده باید از فیلتر
استفاده می کردم.
بازم از اینکه فرصت گذاشتین و کد رو خوندین یه دنیا ممنون.






Private Sub Form_Load()
On Error Resume Next
Dim k As Integer
Dim strsql As String
Dim strsql1 As String

On Error Resume Next
Dim accessfile As String
accessfile = App.Path + "setayesh.mdb"
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from ostaddars where id='" + Form25.Text1.Text + "' """
Adodc1.Recordset.Filter = "id =' " + Form25.Text1.Text + " ' "
Adodc1.Recordset.Filter = "id like '" & Form25.Text1.Text & "*'"
Set DataGrid1.DataSource = Adodc1
'DataGrid1.Refresh

Combo9.DataField = "dars"
Combo10.DataField = "ostad"
Combo8.DataField = "week"
Combo5.DataField = "roz"
Combo6.DataField = "mah"
Combo7.DataField = "sal"
Combo4.DataField = "send"
Combo2.DataField = "ssh"
Combo1.DataField = "dsh"
Combo3.DataField = "dend"


strsql = "select * from ostaddars where id='" + Form25.Text1.Text + "' "
cnn70.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn70.CursorLocation = adUseClient
cnn70.Mode = adModeReadWrite
cnn70.Open App.Path + "setayesh.mdb"
rec70.Open strsql, cnn70, adOpenDynamic, adLockOptimistic, adCmdText
'rec70.MoveFirst
Combo9.Text = rec70("dars").Value
Combo10.Text = rec70.Fields("ostad").Value
Combo8.Text = rec70.Fields("week").Value
Combo5.Text = rec70.Fields("roz").Value
Combo6.Text = rec70.Fields("mah").Value
Combo2.Text = rec70.Fields("ssh").Value
Combo1.Text = rec70.Fields("dsh").Value
Combo2.Text = rec70.Fields("ssh").Value
Combo3.Text = rec70.Fields("dend").Value
Combo4.Text = rec70.Fields("send").Value
Combo7.Text = rec70.Fields("sal").Value


'por kardan combo dars********************
cnn1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn1.CursorLocation = adUseClient
cnn1.Mode = adModeReadWrite
cnn1.Open App.Path + "setayesh.mdb"
rec1.Open "table2", cnn1, adOpenDynamic, adLockOptimistic, adCmdTable
For k = 0 To rec1.RecordCount - 1
Combo9.AddItem rec1("dars").Value, k
rec1.MoveNext
Next k
Combo9.Text = rec70("dars").Value
cnn1.Close
rec1.Close
Set cnn1 = Nothing
Set rec1 = Nothing

'por kardan combo ostad************************
cnn2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & accessfile
cnn2.CursorLocation = adUseClient
cnn2.Mode = adModeReadWrite
cnn2.Open App.Path + "setayesh.mdb"
rec2.Open "asatid", cnn2, adOpenDynamic, adLockOptimistic, adCmdTable
For k = 0 To rec2.RecordCount - 1
Combo10.AddItem rec2("nf").Value, k
rec2.MoveNext
Next k
Combo10.Text = rec70.Fields("ostad").Value
cnn2.Close
rec2.Close
Set cnn2 = Nothing
Set rec2 = Nothing
End Sub