데이터베이스에 3 개의 열과 csv 파일의 새 데이터를 db보기로 가져 오는 에이전트가 있습니다. 가져 오기 부분이 작동합니다. 내가해야 할 일은 csv 파일의 첫 번째 열을 데이터베이스의 첫 번째 열과 비교하는 것입니다. 일치하는 경우 세 번째 열을 변경해야합니다. 나는 LotusScript가 처음이다. 여기에 내 시도 (에이전트가 실행될 때 '유형 불일치'오류가 발생 함)가 있습니다. 에이전트가 첫 번째 열을 읽고 그것을 비교하고 일치하는 경우 대체하려면 어떻게합니까?LotusScript- csv 파일의 데이터와 Notes 데이터베이스의 데이터 비교
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.Currentdatabase
Dim uiws As New NotesUIWorkspace
Dim fileCSV As Variant
'Declare variables to hold data'
Dim FAC_CCN As String
Dim FAC_STATE As String
Dim FAC_ZIP As String
Dim counter As Long
Dim doc As NotesDocument
'Added this to get rid of error message that filenum had not been declared
Dim filenum As Integer
Dim view As NotesView
Set view = db.GetView("Input")
Set doc = view.GetFirstDocument
Dim item As NotesItem
counter=0
'setup file number
filenum% = FreeFile()
'Ask user for file location
fileCSV = uiws.OpenFileDialog(False, "Choose the CSV file,","*.csv","c:\ ")
'If the user chose a file then process
If Not IsEmpty(fileCSV) Then
Open fileCSV(0) For Input As filenum%
Do Until EOF(filenum%)
'Read a line of data
Input #filenum%,FAC_CCN, FAC_STATE, FAC_ZIP
'Create Notes document and write values to it
Set item = doc.GetItemValue("FAC_ZIP")(0)
If doc.FAC_ZIP = "FAC_ZIP" Then
Call doc.Replaceitemvalue("FAC_ZIP", FAC_ZIP)
End If
Set doc = db.CreateDocument
With doc
.FAC_CCN = FAC_CCN
.FAC_STATE= FAC_STATE
.FAC_ZIP = FAC_ZIP
.Form = "ccnForm"
End With
Call doc.Save(False, False)
Set doc = view.GetNextDocument(doc)
counter = counter + 1
'If counter = 10 Then Exit Sub
Loop
MsgBox "You imported " & counter & " records."
End If
이 보인다. LotusScript 도움말을 확인했고 구문이 좋습니다. 그러나 Object Variable Not Set 오류 메시지가 나타납니다. 내가 뭘 놓치고 있니? –
@LS_newbie 한 열로 새보기를 만들었습니까? – nempoBu4
예, 한 열로보기를 만들었습니다. 여전히 Object Variable Not Set 오류 메시지가 나타납니다. 또한 '하나의 열보기'에 대해 설명해 주시겠습니까? 3 열의 원본보기에는 이미 기존 데이터가 있습니다. 하나의 열이있는보기를 사용하면 문서가 어떻게 저장됩니까? –