Insert into
*) Mệnh đề SQL INSERT INTO: Là dùng để thêm mới dữ liệu.
*) Cú Pháp:
Cách 1: Chèn thêm dòng không theo tên cột, dữ liệu sẽ được chèn vào CSDL theo thứ tự của cột.
Lưu ý: Cách này phải chèn toàn bộ cột theo thứ tự cột trong CSDL
[TIP]
INSERT INTO TênBảngCầnChèn
VALUES (GiáTrị1,GiáTrị2, GiáTrị3,...)[/TIP]
Cách 2: Chèn thêm dòng theo tên cột, dữ liệu sẽ được chèn vào CSDL theo tên cột.
[TIP]
INSERT INTO TênBảngCầnChèn (Cột1, Cột2, Cột3,...)
VALUES (GiáTrị1, GiáTrị2, GiáTrị3,...)[/TIP]
*) Ví dụ: Cũng với CSDL ở bài
2 tôi xin minh họa chèn dữ liệu theo từng cách ở trên như sau:
Cách 1:
Tôi chèn dòng sau vào bảng:
ID
|
PONO
|
W_HDATE
|
TP
|
MATERIAL NAME
|
SPEC 2
|
COLOR NAME
|
POQTY
|
INPUTQTY
|
BALANCE
|
UNIT
|
PRICE
|
M_UNIT
|
AMOUNT
|
ORIGIN
|
SUPPLIER
|
REMARK
500
|DW13GW019|
01/06/2013
|AA|MESH 192|44|BLACK|
1000
|
0
|
-1000
|YDS|
1.9
|USD.|
1900
|VIETNAM|YOO SUNG MESH|
[GPECODE=sql]Sub ChenDong1()
Dim cnn As Object: Dim rst As Object
Dim lsSQL As String
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
With cnn
.Provider = "Microsoft Jet 4.0 OLE DB Provider"
.ConnectionString = ThisWorkbook.Path & "\CSDL.mdb"
.Properties("Jet OLEDB

atabase Password") = "1234"
.Open
End With
lsSQL = "INSERT INTO tblData " & _
"VALUES (500,'DW13GW019', #6/1/2013#,'AA','MESH 192','44','BLACK',1000,0,-1000,'YDS',1.9,'USD.',1900,'VIETNAM','YOO SUNG MESH', NULL)"
rst.Open lsSQL, cnn
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Sub[/GPECODE]
Cách 2: Ví dụ tôi chèn ID=501,W_HDate=30/01/2013,Supplier=YOO SUNG MESH thì tôi sẽ viết như sau:
[GPECODE=sql]Sub ChenDong2()
Dim cnn As Object: Dim rst As Object
Dim lsSQL As String
Set cnn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
With cnn
.Provider = "Microsoft Jet 4.0 OLE DB Provider"
.ConnectionString = ThisWorkbook.Path & "\CSDL.mdb"
.Properties("Jet OLEDB

atabase Password") = "1234"
.Open
End With
lsSQL = "INSERT INTO tblData (ID,W_HDate,Supplier) " & _
"VALUES(501,#01/30/2013#,'YOO SUNG MESH')"
rst.Open lsSQL, cnn
Set rst = Nothing
cnn.Close
Set cnn = Nothing
End Sub
[/GPECODE]
Thì chỉ duy nhất 3 giá trị trên được chèn vào các cột tương ứng với nó, các cột khác sẽ bị trống.