請教各位,我現在想學有關銷貨單的東西,
現在我有二個SQL Table---A,B
A裡面有A01(單號),A02(客編)------(A01設Key,銷貨單的主檔)
B裡面有A01(單號),B01(序號),B02(品名)(銷貨單的明細,因為單號和序號和品名都有可能重覆,所以沒能設Key值,我設A01,B01為Primary)
在表單內,
有二個TextBox,是拿來放A01,A02
然後有一個DataGrid,是放B01,B02
其中的A,B裡的A01二個有關連性
現在,我用
SELECT A.A01 AS F001, A.A02 AS F002, B.B01 AS F003, B.B02 AS F004 FROM A INNER JOIN B ON A.A01 = B.A01 WHERE (A.A01 = '1') ORDER BY A.A01
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
A01 = rs("F001")
A02 = rs("F002")
Set DataGrid1.DataSource = rs
假設,在Table A那裡有找1筆資料,而Table B那裡找到5筆資料
所以在TextBox那裡,A01,A02就會顯示Table A的資料
在DataGrid1那裡,會顯示5筆資料
現在我想要刪除DataGrid裡的其中一筆,我點了其中一筆()
Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 46 And rs.Bookmark Then '46是Del按鍵
rs.Delete
rs.Requery
End If
End Sub
當我按下Del按鍵時,它總是說
"更新或重整所需索引鍵資料行資訊不足"
請問我該如何處理呢,謝謝各位
現在我有二個SQL Table---A,B
A裡面有A01(單號),A02(客編)------(A01設Key,銷貨單的主檔)
B裡面有A01(單號),B01(序號),B02(品名)(銷貨單的明細,因為單號和序號和品名都有可能重覆,所以沒能設Key值,我設A01,B01為Primary)
在表單內,
有二個TextBox,是拿來放A01,A02
然後有一個DataGrid,是放B01,B02
其中的A,B裡的A01二個有關連性
現在,我用
SELECT A.A01 AS F001, A.A02 AS F002, B.B01 AS F003, B.B02 AS F004 FROM A INNER JOIN B ON A.A01 = B.A01 WHERE (A.A01 = '1') ORDER BY A.A01
rs.CursorLocation = adUseClient
rs.Open sql, conn, adOpenKeyset, adLockPessimistic
A01 = rs("F001")
A02 = rs("F002")
Set DataGrid1.DataSource = rs
假設,在Table A那裡有找1筆資料,而Table B那裡找到5筆資料
所以在TextBox那裡,A01,A02就會顯示Table A的資料
在DataGrid1那裡,會顯示5筆資料
現在我想要刪除DataGrid裡的其中一筆,我點了其中一筆()
Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 46 And rs.Bookmark Then '46是Del按鍵
rs.Delete
rs.Requery
End If
End Sub
當我按下Del按鍵時,它總是說
"更新或重整所需索引鍵資料行資訊不足"
請問我該如何處理呢,謝謝各位
文章標籤
全站熱搜

這通常是Table沒有唯一的索引鍵值讓它足以辦認是要更新那一筆記錄!! 解決方法: 該Table至少建立一個唯一鍵值的索引檔!
謝謝你的幫忙 因為我的單號和序號和品名都有可能重覆,所以無法設定唯一值 那麼我不就得再多一個欄位,來做成Key值嗎 謝謝
我的習慣通作會多做一個ID欄位,來做索引直,選擇自動編號,但是程式中我並不會使用到他
好的,這樣我了解了,謝謝各位的幫忙 ps:請問喔,SQL裡的自動編號是哪一個呢 我選擇uniqueidentifier,但是它不會自動跳號耶 是不是我選錯了呢,謝謝