找回密碼
 註冊

問個VB資料庫程式部分(已解決)

来源: 新聞 zankuro 2008-6-18 13:23 只看這個作者 |閱讀模式
1 6187
本文章最後由 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 編輯 ]
[ 本文章最後由 bioforgeka 於 2011-4-6 08:18 編輯 ]

JSD-Google [/img] :.| ..ダダ [/url]
收藏
收藏0
PM的請輕聲細語...有話慢慢講...感謝您的合作...

要找站規?請點這裡。 搜尋功能?請點這裡

網友回覆1

跳到指定樓層
本文章最後由 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]
PM的請輕聲細語...有話慢慢講...感謝您的合作...

要找站規?請點這裡。 搜尋功能?請點這裡