shahmahi
دوشنبه 09 آذر 1388, 16:34 عصر
سلام
دوستان عزیز من میخوام که فقط تعدادی از رکوردهایی رو که کاربر انتخاب میکنه ، بفرستم برای نمایش و چاپ . با کمک یکی از کاربران تونستم این کار رو بکنم که کدش رو مشاهده میکنید .
Private Sub VS_KeyDown(KeyCode As Integer, Shift As Integer)
Dim rs As New ADODB.Recordset
If KeyCode = vbKeySpace Then
Dim bColor As String
bColor = VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1)
If Not bColor = &H8080FF Then
If rs.State = 1 Then rs.Close
rs.Open "Update WordDictionary Set RowSel = 1 where RowSel =" & VS.TextMatrix(VS.Row, 6), Conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = &H8080FF
Else
If rs.State = 1 Then rs.Close
rs.Open "Update WordDictionary Set RowSel = 0 where RowSel =" & VS.TextMatrix(VS.Row, 6), Conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = Default
End If
End If
End Sub
فقط مشکل اینجاست که با انتخاب رکورد مورد نظر توسط کاربر مقدار 1 درون تمام فیلدهای RowSel ریخته میشه در صورتی که باید فقط فیلد مربوط به اون رکورد که انتخاب شده 1 باشه و بقیه صفر که بعد وقتی خواستیم اون رکورد رو برای چاب بفرستیم بگیم تمام اون هایی رو که مقدار ش برابر 1 هستش ، فرستاده بشه .
لطفا راهنماییم کنید چطوری فقط رکوردهایی رو که انتخاب کردم مقدار RowSel برابر با 1 بشه و بقیه 0 باقی بمونه .:لبخندساده:
دوستان عزیز من میخوام که فقط تعدادی از رکوردهایی رو که کاربر انتخاب میکنه ، بفرستم برای نمایش و چاپ . با کمک یکی از کاربران تونستم این کار رو بکنم که کدش رو مشاهده میکنید .
Private Sub VS_KeyDown(KeyCode As Integer, Shift As Integer)
Dim rs As New ADODB.Recordset
If KeyCode = vbKeySpace Then
Dim bColor As String
bColor = VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1)
If Not bColor = &H8080FF Then
If rs.State = 1 Then rs.Close
rs.Open "Update WordDictionary Set RowSel = 1 where RowSel =" & VS.TextMatrix(VS.Row, 6), Conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = &H8080FF
Else
If rs.State = 1 Then rs.Close
rs.Open "Update WordDictionary Set RowSel = 0 where RowSel =" & VS.TextMatrix(VS.Row, 6), Conn, adOpenStatic, adLockOptimistic
VS.Cell(flexcpBackColor, VS.Row, 0, VS.Row, VS.Cols - 1) = Default
End If
End If
End Sub
فقط مشکل اینجاست که با انتخاب رکورد مورد نظر توسط کاربر مقدار 1 درون تمام فیلدهای RowSel ریخته میشه در صورتی که باید فقط فیلد مربوط به اون رکورد که انتخاب شده 1 باشه و بقیه صفر که بعد وقتی خواستیم اون رکورد رو برای چاب بفرستیم بگیم تمام اون هایی رو که مقدار ش برابر 1 هستش ، فرستاده بشه .
لطفا راهنماییم کنید چطوری فقط رکوردهایی رو که انتخاب کردم مقدار RowSel برابر با 1 بشه و بقیه 0 باقی بمونه .:لبخندساده: