データベースへのアクセス方法とデータ表示の方法

このQ&Aのポイント
  • 専門学校の卒業研究で、オラクルマスターの学習支援ソフトを作成中です。データはAccessに保存し、VBでフォームを作成します。
  • Accessから取得したデータをテキストボックスに表示して改行させる方法について教えてください。
  • また、コマンドボタンを使ってデータの移動(次のデータへ進む、前のデータに戻る)方法も教えてください。
回答を見る
  • ベストアンサー

データベースへのアクセス

専門学校の卒業研究で、オラクルマスターの学習支援ソフトを作っています。 基本的にはVBでフォームを作り、Accessからデータを取り込もうと 思っています。テキストや問題をAccessに保存しておき、VBに呼び込もうと しています。 それで、Accessから取ってきたデータをテキストボックスに表示させて、 幅を読んで、適当なところで改行させたいのですが、どういう風にコードを 記述すればいいんでしょうか? あとコマンドボタンで次のデータへ行かせたり、前のデータへ戻らせたい のですが、その書き方も分かりません。 金曜日に詳細設計書の提出で、来週の火曜日にはプロトタイプでのプレゼンが 控えているので、ぜひよろしくお願いします。

noname#5356
noname#5356

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

  • ベストアンサー
  • zerosix
  • ベストアンサー率31% (47/149)
回答No.2

>DBに接続、とはどういう風にすればいいんですか? DAOでつないでみます。 VBで参照設定をDAOにして、次のようにします。参考にしてみてください。 時間がないので後の質問は、パスさせていただきます。 Dim DatabaseObject As Database Dim RecordsetObject As Recordset Dim strSQL As String Dim FieldObject As Field 'DB接続 Set DatabaseObject = DBEngine.Workspaces(0).OpenDatabase("DBName.mdb") 'SQL設定 strSQL = "select * from AAAテーブル" 'レコード参照 Set RecordsetObject = DatabaseObject.OpenRecordset(strSQL) Set FieldObject = RecordsetObject.Fields(0)

その他の回答 (1)

  • zerosix
  • ベストアンサー率31% (47/149)
回答No.1

DBに接続して、SQLを発行すれば、取得したいレコードが取れると思いますが。 >幅を読んで、適当なところで改行させたい 幅って何ですか? 改行させるには、vbCrLfをつっ込めばできますよ。 >コマンドボタンで次のデータへ行かせたり、前のデータへ戻らせたい データって何ですか?レコードのことですか? 次へ進めるのは、MoveNextメソッド等を使用すればいいかと思いますが。 どのくらい調査したのか、具体的に書いているほうがいい回答を えられますよ。

noname#5356
質問者

補足

ありがとうございます。 改行のことですが、テキストボックスよりも長い文章を表示させたくて、 今の状態では、スクロールしなければならなくなっています。 そうではなく、テキストボックスのいちばん右に来たら、勝手に次の行へ 移る、ということをさせたいのです。 DBに接続、とはどういう風にすればいいんですか?

関連するQ&A

  • ACCESS、EXCELの限界?

    ACCESS、EXCELで表示できる列数の限界について教えて下さい。 VBからの操作で、Oracleのテーブルの内容をACCESSで表示する仕組みを考えています。 Oracleのテーブルの列数が350近くもあり、ACCESSで表示することができません。CSVで出力したとしても、Excelで表示できません。どちらも255以上の列は表示できないようでした(256列以上は途切れて表示される)。 となると、Oracleのテーブルの内容をVBのグリッドに表示するしか方法はないでしょうか? もしそれしか方法が無いようであれば、グリッドに表示するか、ビューか何かを使用して表示列を絞り込む(これは最終手段にしたいです)かどちらかにしなければなりません。 一番いいのは、そのままACCESSに表示することなんですが。テキストで延々と出力するだけでは、データの編集がやりにくいので困っています。 よろしくお願いいたします。 開発環境は、Win2000(SP2)、Oracle8.1.6、VB6.0(SP3)、OFFICE2000(SR-1、SP2)です。

  • ACCESSのフォームについて

    いつもお世話になっております。 Accessですでにあるデータベースに新しいマスタを追加し、テーブルに挿入しました。リレーションシップで連結しました。  フォームに新しくそのデータを表示するテキストボックスを作ったのですが、プロパティのコントロールソースに新しいマスタの項目がなく、新しいマスタのデータを表示できません。 新しいマスタを後から追加した場合、もう一度フォームウィザードで作り直す方法しかないのでしょうか? 普通は設計段階でこのようなことがないようにすると思いますが、なにぶん、データベースに関しては初心者なのでこのようなことになってしまいました。 どうぞよろしくお願いします。

  • VB2005でデータベースから抽出・表示

    VB2005超初心者です。 TextBoxのテキストデータを含むデータを全てデータグリッド上に表示させるっていうのを作りたいんですがどうしたらいいですか??ちなみにデータソースはアクセスでVB2005はExpressです。

  • データベースソフト「アクセス」のプログラム

    アクセスで15年ぶりに設計作業に携わっています。その中で設計の仕方に問題があるのか、データが取得できないため困っています。レポートに複数のテキストボックスを置き、レポート全体のデータソースは”売上情報”という名のテーブルからの選択クエリー[q_売上情報]としています。問題なのは、あるテキストボックスに表示させたい情報が、クエリーのデータの中で、あるフィールドの一部の情報だけとなる事です。具体的には下記のとおりです。   レポートの(1)テキストは[q_売上情報]の[事業所]フィールドのデータが”1”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。   レポートの(2)テキストは[q_売上情報]の[事業所]フィールドのデータが”null”で且つ[商品]フィールドのすべての条件の際の、[売上金額]フィールドのデータを集計させて表示させたい。   レポートの(3)テキストは[q_売上情報]の[事業所]フィールドのすべてのデータで且つ[商品]フィールドのデータが”0”の際の、[売上金額]フィールドのデータを集計させて表示させたい。  レポートの(4)テキストは[q_売上情報]の[清算日]フィールドから抽出した日付データを表示させたい。   最終的にレポートには縦列が日付で、横列に左から(4)(1)(2)(3)の順に並ばせて、日付ごとの売上データを表示させて完成、です。 各テキストボックスのデータソースにSQL分を書き込んで表示させようとしましたが、データが一位に取れないからなのか(?)テキストのデータが すべて「#Name?」となってしまいます。 そもそも設計の仕方に問題があるのではとも思いますが、解決策が見当たりません。どなたかお教えただけませんか?

  • データベースは何が良いでしょうか?

    現在、データベースを使用するシステムを構築しようとしています。 現在、想定している環境は、以下の通りです。 1.Windows2000上で動作する。 2.データベースの読み書き用のプログラムは、VB.NETを使用して開発する。 3.テーブルのレコード数は最大1000×365=約37万件 (1000件の顧客で、356日分のデータ) 4.1顧客につき、1月単位、1日単位でデータの表示及び印刷を行う。 現在、データベースの候補として、 ACCESS SQLサーバー オラクル MySQL等を想定しています。 私としては、パフォーマンス的に問題ないならACCESSにしたい。問題があるならSQLサーバーにしたいと考えております。理由は、VB.NETに合うのは同じマイクロソフトの製品だろうという漠然としたものです。また、ACCESSが一番簡単でてっとり早いような気がしたからです。 上記の中で、お薦めのデータベースがありましたらコメントください。またその理由もお願いします。(上記以外でもかまいません)

  • ACCESSでの改行コード

    ACCESSでの改行コードの入力方法を確認させてください。 ACCESSのテーブルにテキスト型のフィールドを用意し、一つのフィールドに改行が入ったデータを入力したいと考えています。 以下の方法を試してみましたが、改行コードが入っていないように思えます。 1.エクセルで一つのセルで、ALT+ENTERで文字列を入力し、テーブルにデータをインポート。 2.上記エクセルのデータをCSVで保存したものをテーブルにインポート。 これら2つのデータをテーブルで確認すると、改行はされていないですし、テーブルのデータをエクスポートしたものも改行はされていませんでした。 フィールドの設定で何か必要なんでしょうか? それとも、テキスト型のフィールドには改行コードを持てないんでしょうか?

  • データベースにテキスト型で入っている数値を並べ替えるには?

    VB6.0で開発しているのですが、 ACCESSにテキスト型で入っている数値のデータを、 SQL文で抽出してきて、ラベルに順番に表示させようと思ったのですが、 テキスト型を昇順に並べ替えると 1 10 11 . . . 19 2 20 となってしまいます。 数値型に変換しようとも思ったのですが、 データとして数値だけが入るとは限らないので、 どうしていいか困ってます。 何か良い解決策はないものでしょうか? どうぞ、よろしくお願いしますm(_ _)m

  • Accessでテキストデータのインポート

    1レコード7000のパラメーターがテキストに1パラメーターずつ改行された形のものがあります。(3レコード分のデータだと21000行のテキストデータ) これをAccessで取り込みたいのですが、よい方法はないでしょうか? Access初心者で分からず悩んでます。 どうかご助言をいただけないでしょうか? よろしくお願いいたします。

  • データベースの種類と特徴を教えて下さい!

    社内で急遽、人事異動が有り、コンピュータ技術者の派遣 セクションに行くことになりましたがオープン系でaccess やVB、VC、C、C++、SQL、オラクル等、主だったデータ ベースの特徴や用途が全然分からないのでこのままでは クライアントと商談が出来ません。 どなたか簡単に教えて下さい!

  • VBにアクセスのデータベースを読み込みたい(変数の定義)

    こんにちわM(__)M VB超初心者です・・・ 一度テキストにそってアクセスのデータベースをVBで読み込んで、リストを表示したり・・・データを削除したり・・・といったものを作ったことがあるのですが、だいぶ忘れてしまいました。 (SQLというんでしたっけ?) 読み込んでからの処理はこれからいろいろヘルプなので調べていけば解決すると思うのですが、まず読み込む段階ではじめに変数の定義をしますよね? どうやらその変数の定義ができていないらしく、「ユーザー型変数の定義がされていません」といったエラーがでます(実行時) Public wspace As Workspace のWorkspaceが確かに青くなりません。 以前はこれを解決するために、コンポーネントの追加?みたいのでなにか機能を追加したような気がするのですが(人に聞いてやったのテキストがありません・・・)どの機能を追加したのか、思い出せないのです>< この変数の定義さえできれば後は進んでいけると思いますので、この点だけ教えていただきたいです。 またはアクセスデータベースを読み込む解説みたいのがのっているサイトがありましたら教えていただきたいです。(初心者でも理解できるもので) よろしくお願いしますM(__)M

専門家に質問してみよう