0

データの変換について質問があります。varcharVBA で作成した選択クエリがあります。値列からに変換するにはどうすればよいですかnvarchar

次のエラーが表示されます。

数値をデータ型数値に変換する算術オーバーフロー エラー

これは私のコードです:

Dim strSQL As String
 Dim rst As New ADODB.Recordset

 strSQL = " INSERT INTO dbo.Soferi_test (test1)" & _
       " SELECT MySQL.dbo.sofieri.certificat_cipti " & _
       " FROM  MySQL.dbo.sofieri " & _
       " WHERE IDNO = " & Forms!Forma_redactare_soferi!IDNO.Value

 Call AttServ(strSQL, rst) 
4

1 に答える 1

1

int 値が数値の精度とスケールの定義に対して大きすぎます

ここで、エラーはWHERE句から来ていると思います。挿入ではありません

DECLARE @foo int = 99999;
DECLARE @n1 numeric(9,1), @n2 numeric (3,2);

-- 9,1 is 9 total digits, 1 decimal place
-- 3,2 is 2 total digits, 2 decimal places

-- 99999 requires at least 5 total digits

PRINT 'Wide enough'
SET @n1 = @foo;


PRINT 'Error'
SET @n2 = @foo;

コメントの後、同じことが引き続き適用されます

DECLARE @foo numeric(5,0) = 99999;
DECLARE @n1 numeric(9,1), @n2 numeric (3,2);

PRINT 'Wide enough'
SET @n1 = @foo;


PRINT 'Error'
SET @n2 = @foo;
于 2013-05-17T07:00:38.830 に答える