我正在學Visual Basic 6.0,看了好幾本書,就是在實際應用的時候,常遇到從一個數據表調用數據到另一數據表中,書本里講得很泛,我不知如何操作,請各位高手指點迷津。謝謝!
熱心網友
建議父表增加2個字段,1個字段命名為物資代碼,作主關鍵字,應具有唯一性;另1字段命名為檢索代碼。子表增加1個字段命名為物資代碼。它們用作父表與子表的關聯詞。另外父表可將單價字段取消,因為單價可能變化。子表應去掉品名、規格等字段這可減少大量的數據冗余,對數據庫維護不利,但不影響數據輸入及查詢。檢索代碼用于品名的拼音檢索用。例:自行車為ZXC、主板為ZB等等。 父表用DataCombo控件只能綁定1個字段。應選DataGrid控件,它可綁定多個字段。 其中按鍵自動檢索功能代碼如下:Private Sub Text1_Change() Text1 = UCase$(Text1) Adodc1。ConnectionString = "Provider=Microsoft。Jet。OLEDB。4。0;Data Source=D:\DATA_REF\ b;Persist Security Info=False" Adodc1。RecordSource = "select * from wz_BM where " & _ " 檢索代碼 like'" & Text1 & "%' order by 檢索代碼" Adodc1。Refresh n = Len(Text1) Text1。SelStart = n Text1。SelLength = 1 DataGrid1。Visible = True Adodc1。Visible = TrueEnd Sub 父子表關聯代碼如下:Private Sub DataGrid1_Click() zh_dm(0) = Adodc1。Recordset(0) zh_dm(1) = Adodc1。Recordset(1) zh_dm(3) = Adodc1。Recordset(4) Adodc2。ConnectionString = "Provider=Microsoft。Jet。OLEDB。4。0;Data Source=D:\DATA_REF\ b;Persist Security Info=False" Adodc2。RecordSource = "select * from wz_jink" & " where 物資代碼 ='" & zh_dm(1) & "'" Adodc2。Refresh Text3。SetFocus Label2。Visible = FalseEnd Sub提問者應多學習參考SQL查詢語言,編寫所需代碼。下附VB工程及數據庫供提問者參考,整個目錄解壓縮于D:\根目錄下。。
熱心網友
建議title寫清楚些,庫間操作和表間操作差很遠的。裝個sqlserver,找本21天精通sql之類的書,學好后再想這種不是問題的問題
熱心網友
不是書本寫的很泛,而是數據庫編程要求盡量避免這種行為。數據庫要求盡量使用通過定義表間的連接建立的查詢,而不是建立多個表再通過程序互相更新,象你那樣的做法雖然在數據調用上比較直觀,但將使數據產生大量的冗余,運行效率也差。建議先學習建立查詢,自如地在數據集中直接調用各個表中的字段進行操作,這樣基本就不需要用一個表中的數據更新另一個表中的數據。