Несоответствие типов, открытие RecordSet - PullRequest
0 голосов
/ 18 февраля 2019

Получение этой ошибки все время:

Ошибка времени выполнения '13': несоответствие типов.

В этой строке rs.Open , sqlstr, conn

Я перепробовал все и не могу решить проблему.Я пытаюсь обновить одну строку в базе данных MySQL.

 Private Sub CommandButton3_Click()
    Dim conn As New ADODB.Connection
    Dim server_name As String
    Dim database_name As String
    Dim user_id As String
    Dim password As String
    Dim i As Long 
    Dim sqlstr As String 
    Dim table1 As String, table2 As String
    Dim field1 As String, field2 As String
    Dim rs As ADODB.Recordset
    Dim vtype As Variant

    server_name = "99.99.99.99"
    database_name = "name" 
    user_id = "user" 
    password = "pass"

    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"

    Set rs = New ADODB.Recordset
    sqlstr = "SET SQL_SAFE_UPDATES = 0; UPDATE table SET poslano = 'Poslano' WHERE poslano = 'Neposlano';"

    rs.Open , sqlstr, conn
    With Worksheets("List6").Cells("A1") 
    .ClearContents
    .CopyFromRecordset rs
    End With
    skipextract:

    On Error Resume Next
    rs.Close
    Set rs = Nothing
    conn.Close
    Set conn = Nothing
    On Error GoTo 0

    End Sub

1 Ответ

0 голосов
/ 18 февраля 2019

Запятая после rs.Open заставляет VBA «думать», что источник опущен:

enter image description here

Таким образом, он дает ошибку несоответствия типов.Попробуйте написать это так:

rs.Open sqlstr, conn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...