0

「説明」フィールドのレコードセットに値を挿入しようとすると。次のようなエラーが表示されます

ランタイム エラー '-2147217887(80040e21)' 複数ステップ操作でエラーが発生しました。各ステータス値を確認してください。

sql = "SELECT * FROM vePODetail WHERE vePOID=" & Str(ado_veReceive.Recordset("vePOID")) & " ORDER BY vePODetailID"
rs.ActiveConnection = g_cnnCompany
rs.Open sql
   Do While Not rs.EOF
    ado_veReceiveDetailWF.Recordset.AddNew
    ado_veReceiveDetailWF.Recordset("vePODetailID") = rs("vePODetailID")
    ado_veReceiveDetailWF.Recordset("prMasterID") = rs("prMasterID")
    ado_veReceiveDetailWF.Recordset("Description") = rs("Description")
    ado_veReceiveDetailWF.Recordset("QuantityReceived") = rs("QuantityOrdered") -rs("QuantityReceived")
    ado_veReceiveDetailWF.Recordset.Update
    rs.MoveNext
    Loop
    rs.Close 

レコードセットのフィールドは 50 文字しか受け入れません。

レコードセットのフィールドのサイズ/長さを増やす方法を教えてください。

4

2 に答える 2

3

フィールドの長さが 50 文字の場合、DB のフィールドの定義を 50 から必要なものに変更する必要があります。レコードセットを介してそれを行うことはできません

于 2013-03-20T13:43:02.950 に答える
0

SQL Server を使用していると仮定すると、CAST操作を使用してクエリを変更できます。

sql = "SELECT vePODetailID,prMasterID,CAST(Description as VARCHAR(100)) AS Description, QuantityReceived FROM vePODetail WHERE vePOID=" & Str(ado_veReceive.Recordset("vePOID")) & " ORDER BY vePODetailID"

これにより、レコードセットの説明フィールドの長さが 100 文字に設定されます。他の db プラットフォームでもこれを行うことができますが、構文はCAST.

于 2014-07-22T13:56:45.437 に答える