Экспорт Excel->MSSQL, Экспорт Excel->Excel (VBA MS Excel 2007)

Узнай цену своей работы

Формулировка задачи:

Экспорт Excel->MSSQL


я присоединяюсь в макросе к MS SQL.
создаю коннект, записываю строчку запроса.
а как правильно сделать добавление?
я использую след цикл (но не работает. как делать не знаю):
for i = 1 to row_end
SqlString = "insert into Convers values ('" & cells(i,1) & "','" & cells(i,2) & "','" & cells(i,3) & "', convert(float,'" & cells(i,4) & "')," & cells(i,5) & ")"
conn.execute sqlString
next i

Экспорт Excel->Excel


Мне нужно написать следующий макрос:
есть файл Excel - "Рассчет".
я запускаю макрос в нем:
1) ввожу дату, за которую нужно закачать данные
2) открываю xls файл на сервере (с учетом даты названия немного отличаются) - например, CURA_08
3) беру из этого файла 12 значений из определенных ячеек
cells(9,10), cells(9,11), cells(9,12), cells(10,10) и т.д.
4) вставляю их на свой листик в файле "Рассчет".
5) закрываю xls файл сервера.
Как осуществить это подключение и забрать только 12 значений?
ХЕЛП МИ ПИПЛ! ПЛИИИИИИИИЗ!

Решение задачи: «Экспорт Excel->MSSQL, Экспорт Excel->Excel (VBA MS Excel 2007)»

textual
Листинг программы
<font color="blue">Public</font> <font color="blue">Sub</font> Execute()
<font color="blue">Dim</font> sErrDesc <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> erCur <font color="blue">As</font> ADODB.<font color="blue">Error</font>
<font color="blue">Dim</font> i <font color="blue">As</font> <font color="blue">Long</font>
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">GoTo</font> labErr
cmd.CommandType = adCmdText
<font color="blue">For</font> i = <font color="darkblue"><b>0</b></font> <font color="blue">To</font> cmd.Parameters.Count - <font color="darkblue"><b>1</b></font>
    Debug.<font color="blue">Print</font> cmd.Parameters.Item(i).<font color="blue">Name</font> & <font color="teal">" = "</font> & CStr(IIf(IsNull(cmd.Parameters.Item(i).Value), <font color="teal">"Null"</font>, 
cmd.Parameters.Item(i).Value))
<font color="blue">Next</font> i

cn.BeginTrans
cmd.Execute
cn.CommitTrans

<font color="blue">Exit</font> <font color="blue">Sub</font>

labErr:
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">Resume</font> <font color="blue">Next</font>
<font color="blue">If</font> cn.State <> adStateClosed <font color="blue">Then</font>
    cn.RollbackTrans
<font color="00AA00">'    For i = 0 To cmd.Parameters.Count - 1</font>
<font color="00AA00">'        Debug.Print cmd.Parameters.Item(i).Name & <font color="teal">" | "</font>;  '.Delete 0</font>
<font color="00AA00">'    Next i</font>
<font color="blue">End</font> <font color="blue">If</font>

sErrDesc = <font color="teal">""</font> <font color="00AA00">'Err.Description & <font color="teal">" <-> "</font></font>


<font color="00AA00">' Get the ADO errors.</font>
<font color="blue">If</font> cn.Errors.Count > <font color="darkblue"><b>0</b></font> <font color="blue">Then</font>
    <font color="blue">For</font> <font color="blue">Each</font> erCur <font color="blue">In</font> cn.Errors
        sErrDesc = sErrDesc & erCur.Source & <font color="teal">": "</font> & erCur.Description & <font color="teal">" | "</font>
    <font color="blue">Next</font> erCur
    sErrDesc = Replace(sErrDesc, vbLf, <font color="teal">" | "</font>, , , vbTextCompare)
<font color="blue">Else</font>
    sErrDesc = Err.Description
<font color="blue">End</font> <font color="blue">If</font>

<font color="blue">Call</font> OutputErrorMessage(sErrDesc, , , <font color="teal">"Execute"</font>, cmd.CommandText)
<font color="blue">With</font> Err
    .Raise vbObjectError + <font color="darkblue"><b>1</b></font>, <font color="teal">"Execute"</font>, sErrDesc
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5