Excel 2013 VBA에서 ADODB 명령을 사용하여 일부 필드가 SQL Server 2014의 Decimal (x, y) 인 테이블에 삽입 문자열을 실행합니다. .Excel 셀이 비어있어 NULL로 SQL에 삽입하면 문제가 발생합니다.Null로 SQL 10 진수 (x, y) 필드에 빈 VBA 변수를 삽입하십시오.
즉.
VBA 코드 :
빈 엑셀 셀에 가리킬 수 있습니다 변수 sPrice 말할 수 있습니다.
sDate = .Cells(iRowNo, 1)
sPrice = .Cells(iRowNo, 2)
sQuantity = .Cells(iRowNo, 3)
그리고 내 삽입의 인수는 말할 수 : SQL 데이터 유형에
conn.Execute "INSERT INTO [dbo].[Prices] ([date], [Price], [Quantity])
values ('" & SDate & "', " & sPrice & ",'" & sQuantity & "')"
노트는 다음과 같습니다
[date] Datetime
[Price] Deciaml(28,12)
[Quantity] Real
그래서 sPrice 이중 따옴표를 포함하지 않는 그것은 소수의로 . 당신이 할 수있는 빠른 수정 sPrice의 값을 변경하는 것입니다
* 문제가 있습니다. *는 유용한 설명이 아닙니다. 어떤 구체적인 * 문제가 있습니까? –
sPrice가 double로 선언되면 빈 셀 값이 0으로 구문 분석됩니다. – user3479671
SQL 서버에서 Decimal 필드에 대한 insert 명령에서 빈 (,,)을 허용하지 않습니다. – Flib