access執行多條sql
⑴ 怎樣在access中使用sql語句為一張表添加多行
如果民數據來源於其他表,則一條語句可完成
如果是其他來源,就只能使用代碼完成
就是用多行
docmd.runsql "insert ........"
具體的,你可以把語句放到一個數組中,進行循環
也可以把語句放到另外一個表中
然後用DAO對象查詢出來,再循環執行
還可以放到一個文本文件中
用函數取出來循環執行
等等
⑵ ACCESS SQL 插入多行
一般是要用到循環的,目前SQL語句還沒有能自動插入你說的這種方式。
插入的SQL語句只有一種:
語法
INSERT
INTO
table_name
(列1,
列2,...)
VALUES
(值1,
值2,....)
你如果不想循環可以,那就是要手工多寫幾行語句。
你插入多個值,可以有兩種辦法來操作。
1,一種是一條一條的插入。有多少個記錄你就寫多少條SQL語句
如:
INSERT
INTO
table_name
(日期)
VALUES
('2001-03')
INSERT
INTO
table_name
(日期)
VALUES
('2001-04')
INSERT
INTO
table_name
(日期)
VALUES
('2001-05')
...
2,把你要插入的多個數值,寫入到一個語句中,只執行一次語句即可。
如:
INSERT
INTO
table_name
(日期)
SELECT
'2001-03'
UNION
SELECT
'2001-04'
UNION
SELECT
'2001-05'
...
⑶ access資料庫sql插入語句,插入多條怎麼寫
基本不用想了,access不支持在sql視圖里一次執行多個插入,用這個方法好了:
開始事務
try
{
執行第一條...
執行第2條...
.
.
.
執行第n條
提交事務
}
catch{rollback();}
string[]SQLStringList={sql1,sql2,sql3};
for(intn=0;n<SQLStringList.Length;n++)
{
stringstrsql=SQLStringList[n].ToString();
if(strsql.Trim().Length>1)
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();
}
}
cmd.Transaction.Commit();//提交事務
還有,你庫存量的欄位應該是個數字型的,為什麼要加引號呢?序號欄位如果也是數字類型,也改了吧
⑷ 如何在 ACCESS 2003 中一次執行多條SQL查詢語句
在ACCESS窗體里編寫VBA代碼可以一次執行多條SQL語句
例如:
PrivateSubCommand1_Click()
DimSql1AsString,Sql2,AsString,Sql3AsString
Sql1="insertintot1(id,name)values('001','Zhangsan');"
Sql2="insertintot1(id,name)values('002','Lisi');"
Sql3="insertintot1(id,name)values('003','Wanghwu');"
WithCurrentProject.Connection
.ExecuteSql1
.ExecuteSql2
.ExecuteSql3
EndWith
EndSub
前提是每條SQL語句都是可以被正確執行的
⑸ 如何在access中同時提交多條sql語句
使用ACCESS查詢對象是無法一次運行多個SQL語句的,但是通過ACCESS VBA代碼可以實現一次運行多個SQL語句。下面是具體實現方案;
1)新建一個ACCESS窗體,窗體添加一個命令按鈕;
2)編寫按鈕單擊事件過程
1
2
3
4
5
6
7
Private Sub Command1_Click()
Dim strSql as string
strSQL="Update Policy SET LatestDueDate=Year(Date()) & '-' & Format(PolicyDate,'mm-dd')"
DoCmd.RunSql strSQL '運行第一個更新語句
strSQL="UPDATE Policy SET LatestDueDate= DateAdd('yyyy',1,LatestDueDate) WHERE (((Month(Date())-Month(LatestDueDate)) > 6) and(PaymentMode='H'))"
DoCmd.RunSql strSQL '運行第二個更新語句
End Sub
跟著點擊該命令按鈕就可以一次執行兩條語句了。
*******不過這里必須指出樓主這種通過UPDATE更新來獲取繳費提醒的辦法絕對是一種非常糟糕的解決方案,其壞處除了你說的,我可以指出N多條!具體就不說了。******
其實要獲取你要獲取保單續期提醒日期,無需分兩步只要一句SELECT語句就能搞定,完全沒必要去更新數據表。
將下列SQL語句保存為一個名為「RenewAlertPolicies的選擇查詢
1
2
select PolicyNo,PolicyDate,DateAdd('yyyy',1,PolicyDueDate) as LatestDueDate
from Policy where DateDiff('m',PolicyDate, Date()) > 6 order by PolicyDate desc;
注意:上面「保單號」欄位名是我虛構的,請替換為實際的保單號欄位名。如果不想看太舊的保單,篩選可以用時間段來限制,例如...where DateDiff('m',PolicyDate, Date()) between 7 and 12 ....
當你要查看需要提示續保的保單列表時,簡單地雙擊該查詢就好了,你可以隨要隨查,非常方便,查詢結果將會展示最新的情況,完全沒必要去考慮如何更新LatestDueDate的問題。