本文章最後由 site-admin 於 2015-12-27 15:40 編輯 版本:6.0
資料庫:access 2000
這一段是即時查詢..也就是我在textbox輸入資料時,Datagrid會立即過濾查出我需要的資料..
相關語法如下..(DataGrid允許更新、寫入、刪除已關閉)
Private Sub InputText_Change(Index As Integer)
Dim MName As String
MName = Trim(InputText(0).Text)
If MName = "*" Then
Message = MsgBox("請勿輸入萬用字元符號", vbOKOnly, "提示")
InputText(0).Text = ""
Else
If MName = "" Then
S_Data.Recordset.Filter = "S_Name ''"
Else
S_Data.Recordset.Filter = "S_Name like '" & MName & "%'"
End If
End If
End Sub
上面這個部分的動態查詢沒有問題,但是查詢後可能會有2~3筆相同紀錄顯示在DataGrid上(例如同名同姓,但是住在不一樣的地方),若此時我要再去選DataGrid的非第一筆資料,丟回InputText(0).text內時卻無法正確完成。Datagrid的指標迸沒有跟著滑鼠的點選到到其他筆,他依然卡在第1筆資料上面。
於是我又使用下面語法嘗試..
Private Sub S_DataGrid_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
InputText(0).Text = S_Data.Recordset("S_Name") '選取S_DataGrid時將資料丟回輸入區InputText(0).text
End Sub
結果還是不行..請問後續的這個回傳問題應該如何解決,謝謝。
[ 本文最後由 zankuro 於 2008-6-23 14:49 編輯 ] [/quote]
幾天前讓板友們找出這一篇....(老實說我也忘記有這篇了),標題應該是在最後加上請刪除吧,原因嘛...
應該是無解,昨天請前公司的同事將source code再回傳給我....對了一下,找到這一段,算是暫行的解決方法..
(相關運作功能等下班後再逐條看過....XD)
'動態查詢功能
Private Sub InputText_Change(Index As Integer)
SongDataGrid.AllowUpdate = False
'SongData.Enabled = False
Call InputOnMode
Dim MName As String
MName = Trim(InputText(0).Text)
If MName = "*" Then
Message = MsgBox("請勿輸入萬用字元符號", vbOKOnly, "提示")
InputText(0).Text = ""
Else
If MName = "" Then
SongData.Recordset.Filter = "SongName <> ''"
Else
If SongData.Recordset.RecordCount = 0 Then
AddNewCheck.Caption = 1 '新資料指標啟動
Else
SongData.Recordset.Filter = "SongName like '" & MName & "%'"
End If
End If
End If
End Sub
JSD-Google [/img] :.| ..тт [/url] |