hanbaoquan1x
Thành viên mới
- Tham gia
- 26/8/12
- Bài viết
- 19
- Được thích
- 0
Do mình phải sử dụng hàm LEFT JOIN nên mình phải sử dụng hàm SELECT thay thế cho hàm INSERT... VALUES như ví dụ dưới đây. Mọi người có thể giúp mình sửa hàm INSERT...VALUES của ví dụ trên thành hàm SELECT có sử dụng INNER JOIN không? Do mình cũng muốn mặt hàng đó đã được insert lần đầu thì tạo mới với field No có định dạng Number thì No = 1 thì khi viết bằng hàm SELECT thì làm sao mà mình viết được?
Mã:
Private Sub cmdExcute_Click()
CommonDialog1.Filter = "(Microsoft Excel Workbook)|*.xls*"
CommonDialog1.ShowOpen
tb_upload.Text = CommonDialog1.FileName
End Sub
Private Sub cmdUpload_Click()
'On Error Resume Next
Dim ex As New Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim i As Long: i = 1
Dim con As New ADODB.Connection
Dim con1 As New ADODB.Connection
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TEST2.mdb;Persist Security Info=False"
con1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TEST2.mdb;Persist Security Info=False"
Set wb = ex.Workbooks.Open(tb_upload.Text, , True)
Set ws = wb.Worksheets(1)
Call dbConnection
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn
Do: i = i + 1
cmd.CommandText = "SELECT MAX([No]) as MaxField FROM SV Where MSSV = '" & ws.Range("C" & i) & "'"""
Set rs = cmd.Execute()
If rs.RecordCount > 0 And rs("MaxField") <> Empty Then
Dim sql, sql1 As String
sql1 = "UPDATE SV SET Status = 0 WHERE MSSV = '" & ws.Range("C" & i)
con.Open sql1
sql = "INSERT INTO SV([No],MSSV,MaLop,Ho,Ten,HanhKiem,[User],Status,[Date]) VALUES ('" & rs("MaxField") + 1 & "','" & ws.Range("C" & i).Value & "','" & ws.Range("A" & i).Value & "','" & ws.Range("D" & i).Value & "','" & ws.Range("E" & i).Value & "','" & ws.Range("F" & i).Value & "','" & tenUser & "','" & "-1" & "','" & NgayGioDangNhap & "')"
MsgBox con
con.Open sql
Else
con.Execute "INSERT INTO SV(No,MSSV,MaLop,Ho,Ten,HanhKiem,[User],Status,[Date]) VALUES (1,'" & ws.Range("C" & i).Value & "','" & ws.Range("A" & i).Value & "','" & ws.Range("D" & i).Value & "','" & ws.Range("E" & i).Value & "','" & ws.Range("F" & i).Value & "','" & tenUser & "','" & "-1" & "','" & NgayGioDangNhap & "')"
con1.Execute "INSERT INTO Lop(MaLop,TenLop) VALUES ('" & ws.Range("A" & i).Value & "', '" & ws.Range("B" & i).Value & "')"
End If
Loop Until ws.Range("A" & (i + 1)) = Empty
ex.Quit
Set ex = Nothing
con.Close
con1.Close
End Sub