Private Sub createSequenceDataFiles_Sequence(sPath As String, sTableName As String, iSeqNo As Integer)
Dim RST As DAO.Recordset
Dim nIL As Long, nLastIL As Long
Dim sSQL As String
'
' Get the data from the table
'
sSQL = _
" SELECT [“ & sTableName & “].IL, “ & _
“ [XL]-[FIRST_XL]+1 AS XL_IDX, “ & _
“ [“ & sTableName & “] “ & _
“ FROM [“ & sTableName & “] “ & _
“ INNER JOIN TBL_FIRST_XL_FOR_IL “ & _
“ ON [“ & sTableName & “].IL = TBL_FIRST_XL_FOR_IL.IL “ & _
“ ORDER BY [“ & sTableName & ”].IL, [XL]-[FIRST_XL]+1”
Set RST = CurrentDb.OpenRecordset(sSQL)
While Not RST.EOF
nIL = RST("IL").Value
If Not (nLastIL = nIL) Then
'
' If we've already done one, close the file
'
If nLastIL > 0 Then Close #1
'
' Open the file for the current in-line
'
Open sPath & "\WBS1\IL_" & Format(nIL, "0000") & ".pks" For Append As 1
End If
'
' Write the data
'
Write #1, iSeqNo, RST(“XL_IDX”).value + 1, RST("TIME").Value
nLastIL = nIL
RST.MoveNext
Wend
'
' Close
'
Set RST = Nothing
Close
End Sub
Я получаю эту ошибкуДоступ к Visual Basic: слишком мало параметров. Ожидаемое 1
Есть ли что-то не так с этим?
это весь код, теперь я уверен, что это бит SQL, который является проблемой, может быть, мои имена таблиц неверны.
Вы уверены, что этот код вызывает ошибку? Можете ли вы разместить больше кода для этого? Что такое 'sTableName'? –
Я не совсем уверен, что добавил код уже сейчас –
Вот SQL, созданный вашей формулой (используя «aTable» для имени таблицы): 'SELECT [aTable] .IL, [XL] - [FIRST_XL ] +1 AS XL_IDX, ** [aTable] ** FROM [aTable] INNER JOIN TBL_FIRST_XL_FOR_IL ON [aTable] .IL = TBL_FIRST_XL_FOR_IL.IL ORDER BY [aTable] .IL, ** [XL] - [FIRST_XL] + 1 * * '. Элементы в «**» называются полями в заявлении, но они не могут быть, правильно? – chuff