VBA (매크로)를 사용하여 Excel 시트의 열에서 값을 가져 오는 SQL 쿼리

user2955821

VBA를 사용하여 SQL 쿼리를 사용해야합니다. 쿼리에 대한 내 입력 값은 Excel 시트의 열에서 가져온 것입니다. 열에있는 모든 값을 가져와야하며 쿼리에 대한 입력으로 sqlserver에 전달해야합니다. 그러나 나는 답을 얻을 수 없었다. 유형 불일치가 오류로 표시됩니다. 누구든지 나를 도울 수 있습니다. 미리 감사드립니다

예를 들어 J 열에는 J1 = 25, j2 = 26, ....

stSQL = "SELECT * FROM prod..status where state in"      

stSQL = stSQL & wsSheet.Range("J:J").Value

내 전체 코드는 다음과 같습니다.

Sub Add_Results_Of_ADO_Recordset()

     'This was set up using Microsoft ActiveX Data Components version 2.8

    Dim cnt As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim stSQL As Variant
    Dim wbBook As Workbook
    Dim wsSheet As Worksheet
    Dim rnStart As Range


    Const stADO As String = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" & _
    "Persist Security Info=False;" & _
    "Initial Catalog=prod;" & _
    "Data Source=777777777V009D\YTR_MAIN4_T"
     'where BI is SQL Database & AURDWDEV01 is SQL Server

    Set wbBook = ActiveWorkbook
    Set wsSheet = wbBook.Worksheets("sheet1")

    With wsSheet
        Set rnStart = .Range("A2")
    End With


     ' My SQL Query       



    stSQL = "SELECT  * FROM prod..status where state in"



stSQL = stSQL + wsSheet.Range("J:J").Value


    Set cnt = New ADODB.Connection

    With cnt
        .CursorLocation = adUseClient
        .Open stADO
        .CommandTimeout = 0
        Set rst = .Execute(stSQL)
    End With

     'Here we add the Recordset to the sheet from A1
    rnStart.CopyFromRecordset rst

     'Cleaning up.
    rst.Close
    cnt.Close
    Set rst = Nothing
    Set cnt = Nothing

End Sub
아치 라이트

로 변경

stSQL = stSQL + " ('" + Replace(wsSheet.range("J:J").Value, "'", "") + ")"

그러나 SQL IN 문은 일반적으로 다음과 같이 사용됩니다.

state IN (25,26,28)

그러나 하나의 정수 값만 사용하는 경우이 방법을 사용하는 것이 좋습니다.

stSQL = "SELECT * FROM prod..status where state = "
stSQL = Val(wsSheet.range("J:J").Value)

in 문을 사용할 때 위험한 것이 한 가지 있습니다. 문장의 In 부분이 매우 길면 속도가 느려지고 더 큰 in 문으로 인해 altogeather가 충돌합니다.

이러한 상황에 대한 해결책은 in 값을 사용하여 임시 테이블을 만들고 (임시 테이블) 또는 임시 테이블을 기반으로 내부 조인을 수행하는 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 SQL 쿼리 결합. 두 번째 쿼리에서 ID를 사용하여 이름 값 가져 오기

분류에서Dev

VBA를 사용하여 Google 스프레드 시트에서 Excel로 데이터를 가져 오는 방법

분류에서Dev

Pandas를 사용하여 디렉터리의 Excel 시트에서 각 행 값을 가져 오는 방법

분류에서Dev

SQL을 사용하여 Excel 시트에서 데이터 가져 오기

분류에서Dev

$ _SERVER [ 'QUERY_STRING']을 사용하여 URL에서 쿼리 문자열의 일부를 가져 오는 방법

분류에서Dev

VBA를 사용하여 Excel에서 셀의 글꼴 값 목록을 가져 오는 방법

분류에서Dev

Laravel의 원시 쿼리를 사용하여 SQL 데이터베이스에서 특정 열 가져 오기

분류에서Dev

VBA를 사용하여 Excel의 SQL 테이블에 매개 변수가있는 쿼리 사용

분류에서Dev

VBA를 사용하여 Excel의 SQL 테이블에 매개 변수가있는 쿼리 사용

분류에서Dev

사용자 테이블에서 역할 ID를 사용하여 역할을 가져 오는 T-SQL 쿼리

분류에서Dev

Excel 2010에서는 매크로 및 VBA를 사용하여 열의 데이터를 비교하고 값이 다른 경우 강조 표시합니다.

분류에서Dev

Excel VBA ADODB를 사용하여 CSV에서 SQL Server로 대량 가져 오기

분류에서Dev

VBA TXT 파일을 가져 오는 매크로를 실행하면 시트를 정리 한 후 큰 Excel 파일이 생성됩니다.

분류에서Dev

VBA를 사용하여 Excel 셀의 datetime 값을 SQL 테이블에 추가하는 방법

분류에서Dev

POI를 사용하여 Excel 시트의 다음 행에서 값 가져 오기

분류에서Dev

값을 기반으로 열을 가져 오는 SQL 쿼리

분류에서Dev

case 문에서 열 값을 다시 가져 오는 SQL 쿼리

분류에서Dev

여러 개의 'like'절을 사용하여 내림차순 및 날짜별로 매우 특정한 순서로 결과를 가져 오는 SQL 쿼리

분류에서Dev

VBA 매크로 스크립트 : vba 매크로를 사용하여 시트 1의 열에서 고유 값을 찾아 시트 2로 복사

분류에서Dev

VBA / Excel 매크로-하나의 워크 시트에서 가져오고 여러 워크 시트에 채우는 배열을 사용하여 코드를 단순화하려고합니다.

분류에서Dev

Excel VBA-워크 시트 셀 범위를 사용하여 SQL 쿼리 실행

분류에서Dev

VBA를 사용하여 Excel에서 여러 텍스트 파일을 하나의 셀과 새 행으로 가져 오시겠습니까?

분류에서Dev

vba를 사용하여 Excel 시트의 셀에 여러 문자열 값을 추가하는 방법

분류에서Dev

닫힌 통합 문서의 변수를 사용하여 값을 가져 오는 Excel vba 함수

분류에서Dev

매크로를 사용하여 통합 문서 내의 새 시트로 파일을 가져 오는 방법

분류에서Dev

두 개의 하위 쿼리를 사용하여 두 테이블에서 값을 가져 오는 방법은 무엇입니까? T-SQL

분류에서Dev

여러 Excel에서 사용 된 셀을 하나의 Excel로 복사하는 Excel VBA 매크로

분류에서Dev

텍스트 가져 오기 마법사 매크로를 사용하여 여러 TXT 파일을 하나의 Excel CSV 시트로 가져 오시겠습니까?

분류에서Dev

조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

Related 관련 기사

  1. 1

    두 개의 SQL 쿼리 결합. 두 번째 쿼리에서 ID를 사용하여 이름 값 가져 오기

  2. 2

    VBA를 사용하여 Google 스프레드 시트에서 Excel로 데이터를 가져 오는 방법

  3. 3

    Pandas를 사용하여 디렉터리의 Excel 시트에서 각 행 값을 가져 오는 방법

  4. 4

    SQL을 사용하여 Excel 시트에서 데이터 가져 오기

  5. 5

    $ _SERVER [ 'QUERY_STRING']을 사용하여 URL에서 쿼리 문자열의 일부를 가져 오는 방법

  6. 6

    VBA를 사용하여 Excel에서 셀의 글꼴 값 목록을 가져 오는 방법

  7. 7

    Laravel의 원시 쿼리를 사용하여 SQL 데이터베이스에서 특정 열 가져 오기

  8. 8

    VBA를 사용하여 Excel의 SQL 테이블에 매개 변수가있는 쿼리 사용

  9. 9

    VBA를 사용하여 Excel의 SQL 테이블에 매개 변수가있는 쿼리 사용

  10. 10

    사용자 테이블에서 역할 ID를 사용하여 역할을 가져 오는 T-SQL 쿼리

  11. 11

    Excel 2010에서는 매크로 및 VBA를 사용하여 열의 데이터를 비교하고 값이 다른 경우 강조 표시합니다.

  12. 12

    Excel VBA ADODB를 사용하여 CSV에서 SQL Server로 대량 가져 오기

  13. 13

    VBA TXT 파일을 가져 오는 매크로를 실행하면 시트를 정리 한 후 큰 Excel 파일이 생성됩니다.

  14. 14

    VBA를 사용하여 Excel 셀의 datetime 값을 SQL 테이블에 추가하는 방법

  15. 15

    POI를 사용하여 Excel 시트의 다음 행에서 값 가져 오기

  16. 16

    값을 기반으로 열을 가져 오는 SQL 쿼리

  17. 17

    case 문에서 열 값을 다시 가져 오는 SQL 쿼리

  18. 18

    여러 개의 'like'절을 사용하여 내림차순 및 날짜별로 매우 특정한 순서로 결과를 가져 오는 SQL 쿼리

  19. 19

    VBA 매크로 스크립트 : vba 매크로를 사용하여 시트 1의 열에서 고유 값을 찾아 시트 2로 복사

  20. 20

    VBA / Excel 매크로-하나의 워크 시트에서 가져오고 여러 워크 시트에 채우는 배열을 사용하여 코드를 단순화하려고합니다.

  21. 21

    Excel VBA-워크 시트 셀 범위를 사용하여 SQL 쿼리 실행

  22. 22

    VBA를 사용하여 Excel에서 여러 텍스트 파일을 하나의 셀과 새 행으로 가져 오시겠습니까?

  23. 23

    vba를 사용하여 Excel 시트의 셀에 여러 문자열 값을 추가하는 방법

  24. 24

    닫힌 통합 문서의 변수를 사용하여 값을 가져 오는 Excel vba 함수

  25. 25

    매크로를 사용하여 통합 문서 내의 새 시트로 파일을 가져 오는 방법

  26. 26

    두 개의 하위 쿼리를 사용하여 두 테이블에서 값을 가져 오는 방법은 무엇입니까? T-SQL

  27. 27

    여러 Excel에서 사용 된 셀을 하나의 Excel로 복사하는 Excel VBA 매크로

  28. 28

    텍스트 가져 오기 마법사 매크로를 사용하여 여러 TXT 파일을 하나의 Excel CSV 시트로 가져 오시겠습니까?

  29. 29

    조인을 사용하여 2 개의 행 데이터를 단일 행으로 가져 오는 SQL 쿼리

뜨겁다태그

보관