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

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

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.CloseEnd Sub					
일반적으로 기본 필드 이름이 "F1" 데이터의 열에 할당할 Excel 드라이버를 확인하고 A1 셀에 입력한 첫 번째 레코드가 있는 데이터 앞에 표시하려면 예상되는. 그러나 디버그 창에 충돌하는데도 불구하고 사용자의 FirstRowHasNamesFalse 로 설정하면 필요 첫 번째 레코드의 값으로 A2 인쇄된 셀에 입력된 값이 사항에 유의하십시오. A1 셀의 값을 "열의 필드 이름이 되도록 사라졌을"

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 288343 - 마지막 검토: 12/06/2015 00:26:53 - 수정: 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

  • kbnosurvey kbarchive kbmt kbbug kbmdacnosweep kbpending KB288343 KbMtko
피드백