Где ой, где (VBA SQL, где пункт с переменной) - PullRequest
0 голосов
/ 20 февраля 2019

Я SQL-парень, пытающийся помочь с проектом VBA.Я получаю ошибку VBA, когда пытаюсь запустить этот оператор SQL.Ошибка времени выполнения '-2147217913 (80040e07)' Ошибка автоматизации.

Я могу отправить номер без проблем, поэтому я знаю, что я делаю что-то не так, когда передается строка.Спасибо за помощь!Я потратил так много времени, пытаясь выяснить это.

sSQLSting = "SELECT TOP 10 PctTtlAssets, Port_Code FROM [db_detail$] 
WHERE Port_Code  = ' " & [vbaThisPort] & " ' "

, который выглядит так, когда сохраняется в моей переменной.

sSQLSting = "SELECT TOP 10 PctTtlAssets, Port_Code FROM [db_detail$] 
WHERE Port_Code  = 'salmemhs' "

Спасибо

PS

Вот полный код, который использует парень vba.Опять же, работает нормально, пока я не отправлю строку.

Sub sbADO()
Dim sSQLQry As String
Dim ReturnArray

Dim Conn As New ADODB.Connection
Dim mrs As New ADODB.Recordset

Dim DBPath As String, sconnect As String, vbaThisPort As String


vbaThisPort = Trim(ThisWorkbook.Names("ThisPort").RefersToRange(1, 1))

'MsgBox (vbaThisPort) 'Testing

DBPath = ThisWorkbook.FullName

'You can provide the full path of your external file as shown below
'DBPath ="C:\InputData.xlsx"

sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes';"

' Your SQL Statemnt (Table Name= Sheet Name=[DataSheet$])"

Conn.Open sconnect
    sSQLSting = "SELECT TOP 10 PctTtlAssets, Port_Code FROM [db_detail$] WHERE Port_Code  = '" & [vbaThisPort] & "'"

    mrs.Open sSQLSting, Conn
        '=>Load the Data into an array
        'ReturnArray = mrs.GetRows
                ''OR''
        '=>Paste the data into a sheet
        ActiveSheet.Range("A2").CopyFromRecordset mrs
    'Close Recordset
    mrs.Close

'Close Connection
Conn.Close

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