Мой руководитель попросил меня отладить недавнюю программу в vb6. У меня есть только базовые знания в vb. Когда я пытаюсь запустить программу, отображается несоответствие аргумента byref. Кто-нибудь может мне с этим помочь. Буду признателен за любые комментарии.byRef аргумент типа несоответствие help any
Public Sub S2_Sort()
'loop day
For dCnt = 1 To UBound(S2.Day())
ReDim S2.Day(dCnt).tList(0)
'loop shift
For tCnt = 1 To UBound(TaskID())
ReDim Preserve S2.Day(dCnt).tList(tCnt)
ReDim Preserve S2.Day(dCnt).tList(tCnt).sList(0)
'dicShift.RemoveAll
'loop task
For sCnt = 1 To UBound(Shift())
ReDim Preserve S2.Day(dCnt).tList(tCnt).sList(sCnt)
ReDim Preserve S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(0)
'query with paramaters for project, datetime, and taskid
strQuery = "SELECT * FROM PROD_DB WHERE PROJECT_ID = '" & inpProject & "'" & _
" AND " & GetTimestamp(S2.Day(dCnt).DayVal, Shift(sCnt).NextDay, True, Shift(sCnt).StartHour, _
Shift(sCnt).HourLen) & _
" AND TASK_ID = '" & TaskID(tCnt).TaskID & "'" & _
" ORDER BY START_TIME, TASK_ID"
Set rstInfo = AdoConn.Execute(strQuery)
If Not (rstInfo.EOF And rstInfo.BOF) Then
rstInfo.MoveFirst
wCnt = 0
Do Until rstInfo.EOF
wCnt = wCnt + 1
ReDim Preserve S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(wCnt)
'save the records to a arraylist datarecord
Call SetDataRecord(rstInfo, wCnt)
'then compute, get the work time number and list it on stLIst
S2.Day(dCnt).tList(tCnt).sList(sCnt).Val = S2_Compute(S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(wCnt), S2.Day(dCnt).tList(tCnt).sList(sCnt).Val)
S2.Day(dCnt).tList(tCnt).Val = S2_Compute(S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(wCnt), S2.Day(dCnt).tList(tCnt).Val)
'S2.Day(dCnt).tList(tCnt).MstUnit = DataRecord(X).MeasurementUnit
'S2.Day(dCnt).tList(tCnt).Cost = DataRecord(X).Cost
S2.Day(dCnt).tList(tCnt).ResourceName = S2.Day(dCnt).tList(tCnt).ResourceName + S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(wCnt).ResourceName
S2.Day(dCnt).Val = S2_Compute(S2.Day(dCnt).tList(tCnt).sList(sCnt).TaskRecList(wCnt), S2.Day(dCnt).Val)
rstInfo.MoveNext
Loop
End If
Set rstInfo = Nothing
Next sCnt 'Next Shift
Next tCnt 'Next Task
Next dCnt 'Next Day
End Sub
Добро пожаловать в StackOverflow. Пожалуйста, сделайте что-нибудь свое домашнее задание и добавьте то, что вы пробовали, и где вы потерпели неудачу. – rekire
Я действительно не знаю, что я делаю здесь. если вы можете понять, что этот код может описать, что означает переменная tCnt и что означает S2.day? все, что я сделал здесь, это изменение поставщика и условия данных, имеющих нулевое значение. кроме этого, я не знаю, что на самом деле происходит в этой программе. –
В основном запрос с параметрами для проекта, даты и времени и taskid - это то место, где появляется ошибка. и я действительно не получаю эту часть программы. –