0

私は自分の問題を理解するのに苦労しています。うまくいけば、これが可能かどうかを知っていることを願っています。MS Access で限界に達したため、Access モジュールを変換して SQL サーバーで実行しようとしています。

これは私が実行しているビジュアルベーシックコードです:

Set rs1 = db.OpenRecordset("select * from ReportFilter")
If rs1.EOF = True Then GoTo nextstep1    
rs1.MoveFirst
a = 0
Do
    b = 0
    RPrim(a, b) = rs1.Fields(0).Value
    b = b + 1
    RPrim(a, b) = rs1.Fields(1).Value
a = a + 1
rs1.MoveNext
If rs1.EOF = True Then GoTo nextstep1
Loop

確信が持てず、「グーグル」を試して、SQLサーバーでこれを行う方法を見つけました。

reportfilter テーブルには既に値が設定されています。変数にテーブルの値を設定する方法が見つかりません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

Access と SQL Server の違いの 1 つは、Access には VBA のサポートが組み込まれていることです。つまり、Access は単なるデータベースではなく、コンパクトなアプリケーション プラットフォームでもあります。SQL Server は、より堅牢でスケーラブルなエンタープライズ レベルの RDBMS であり、VBA のような組み込みの 4GL 言語は付属していません。スケールアップした SQL Server ソリューションを VB.net (多少の変更を加えるだけで Access VBA をプラグインできます) と結合するか、他のフリー言語 (Perl を軽量または Java にするなど) を使用することをお勧めします。

于 2013-01-14T18:59:58.313 に答える
0

これは、テーブルの最初の 2 列を配列に読み込もうとしているようです。SQL Server には配列がありません。VB で配列を読み込んでいます。これは、データベース自体とは何の関係もありません。

SQL Server で元のクエリを実行すると、正常に動作するはずです。

後続のコードをデータベース内のクエリに置き換えることができる場合があります。

また、列を明示的にリストする習慣を身につけてください。

select <col1>, <col2>
from ReportFilter
于 2013-01-14T19:00:07.863 に答える