alohn
Thành viên chính thức


- Tham gia
- 21/12/07
- Bài viết
- 59
- Được thích
- 13
Mình thực hiện kết nối đến CSDL SQL thông qua ADO, dữ liệu đã truy vấn được, nhưng không hiện dòng tiêu đề của các trường, nhờ các cao thu chỉ dẫn làm thế nào khi truy xuất lấy được tên trường của bảng truy vấn. Làm thế nào để có thể đặt Name cho bảng truy vấn đó luôn. Cảm ơn mọi người nhiều.
Sub ketnoiSQL()
Public cnn As New ADODB.Connection, rs As ADODB.Recordset, mySql As String
Dim gServerName As String, gdatabase As String, gUID As String, gPwd As String
cnn.Open "Driver=SQL Server;Server=" & gServerName & ";UID=" & gUID & ";PWD=" & gPwd & ";DATABASE=" & gdatabase & ""
Set rs = New ADODB.Recordset
mySql = mySql & "Select B.InventoryItemCode, A.Unit, A.UnitPrice, A.RefDate From dbo.InventoryLedger As A Join" & vbCrLf
mySql = mySql & "(Select IL.InventoryItemID, II.InventoryItemCode As InventoryItemCode, Max(IL.RefDate) As RefDate " & vbCrLf
mySql = mySql & "FROM dbo.InventoryLedger As IL INNER JOIN dbo.InventoryItem As II ON IL.InventoryItemID = II.InventoryItemID " & vbCrLf
mySql = mySql & "Where IL.AccountNumber = '152' and IL.CorrespondingAccountNumber = '331' Group by II.InventoryItemCode, IL.InventoryItemID " & vbCrLf
mySql = mySql & ") As B On A.RefDate = B.Refdate and A.InventoryItemID = B.InventoryItemID" & vbCrLf
mySql = mySql & "Where A.AccountNumber = '152' and A.CorrespondingAccountNumber = '331' "
rs.Open mySql, cnn, adOpenKeyset, adLockOptimistic
Sheet18.Range("D4").CopyFromRecordset rs
End sub
Sub ketnoiSQL()
Public cnn As New ADODB.Connection, rs As ADODB.Recordset, mySql As String
Dim gServerName As String, gdatabase As String, gUID As String, gPwd As String
cnn.Open "Driver=SQL Server;Server=" & gServerName & ";UID=" & gUID & ";PWD=" & gPwd & ";DATABASE=" & gdatabase & ""
Set rs = New ADODB.Recordset
mySql = mySql & "Select B.InventoryItemCode, A.Unit, A.UnitPrice, A.RefDate From dbo.InventoryLedger As A Join" & vbCrLf
mySql = mySql & "(Select IL.InventoryItemID, II.InventoryItemCode As InventoryItemCode, Max(IL.RefDate) As RefDate " & vbCrLf
mySql = mySql & "FROM dbo.InventoryLedger As IL INNER JOIN dbo.InventoryItem As II ON IL.InventoryItemID = II.InventoryItemID " & vbCrLf
mySql = mySql & "Where IL.AccountNumber = '152' and IL.CorrespondingAccountNumber = '331' Group by II.InventoryItemCode, IL.InventoryItemID " & vbCrLf
mySql = mySql & ") As B On A.RefDate = B.Refdate and A.InventoryItemID = B.InventoryItemID" & vbCrLf
mySql = mySql & "Where A.AccountNumber = '152' and A.CorrespondingAccountNumber = '331' "
rs.Open mySql, cnn, adOpenKeyset, adLockOptimistic
Sheet18.Range("D4").CopyFromRecordset rs
End sub