Дима Окружко
Мастер
(1363),
на голосовании
4 года назад
Пытаюсь получить данные из таблицы SQL средствами VBA. Но некоторые столбцы имеют формат DECIMAL. И при их считывании возникает ошибка. Код примерно такой: Set conn = New ADODB.Connection conn.Open "DRIVER={MySQL ODBC 3.51 Driver}" _ & ";SERVER=" & server_name _ & ";DATABASE=" & database_name _ & ";UID=" & user_id _ & ";PWD=" & password _ & ";OPTION=16427; charset=cp1251" Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset strSQL = "SELECT objects.KWTSTART1,objects.KWTEND1,objects.KWT1,objects.KOEF1,objects.KWTSTART2,objects.KWTEND2,objects.KWT2,objects.KOEF2,objects.LNLOST1,objects.TRLOST1 FROM objects WHERE objects.ID=" & "'" & Range("Y" & i) & "'" rs.Open strSQL, conn, adOpenStatic
Код примерно такой:
Set conn = New ADODB.Connection
conn.Open "DRIVER={MySQL ODBC 3.51 Driver}" _
& ";SERVER=" & server_name _
& ";DATABASE=" & database_name _
& ";UID=" & user_id _
& ";PWD=" & password _
& ";OPTION=16427; charset=cp1251"
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
strSQL = "SELECT objects.KWTSTART1,objects.KWTEND1,objects.KWT1,objects.KOEF1,objects.KWTSTART2,objects.KWTEND2,objects.KWT2,objects.KOEF2,objects.LNLOST1,objects.TRLOST1 FROM objects WHERE objects.ID=" & "'" & Range("Y" & i) & "'"
rs.Open strSQL, conn, adOpenStatic
ThisWorkbook.ActiveSheet.Range("T" & i) = rs.Fields("KWTEND1")