2013-03-14 1 views
2
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, который является проблемой, может быть, мои имена таблиц неверны.

+0

Вы уверены, что этот код вызывает ошибку? Можете ли вы разместить больше кода для этого? Что такое 'sTableName'? –

+0

Я не совсем уверен, что добавил код уже сейчас –

+0

Вот 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

ответ

4

Таблицы и/или имена полей в вашем SQL-запросе не соответствуют структуре вашей базы данных.

Включает любое значение в параметре sTableName.

Просто проверьте и убедитесь, что все поля точно совпали, и вы должны найти виновника.

EDIT: Просто заметил это в части SELECT,

“ [“ & sTableName & “] “ & _ 

Вы не должны быть ссылки на всю таблицу в SELECT части вашего заявления, что произойдет, если вы удалите эту строку из оператора SQL ?

+0

после этой части было полевое имя, спасибо большое за вашу помощь –

+0

Рад помочь. Разум, принимающий ответ, так как он решил вашу проблему? Мне нужны мои интернет-очки ха-ха –

Смежные вопросы