- ベストアンサー
ACCESS SQLで複数データ表示させるには?
- ACCESS SQLを使用して、フォームにテーブルの全レコードを表示させる方法を教えてください。
- 上のコードでは、テーブルの全レコードを表示させるために必要な部分が欠けています。
- この問題を解決するために、以下のリンクを参照しましたが、解決できませんでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ええと・・たとえばレコードが一つだけなら何も問題は無いですよね? まず単票フォームの場合だったとしましょう。 当然1レコードしか表示できないわけですので 私だったらこんな風に考えます(あくまでも一例です) アクティブX コントロールのスピンボタンコントロールを配置します で、そのコントロールの値の増減によって、Rs.MoveNextやPreviousしてから それぞれの値の代入を行えば出来るかと思います。 スピンボタンコントロールは、OldValue の値を持っていてくれないので Public 変数にでもいったん退避させて置くしかないかも Dim SpnVal as Long フォームのオープン時にSpnVal = 0 レコードセットを adOpenDynamic で開いておく スピンコントロール(仮名 Spn)の更新時処理に Private Sub spn_Updated(Code As Integer) if SpnVal > Me!SpnVal Then Rs.MovePrevious それぞれのコントロールに代入処理 Else Rs.MoveNext それぞれのコントロールに代入処理 End if spnVal = Me!spn End Sub 大雑把に言ってこんな風かと思いますが フォームが帳票タイプだと実用的なのは不可能だと思います。 レコード数分のコントロールを予め作っておくのは愚かですし 連結コントロールのような分けにはいきません。 何故、非連結にしたいのか分かりませんが、ユーザーのご修正を排除したいのなら フォームのプロパティで、更新・削除・追加 の許可を「いいえ」にしておくとか レコードセットをスナップショットにしておけば済むかとおもいますよ。
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
Private Sub Form_Load() mySQL = "select * from テーブル" Me.RecordSource = mySQL End Sub とかの方が良いと思いますよ。 それと、折角なら Access Club さんで質問されたほうが良かったのにと思います。 お待ち申しております。。。 ※その時は、こっちは閉じてね!
お礼
ありがとうございます。 >Me.RecordSource = mySQL レコードソースのことをすっかり忘れてました。 >折角なら Access Club さんで質問されたほうが Access Club で質問できる事をすっかり忘れてました。
補足
あぁ、すいません! お礼した後なんですが、もう一度ご回答願います! 前提を書き忘れていました! テキストボックスは非連結なんです。 非連結にしたいんです。 なので、テキストボックスに代入したんです。 よろしくお願いします!