Я импортирую Excel в доступе с использованием VBA, и у меня появляется следующая ошибка. Я считаю, что ошибка в sql, будет ли это связано с тем, как я объявил имя столбцов?
база имеет 31 столбец
Поместите все столбцы в виде строки в базе в доступе, только даты, которые этого не делают, просто чтобы проверить, была ли это ошибка
Может ли кто-нибудь сказать мне, в чем была ошибка?
Code:
Option Explicit
Private Sub CommandButton1_Click()
Dim MDB As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim FD As ADODB.Field
Dim SQL As String
Dim W As Worksheet
Dim UltCel As Range
Dim Ln As Long
Dim Col As Integer
Set W = Sheets("Plan1")
Ln = 2
Col = 1
W.Select
W.Range("A1").Select
MDB.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Usuário\Desktop\DatabasePerfildePerda.mdb;Persist Security Info=False;"
Set UltCel = W.Cells(W.Rows.Count, 1).End(xlUp)
Do While Ln <= UltCel.Row
SQL = "INSERT INTO tbdados3"
SQL = SQL & "(Mes por Extenso, Secao Industrial, Tipo, by-pass, Sigla, Motivo, Classificacao, Responsavel pela Solucao, Area, Causa Raiz, Turno, Data Inicio, Hora Inicio, Data Fim, Hora Fim, Tempo, Taxa Alimetacao, Reducao Alimentacao, TAG, Componente, Ponto de Causa, Observacoes, Usuario, Unidade, Familia, Ano, Mês, Ano Mes, Dia, Inicio da ocorrencia, Final da Ocorrencia, Frequencia de Falha)"
SQL = SQL & "values"
SQL = SQL & "('" & W.Cells(Ln, Col).Value & "', "
SQL = SQL & "'" & W.Cells(Ln, Col + 1).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 2).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 3).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 4).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 5).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 6).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 7).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 8).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 9).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 10).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 11).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 12).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 13).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 14).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 15).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 16).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 17).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 18).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 19).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 20).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 21).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 22).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 23).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 24).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 25).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 26).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 27).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 28).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 29).Value & "' , "
SQL = SQL & "'" & W.Cells(Ln, Col + 30).Value & "' ) "
RS.Open SQL, MDB
Ln = Ln + 1
Col = 1
Application.StatusBar = Ln
DoEvents
Loop
MDB.Close
Set W = Nothing
Set MDB = Nothing
Set RS = Nothing
Set FD = Nothing
Set UltCel = Nothing
MsgBox "Processo Concluido"
End Sub