2016-02-19 3 views
0

Я пытаюсь ссылаться на данные пользовательской формы в SQL-запросах в excel 2010. При запуске следующего кода в качестве действия отправки формы я получаю сообщение об ошибке, что один или несколько параметров не были предоставлены в SQL-запросе.Справочные данные пользовательской формы в выражениях excel vba sql?

Private Sub SubmitButton_Click() 

    Dim Connection As ADODB.Connection 
    Dim ConnectionString As String 
    ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source=I:\DB.xlsx; Extended Properties=""Excel 12.0 Xml; HDR=YES"";" 

    Dim SQL As String 

'Transfer information 
SQL = "INSERT INTO [Tests$]" & _ 
"(PartNo, RootCause, CorrectiveAction, AssignedTo, Verification, Comments, DateOpened, DateClosed, " & _ 
"Status, Purpose, ProdDate, ShipDate, TestDate, SampleDate, CusName, Facility, Result, Wire, StartingDia, " & _ 
"WireType, IncomingDia, FailMode, RootCauseDetail)" & _ 
"VALUES" & _ 
"([Forms][frmTesting]![PartNo], [Forms][frmTesting]![RCause], [Forms][frmTesting]![Corrective], " & _ 
"[Forms][frmTesting]![Assigned], [Forms][frmTesting]![Verification], [Forms][frmTesting]![Comments], " & _ 
"[Forms][frmTesting]![OpenDate], [Forms][frmTesting]![CloseDate], [Forms][frmTesting]![Status], " & _ 
"[Forms][frmTesting]![Purpose], [Forms][frmTesting]![ProdDate], [Forms][frmTesting]![ShipDate], " & _ 
"[Forms][frmTesting]![TestDate], [Forms][frmTesting]![SampleDate], [Forms][frmTesting]![Customer], [Forms][frmTesting]![Facility], " & _ 
"[Forms][frmTesting]![Result], [Forms][frmTesting]![Wire], [Forms][frmTesting]![StartingDia], " & _ 
"[Forms][frmTesting]![WireType], [Forms][frmTesting]![IncomingDia], [Forms][frmTesting]![FailMode], [Forms][frmTesting]![RCDetail])" 

    Set Connection = New ADODB.Connection 
    Call Connection.Open(ConnectionString) 

    Call Connection.Execute(SQL, , CommandTypeEnum.adCmdText Or ExecuteOptionEnum.adExecuteNoRecords) 
    Connection.Close 
    Set Connection = Nothing 


End Sub 

Я использую правильный синтаксис ссылки на объект формы для SQL-запросов? Есть ли разница между Excel и Access с тем, как обращаться к данным формы?

+0

опечатка: Это [Формы] [frmTesting] [PARTNO] на самом деле [Forms]! [frmTesting]! [Partno] для всех ссылок на формы в блоке. – Sam

+0

Вы можете отредактировать свой пост, чтобы исправить это, вместо исправления в комментариях ;-) –

ответ

0

Если зрители сталкиваются с одной и той же проблемой и заинтересованы. Я нашел простое решение, чтобы быть чем-то вроде SQL = "INSERT INTO [Тесты $] (PARTNO) Значения ('& frmTesting.PartNo & "')"

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