1에서 테이블의 레코드 수로 이동하는 for 루프가 있습니다. 루프를 끝내고 기본적으로 클라이언트 이름의 첫 번째 단어가 이전 것과 동일한 내부 ID를 제공하기는하지만, 인덱스를 사용하여 레코드를 참조하는 방법을 잘 모르겠다면 기본적으로 말하고 싶습니다. mid 함수를 사용하여 비교하려는 이름의 일부를 추출합니다. 나는 오히려 Access에서 VBA에 새로운 것이므로이 주제에 대한 어떤 도움도 크게 감사 할 것입니다. 내가 지금까지 가지고있는 것을 풀었다.Access vba의 테이블을 반복하십시오.
Sub RevH()
Dim dte As String, clientQry As String, db As Database, clientTable As Recordset
Set db = CurrentDb
dte = InputBox("What date was the Data Dump run?", "Please Input a date")
clientQry = "SELECT DISTINCT t.[CLIENT ID], t.[CLIENT NAME] " & _
"INTO Clients " & _
"FROM FN_DataDump_ALL_" & dte & " as t WHERE " & _
"((t.[CLIENT NAME] Not Like ""*Test*"") AND (t.[CLIENT NAME] Not Like ""*Demo*"") AND (t.[CLIENT NAME] Not Like ""*Client*"")AND (t.[CLIENT NAME] Not Like ""Tufts"") AND (t.[CLIENT NAME] Not Like ""SCAN"") AND (t.[CLIENT NAME] Not Like ""US Script"") AND (t.[CLIENT NAME] Not Like ""Care1st Health Plan"") AND (t.[CLIENT NAME] Not Like ""PBM View"") AND (t.[CLIENT NAME]Not Like ""ScriptGuideRx"") AND (t.[CLIENT NAME] Not Like ""Argus"") AND (t.[CLIENT NAME] Not Like ""Centene"") AND (t.[CLIENT NAME] Not Like ""MMIT-FN - FormularyEditor"") AND (t.[CLIENT NAME] Not Like ""CVS Caremark"") AND (t.[CLIENT NAME] Not Like ""Caterpiller"") AND (t.[CLIENT NAME] Not Like ""Horizon BCBS"") AND (t.[CLIENT NAME] Not Like ""Health Net"") AND (t.[CLIENT NAME] Not Like ""CMS"")) " & _
"ORDER BY [CLIENT NAME]"
If TableExists("Clients") Then
CurrentDb.TableDefs.Delete ("Clients")
End If
CurrentDb.Execute clientQry
DoCmd.RunSQL "ALTER TABLE Clients ADD COLUMN [Internal_ID] DOUBLE;"
Set clientTable = CurrentDb.OpenRecordset("Clients")
For i = 1 To DCount("[CLIENT NAME]", "Clients")
Next i
End Sub
[user4095610] (http://stackoverflow.com/users/4095610/user4095610)? – HansUp
아니요? 왜 물어볼 거니? – user4248690
'clientQry'의 텍스트는 저에게 deja vu의 감각을주었습니다. – HansUp