0
您好我有以下爲concate多個記錄訪問數據庫模塊插入一條記錄查詢到多個記錄合併到一條記錄在訪問和vb.net
Option Compare Database
Function Concatenate(pstrSQL As String, _
Optional pstrDelim As String = ", ") _
As String
Dim rs As New ADODB.Recordset
rs.Open pstrSQL, CurrentProject.Connection, _
adOpenKeyset, adLockOptimistic
Dim strConcat As String 'build return string
With rs
If Not .EOF Then
.MoveFirst
Do While Not .EOF
strConcat = strConcat & _
.Fields(0) & pstrDelim
.MoveNext
Loop
End If
.Close
End With
Set rs = Nothing
If Len(strConcat) > 0 Then
strConcat = Left(strConcat, _
Len(strConcat) - Len(pstrDelim))
End If
Concatenate = strConcat
End Function
,這裏是我的查詢
SELECT Po_Master.PoNo, Po_Master.PartyName, Po_Master.PoDate, Po_Master.DeliveryDate, Concatenate("SELECT ItemDescription & Chr(9) & Qty FROM Po_Detail WHERE PoNo =" & [PoNo]) AS OrderDetail
FROM Po_Master;
這個查詢和函數在訪問數據庫上工作,但是當我在vb.net中調用時,它顯示錯誤oledb異常是unhandeld未定義的函數表達式中的「連接」。
Dim ds As New DataSet()
Dim str As String
Dim da As OleDb.OleDbDataAdapter
str = "Select distinct PoNo,PoDate,DeliveryDate,PartyName,OrderDetail from SearchPo"
da = New OleDb.OleDbDataAdapter(str, clsconn.conn)
da.Fill(ds, "SearchPo")
dt = ds.Tables("SearchPo") 'creati
'MyDataGridView1.AutoGenerateColumns = False
dgvSearch1.DataSource = dt
如何粘貼在vb.net的創建者 –
@zahidmahmood有很多不同的方法來做到這一點。如果我面臨的任務是使用[LINQ to DataSet](http://msdn.microsoft.com/zh-cn/library/bb386977.aspx)進行調查,但您可能更喜歡其他方法。如果你搜索Stack Overflow,你會發現一些關於這個主題的問題。 –