• ベストアンサー

データ リスト コントロールについて教えてください

AccessのデータをADOデータコントロールを通じてデータリストコントロールに表示させています。データリストの10のリストのうち3番目のリストを取得(マウスで選択せずに)するにはどうすればよいでしょうか?またリストの総数を取得するにはどうすればよいのでしょうか? 大変初歩的な質問ですがよろしくお願いします。

  • dth
  • お礼率57% (26/45)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

先頭から3番目のレコードに移動するには Adodc1.Recordset.Move 2,adBookmarkFirst で移動できます。 Moveメソッドの1つめの引数は移動するレコード数 2つ目の引数は省略可能で、移動の開始位置です。 adBookmarkCurrent(デフォルト値、今のカレントレコードから) adBookmarkFirst(最初のレコードから) adBookmarkLast(最後のレコードから) 3レコード目に移動するということは、最初のレコードから2つ分移動するので、1つ目の引数が2、開始位置は最初のレコードとなります。 1つ目の引数にマイナス値を与えると開始位置から先頭レコードに向かっての移動量となります。 リストの総数=レコードの総数は Adodc1.Recordset.RecordCount で取得できます

dth
質問者

お礼

早速のご回答ありがとうございます!! 親切にご説明いただきまして良くわかりました。 さっそく試してみます。

関連するQ&A

  • リストコントロールにセットするイメージリストについて

    こんにちは。 Windowsでレポート状態表示のリストコントロールについて質問です。 リストコントロールははオーナーデータで表示しています。 一覧でアイテムの横にアイコン(ビットマップ)を表示しています。 またソートできるようにし、コラム部分には昇順か降順か分かるように▲▼が 表示されるようにしようと思っています。 リストコントロールに表示するアイテム用のイメージリストとヘッダー コントロール用のイメージリストを用意し、リストコントロールと リストコントロールから取得したヘッダーコントロールにそれぞれ 追加したのですが、 Header_SetImageList(ヘッダーコントロールのウィンドウハンドル) ; ListView_SetImageList(リストコントロールのウィンドウハンドル) ; 上記の順番では後から追加したイメージリストで上書きされてしまいました。 Header_GetImageListでイメージリストを取るとListView_SetImageListで セットしたイメージリストのハンドルが取得されます。 リストコントロールでイメージリストを取り扱う場合はリストアイテムも ヘッダーも一つのイメージリストで管理しなければならないのでしょうか ?

  • データコンボボックスを連動させたい。

    はじめまして、宜しくお願いします。 VB6、SQLサーバーでタイトルのようなことを実現したいと思っています。 データベース(テーブル名:行事履歴)の内容は 年度    行事 ---------------------- 2001    夏期キャンプ 2001    修学旅行 2002    社会見学 となっており、 コンボ1で年度を選択して、選択した年度の行事を コンボ2にリストとして表示したいと思っています。 (例えば、コンボ1で"2001"を選ぶとコンボ2には"夏期キャンプ"、"修学旅行" のみが表示される) 現在やっているのは コンボ1とそれに連結しているADOデータコントロール1、 コンボ2とそれに連結しているADOデータコントロール2を用意して ADOデータコントロール1のRecordSourceには "SELECT DISTINCT 年度 FROM 行事履歴" ADOデータコントロール2のRecordSourceには "SELECT * FROM 行事履歴" としておき、 ADOデータコントロール1のCHANGEイベントで ADOデータコントロール2のRecordSourceを "SELECT * FROM 行事履歴 WHERE 年度 = '" & ADOデータコントロール1.TEXT & "'" としているのですがコンボ2のリストに "夏期キャンプ"、"修学旅行"、"社会見学"が3つとも表示されてしまい、 うまく連動してくれず行き詰っています。 (一応、コンボ2の.Refreshメソッドを行っているのですがうまくいかないようです。) もしもなにかお気づきの方が居られましたら、ご教授ください。 宜しくお願いいたします。

  • 2つのテーブルのデータをそれぞれリストに表示して選択したい

    VB6で以下のようなプログラムを作っています。 Aテーブルのデータを一覧表示するリスト1とBテーブルのデータを表示する リスト2があって、リスト1で選んだデータとリスト2で選んだデータの 組み合わせによって、エクセルにデータを出力します。 ・MS-ACCESSのmdbのテーブルからデータを表示(DAOを使っているようです。) ・リストは表示のみ、入力はなし ・複数行選択あり ・初期表示時に、あらかじめあるデータを選択状態にして表示 ヘルプをあちこち見た結果、LISTVIEWが近いかなと思って、やってみている のですが、リスト1で選択しても、リスト2を選択すると、リスト1の反転 が消えてしまうんです。両方選択状態にしておきたいんですけど、LISTVIEW じゃできないんでしょうか?ただ、業務で作成されているコントロールなども 使っているので、その影響がないとも言えません。なので「できるはずだ!」 という回答でも構いません。 あと、リストに入力できてしまいます。選択はできるけど、入力は不可という 状態にできるのでしょうか? ヘルプをあちこち見てみたんですけど、ヘルプ自体がよくわからなくて。。。 アドバイスよろしくお願いします。

  • リストボックスから選択したデーターの一つだけを取得する

    VB5.0を使っています。 WIN2000です。 MDBとVBを使っています。 まず、顧客ID・顧客氏名・電話番号  この3つが1つのデータとして横並びの文字列で、リストボックスに表示されてゆきます。 リストボックスに表示したデータを選択し、その選択したデータの”顧客ID”だけを取り出して同じフォーム内のテキストボックスにいったん出し、そこから別のフォームに飛んでその”顧客ID”を元にデータの詳細を出す、といったものを作っていますが、 今のわたしの書いてるコードだけでは、何番の顧客IDを出しても、 別のフォーム(契約入力)に行くときには同じ1番の人のデータ詳細しか出ません。 「リストボックスから選択したデーターの一つだけを取得する」 には、どのようなコードを書けばいいか、教えていただけないでしょうか・・。 リストボックス(List1)から選択してテキストボックス(Text5)に取得する際にはすでに”顧客ID”だけを取り出したいのです。 今のコードでは、顧客ID・顧客氏名・電話番号 とすべてテキストボックス(Text5)にでてきてしまいます。 Private Sub cmnd2_Click()’選択ボタンclickでリストボックスのデータを取得。 Dim ListIndex As Integer Dim SelectedIndex As Integer Text5.Text = List1.List(List1.ListIndex)'→ここでリストボックスからデータを取得しています。 End Sub

  • MFCでのリストコントロール

    現在VisualStudio.NET2005を使ってダイアログベースでプログラムを組んでいます。 その中でリストコントロールを配置しており、表形式で表示しています。 普通だったら実行してリスト上にあるデータをクリックすると背景が青になり、選択された状態になりますよね? それをクリックしても選択されないようにしたいのです。 プロパティで簡単にできるかと思ったらそうでもなさそうで・・・。 SetExtendedStyleでも使うのかな?と思って、 調べたのですが、ちょっとわからなかったので、 教えて頂きたいのです。 よろしくお願いします。

  • Access コントロール(Listbox or Combobox)へのデータ貼り付け

    OS:Windows2K Pro Access Version:2000 参照設定: Microsoft ActiveX Data Objects 2.5 Library Microsoft ActiveX Data Objects Recordset 2.5 ibrary Microsoft ADO EXT. 2.5 for DDL and Security Microsoft Jet and Replication Objects 2.5 Library リンクテーブルを一切使わずに、ADOだけでフォームを作成しようと思っているのですが、壁に突き当たってしまったので、質問させてください。 リストボックスやコンボボックスに"Table/Query"でデータを表示したいのですが、可能なのでしょうか? 参考にしている本では、 me!Listbox.recordset = adoRST.Clone でRecordsetを貼り付けられる、旨の記述があるのですが、実行すると、 「エラー番号 : 438  エラー内容 : オブジェクトは、このプロパティまたはメソッドをサポートしていません。」 とエラーが返ってきます。 私なりに調べた限りでは、「Access2000ではADOによるRecordsetをコントロールへ貼り付けられない」との記事を見かけたのですが...Access2002(両方インストールしています)で試したところ、同様のエラーが発生してしまいました。 また、表示するデータが多く、「値リスト」は利用できません。 教授いただけませんでしょうか? よろしくお願いいたします。

  • ASP.NETのCheckboxlistコントロールで取得した値をSQLデータソースコントロールに渡すにはどのようにしたらいいでしょうか??

    素人なのでうまく説明できないかもしれませんが、どうぞ宜しくお願い致します。 ASP.NETのCheckboxlistコントロールで取得した値をSQLデータソースコントロールに渡すにはどのようにしたらいいでしょうか?? 複数のチェックボックスリストを配置し、それぞれのチェックボックスリストで選択されているものに該当するもの、チェックしている条件全てを満たすものをデータベースから取得し、GridViewで表示したいのですが、どのようにコードの部分を書いたらいいのか見当がつきませんでしたので、詳しい方に教えていただけたらと思っておりました。 特に分からないのが、一つのチェックボックスリスト内で1つしか選択できないのであれば、その値をセッション変数に入れてデータソースコントロールに渡すことができるのですが、複数個を指定することができる状態だと複数のセッション変数に入れる事になり、その際にデータソースコントロールにデータを渡すとなるとどのようにしたらいいのかが分かりません。 と言っても現状で思いつく方法がこれ位で、詳しい方からすればもっと良い方法があるかもしれませんので、上記の事柄を行う良い方法があったら是非御教授いただけたらと思っております。 宜しくお願い致します。

  • 複数のレコードを取得する方法

    VB6とデータベース(ACCESS2003)で ADOを利用して「条件に一致するレコードを取得する」ということを勉強しています。 選択クエリーを指定してリストボックスに取得したデータを表示させています。 そこで質問なのですが 条件に一致するレコードが複数ある場合、それらをすべてリストボックスに表示させる方法を教えてほしいのです。 一番最初のデータしか表示されません(泣) 宜しくお願いします。

  • リストボックスの値の再表示

    こんにちは! リストボックスを選択した後に、submitボタンを押して同一 ページに飛んだ際に、選択したリストボックスの値を表示させたい (一番上の値に戻ってしまいます。) のですがどのようにすれば可能でしょうか? ちなみにリストボックスはAccessをADO接続しています。

  • VC++ VS2005 タブコントロールに貼り付けたリストコントロールが消える

    こんばんは。 早速ですが質問です。 VC++ .NET MFCプロジェクトで リソースエディタでダイアログにタブコントロールを貼り付け(1)、 そこに同じようにリソースエディタでリストコントロールとボタンを 貼り付けたダイアログを作りました(2)。 1のタブコントロール上に2をソースで貼り付け 表示させ、2のInitDialogとボタンクリックのイベントを作成して Listコントロールに値を入れるということをしたのですが リストコントロールの表示が消えてしまいます。 マウスでリストコントロールが貼りついている位置にカーソルを当てるとその部分がでてきます。 原因のお分かりになるかたご回答よろしくお願いします。