我在Microsoft Access中有一个带有两列的表。我希望将列表按其中一个分组,而另一列的信息应以斜杠分隔。我的代码可以运行,但是需要很长时间(超过两个小时)。是否有人有想法,如何以其他方式处理此问题?
我声明了一个函数(请参见下面的大代码)。在查询中,我使用SQL打开此函数
选择SQLListe(“从[表名]中选择[列2]从[列1] ='”&[column1]&“'”;“ /”;“ /”)作为结果 从[table_name]
正如我所说,这确实需要很长时间,其中包括表中的很多行。但是也许有人有主意。
谢谢!
Option Compare Database
Public Function SQLListe(ByVal SQL As String, _
Optional ByVal SepR As String = ";", _
Optional ByVal SepF As String = ";", _
Optional ByVal NoNullFields As Boolean = True) _
As String
Dim rs As DAO.Recordset
Dim i As Long
Dim Res As String
Dim Tmp As String
Set rs = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
On Error Resume Next
If Err.Number <> 0 Then
Res = "#Fehler"
Err.Clear
Else
On Error GoTo 0
Res = ""
Do While Not rs.EOF
Tmp = ""
For i = 0 To rs.Fields.Count - 1
If Not (NoNullFields And IsNull(rs(i))) Then
Tmp = Tmp & SepF & rs(i)
End If
Next
If Tmp <> "" Then
Res = Res & SepR & Mid(Tmp, Len(SepF) + 1)
End If
rs.MoveNext
Loop
If Res <> "" Then
Res = Mid(Res, Len(SepR) + 1)
End If
End If
If Not rs Is Nothing Then rs.Close: Set rs = Nothing
SQLListe = Res
End Function