Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

sky 發問時間: 電腦與網際網路程式設計 · 1 0 年前

VB連結Access

手邊有一個問題想問一下,有關於VB連結ACCESS的問題

已經有用Access建立資料庫

總共有四個欄位,用COMBO顯示,共有兩個COMBO,一個LISTBOX

每個欄位都有相關,第一欄位為車廠名稱,第二欄位為車型,第三欄位為車長,第四欄位為車寬

我可以做出第一欄位的東西在COMBO顯示出來,可是第二欄位要顯示出來會顯示全部的東西

不能顯示跟第一欄位有相關的東西而已,例如:第一欄位為賓士,第二欄位為SLK

但是我現在第二欄位顯示出來的為全部的車型,不能只顯示跟賓士有關的車型

還有選完第二欄位完後,有關SLK車型的資料如第三,第四欄位的尺寸要顯示在LISTBOX上面該如何編寫程式碼

請麻煩教一下,謝謝!!

Private Sub Form_Load()

DataGrid1.Col = 1

For i = 0 To Adodc1.Recordset.RecordCount - 1

Adodc1.Recordset.MoveFirst

DataGrid1.Row = i

com1.AddItem DataGrid1

Next

DataGrid1.Col = 2

For i = 0 To Adodc1.Recordset.RecordCount - 1

Adodc1.Recordset.MoveFirst

DataGrid1.Row = i

com2.AddItem DataGrid1

Next

End Sub

(以上是我現在的程式碼)

已更新項目:

執行的時候

在 a=0 那一列出現

編譯錯誤:無法指定至陣列

那是怎麼回事呢

麻煩告知ㄧ下

2 個已更新項目:

那問題已解決了

可是執行的時候只有combo1有出現資料

combo2和list1都沒有資料顯示

Adodc1.Recordset.Filter = "car LIKE '" & combo1 & "'"

上列這樣打對嗎??

引號(")部分好像怪怪的

幫我檢查一下

謝謝

3 個已更新項目:

謝謝,我可以LIST出來了,之前的問題也解決了,

我再問一個問題,就是怎麼把LIST出來的數據的其中一項

例如試車寬那一向的數值,運用到下一個Form裡面呢

該如何去抓到其中一項的數值,麻煩告知,謝謝

1 個解答

評分
  • 水月
    Lv 6
    1 0 年前
    最佳解答

    你將程式改為下列的程式試試看,你要的功能必須用到篩選,下面的程式是,讀取資料表的欄位後,會把有重複的過濾掉。

    Private Sub Form_Load()

    DataGrid1.Col = 1

    For i = 0 To Adodc1.Recordset.RecordCount - 1

    Adodc1.Recordset.MoveFirst

    DataGrid1.Row = i

    a = 0

    For j = 0 To Combo1.ListCount - 1

    If Combo1.List(j) = DataGrid1 Then

    a = 1

    Exit For

    End If

    Next

    If a = 0 Then

    Combo1.AddItem DataGrid1

    End If

    Next

    End Sub

    Private Sub Combo1_Click()

    If Combo1 <> "" Then

    Combo2.Clear

    Adodc1.Recordset.Filter = "車廠名稱 LIKE '" & Combo1 & "'" '車廠名稱就是資料庫欄位名稱

    DataGrid1.Col = 2

    For i = 0 To Adodc1.Recordset.RecordCount - 1

    Adodc1.Recordset.MoveFirst

    DataGrid1.Row = i

    a = 0

    For j = 0 To Combo2.ListCount - 1

    If Combo2.List(j) = DataGrid1 Then

    a = 1

    Exit For

    End If

    Next

    If a = 0 Then

    Combo2.AddItem DataGrid1

    End If

    Next

    Adodc1.Recordset.MoveFirst

    End If

    End Sub

    2007-05-18 09:13:08 補充:

    這一行這樣打是對的,你的car是資料庫欄位就沒有錯了。

    Adodc1.Recordset.Filter = "car LIKE '" & Combo1 & "'"

    沒有資料的話,你看一下下面這行的欄位是不是有選對。

    DataGrid1.Col = 2

    目前我給你的程式沒有寫List顯示,要用List顯示,方法就跟Combo1,Combo2一樣你再試試看。

還有問題?馬上發問,尋求解答。