SQLCE データベースにアクセスし、必要に応じて変更する Excel VB アプリケーションを作成しました。vba の接続文字列は次のとおりです。
dbConnectionString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\sitsDB.sdf;"
私はプロジェクトをほぼ完全に完了し、SQLCE データベース ファイルのフィールドの 1 つを拡張して、より多くの文字を格納できるようにすることを除いて、すべてがうまく機能します。
このフィールドはデータ型nvarchar
で、デフォルトの長さは 100 です (どうやら 50 文字を許可する必要がありますか?)。
このフィールドは、少なくとも 200 文字を格納したい開いているテキスト ボックスに必要です。
Microsoft Visual Basic 2010 Express で初期データベースを作成しました。フィールドの長さをnvarchar
100 より大きい値に変更すると、SQL SELECT
ステートメントの実行時に次のエラーが発生します。
実行時エラー '-2147217887 (80040e21)': 複数ステップの操作でエラーが発生しました。各ステータス値を確認してください。
VBA の SQL ステートメントは次のとおりです。
With rsResults
.Source = "SELECT * FROM Incidents WHERE Number = " & number
Set .ActiveConnection = dbConnection
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open
End With
回線でエラーが発生します.Open
。
SELECT * FROM
長さが 100 を超えるフィールドを除外して特定の列のみを選択するように変更すると、すべてが期待どおりに機能します。
したがって、1 つのフィールドの長さが 100 を超えることは間違いありません。そのフィールドの長さを 100 に戻すと、すべてが正常に機能します...
.CursorLocation
そこで使用しているおよび.CursorType
関数についてはあまり知りません。私は例によって学びました。それが最初に見つけた例です。
どんな助けでも大歓迎です!