BUG: Excel ODBC 드라이버 FirstRowHasNames 또는 머리글 설정 무시합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 288343 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft Excel 개방형 데이터베이스 연결 (ODBC) 드라이버 사용하여 ODBC 데이터 원본으로 사용하여 Excel 워크시트에 연결할 때 드라이버가 기본적으로 워크시트 데이터의 첫 행에 열 머리글 (필드 이름) 포함되어 있는 것으로 가정합니다. 드라이버 설명서는 따라 False 및 1 0에 대해 True를 사용하여 이 기본 동작을 변경하려면 선택적 FirstRowHasNames 연결 설정을 사용할 수 있습니다. 그러나 사실 드라이버가 이 설정을 무시합니다 및 데이터의 첫 행이 열 머리글로 항상 처리됩니다. 데이터의 첫 행에 열 머리글 또는 다른 항목이 포함되어 있지 않으면 효과적인 결과 데이터의 첫 행에 "사라집니다 것을.".

원인

FirstRowHasNames 또는 머리글 (HDR) 매개 변수의 값은 Excel ODBC 드라이버 전달되고 있습니다.

해결 방법

해당 HDR = Microsoft Jet OLE DB 공급자 및 해당 Excel ISAM 드라이버가 사용할 때 사용할 수 있고 제대로 작동하는지 설정입니다. 따라서 가장 좋은 방법은 Excel ODBC 드라이버 대신 Jet 공급자를 사용할 수 있습니다.

첫 행에 필드 이름이 있는 Excel ODBC 드라이버 항상 가정하기 때문에 첫 번째 행을 항상 유효한 필드 이름 또는 개발자가 의향이 무시하고 인 더미 항목이 있어야 합니다.

현재 상태

Microsoft는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다.

추가 정보

문제를 재현하기 위한 단계

  1. 새 Excel 통합 문서를 만든 다음 Visual Basic 테스트 프로젝트를 만듭니다 폴더의 기본 이름으로 저장하십시오.
  2. A1 셀에 첫 번째 열의 셀에 몇 가지 임의의 데이터로 채웁니다.
  3. 새 VBA 프로젝트를 만들고 참조를 ADO (ActiveX 데이터 개체) 로 설정하십시오.
  4. 입력한 다음 코드를 실행합니다:
    Private Sub Form_Load()
      Dim cn As ADODB.Connection
      Dim rs As ADODB.Recordset
      Set cn = New ADODB.Connection
      With cn
        .Provider = "MSDASQL"
        .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & App.Path & "\Book1.xls;FirstRowHasNames=0;"
        .Open
      End With
      Set rs = New ADODB.Recordset
      With rs
        Set .ActiveConnection = cn
        .Source = "[Sheet1$]"
        .Open
      End With
      Debug.Print rs.Fields(0).Value
      Debug.Print rs.Fields(0).Name
      rs.Close
      cn.Close
    End Sub
    					
일반적으로 기본 필드 이름이 "F1" 데이터의 열에 할당할 Excel 드라이버를 확인하고 A1 셀에 입력한 첫 번째 레코드가 있는 데이터 앞에 표시하려면 예상되는. 그러나 디버그 창에 충돌하는데도 불구하고 사용자의 FirstRowHasNamesFalse 로 설정하면 필요 첫 번째 레코드의 값으로 A2 인쇄된 셀에 입력된 값이 사항에 유의하십시오. A1 셀의 값을 "열의 필드 이름이 되도록 사라졌을"

속성

기술 자료: 288343 - 마지막 검토: 2003년 9월 16일 화요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 서비스 팩 2
  • Microsoft Data Access Components 2.1 서비스 팩 1
  • Microsoft Data Access Components 2.1 서비스 팩 2
  • Microsoft Data Access Components 2.5 서비스 팩 1
  • Microsoft Data Access Components 2.5
키워드:?
kbmt kbbug kbmdacnosweep kbpending KB288343 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com