我要求實作的目的是:要求利用sql陳述句實作在同一個表格中復制一整行資料到最后一行,
該表格有以下兩個特點
1、行有主鍵,主鍵自動增加,
2、列標題很多
遇到的問題是 采用sql陳述句 sql="insert into " & Me.Name & " select * from " & Me.Name & " where 樣式名稱 = '" & rs.Fields("樣式名稱") & "'"
總是提示“由于將在索引、 主關鍵字、或關系中創建重復的值,請求對表的改變沒有成功。 改變該欄位中的或包含重復資料的欄位中的資料,洗掉索引或重新定義索引以允許重復的值并再試一次。”,我認為主要原因是復制整條記錄 在在最后插入記錄的時候 主鍵id號也復制了同樣的id,這個時候id卻沒有自動增加,所以主鍵重復,復制插入失敗,請教高手給與指點,感
uj5u.com熱心網友回復:
insert into 表(欄位串列) select 欄位串列 from 表 where 條件uj5u.com熱心網友回復:
回復樓上的,我的欄位很多,欄位串列大概幾十個,你的方法雖然可行,但是程式的可讀性不好,uj5u.com熱心網友回復:
使用欄位串列是最簡捷的方法了。有幾十個欄位?表設計不講究了吧。其實,你大可以將欄位表賦予一個字串變數或常量,在 SQL 陳述句中參考即可。
如果一定不用欄位串列,可以使用一個臨時表:
"Delete From Temp"
"insert into Temp select * from " & Me.Name & " where 樣式名稱 = '" & rs.Fields("樣式名稱") & "'"
"Update Temp Set ID = ''"
"insert into " & Me.Name & " select * from Temp"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/110955.html
上一篇:軟體多用戶使用,一個用戶修改資料,其他用戶都可以看到
下一篇:關于程式呼叫命令SHELL
