가변 길이 문자열 모음 내의 용어 빈도를 계산하려고합니다. 컨텍스트는 Access 데이터베이스의 설명입니다. VBA에서 솔루션을 유지하는 것이 더 좋을 것입니다. 구분 기호는 ""(공백) 문자입니다. 특수 문자는 사전에 제거됩니다.VBA : 워드 주파수 배열
내 첫 번째 패스는 약간의 무차별 한 힘을 느낍니다. 나는 훨씬 더 효율적인 접근이 가능하다고 생각한다.
이Private Sub Command0_Click()
Dim myCol As Collection
Dim myArray() As String
Dim strArray As Variant
Dim strDescr, strTerm, strMsg As String
Dim i, j As Integer
Set myCol = New Collection
strDescr = "This is just a test only a test test test"
myArray = Split(strDescr, " ")
For Each strArray In myArray
On Error Resume Next
myCol.Add strArray, CStr(strArray)
Next strArray
For i = 1 To myCol.Count
strTerm = myCol(i)
j = 0
For Each strArray In myArray
If strArray = strTerm Then j = j + 1
Next strArray
'placeholder
strMsg = strMsg & strTerm & " | " & j & Chr(10) & Chr(13)
Next i
'placeholder
'save results into a table
MsgBox strMsg
End Sub
샘플 결과 :
다음으로,이를 확장 할 필요가 여기에
내가 어떤 내가 기대하는 결과를 제공하고, 하나의 문자열을 현재하고있는 무슨이다 배열과 컬렉션에 단어를 계속 추가하는 방식으로 레코드 세트를 단계별로 접근합니다. 레코드 세트는 30K 레코드 일 수 있으며, descr은 30-60 자입니다.질문 :
- 어떻게 레코드의 각 행에 대한 배열에 추가합니까?
- 레코드 수를 조정할 때이 방법이 실패합니까?
- 더 나은 접근 방법은 무엇입니까?
고마워요!
코민테른, 이것은 우수합니다. 제안 된 접근 방식을 주셔서 감사합니다! –