<第11回> |
親テーブルと子テーブル 兵庫県立西宮香風高等学校 松本吉生 ymatsumoto@hyogo-c.ed.jp |
<<前のページへ | |||||||||||||||||||||||||||||||||||||||
サンプルデータの追加入力 | |||||||||||||||||||||||||||||||||||||||
デザインしたフォームを使ってデータ入力を行うため、フォームを「フォームの入力モード」で開く。InfoPathを起動すると、右側の「作業ウィンドウ」で「フォームの入力」に既に作って保存された「テストデータ入力フォーム」の項目があるので、これをクリックする。 | |||||||||||||||||||||||||||||||||||||||
「クエリフォーム」が表示されるので「表示」メニューから「成績一覧表」をクリックする。 | |||||||||||||||||||||||||||||||||||||||
SQL Serverにはすでに以下のような3件のデータが入力されているはずである。これを確かめるには「クエリの実行」ボタンをクリックする。そのときは「新しいレコード」ボタンを押して、このフォームに戻ろう。 | |||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
次にこのフォームを使って以下の6件のデータを入力する。データは1レコードごとにフォームへ入力し、「送信」ボタンを押す。 | |||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
データが入力できたら「クエリの実行」ボタンを押して確認する。 | |||||||||||||||||||||||||||||||||||||||
SQL Serverで入力されたデータを確認する | |||||||||||||||||||||||||||||||||||||||
SQL Severのエンタプライズマネージャーを起動してkofu_dbデータベースを選択し、tbl_seisekiテーブルを開いて、InfoPathから入力されたデータを確認してみよう。 |
|||||||||||||||||||||||||||||||||||||||
全部で9件のデータが登録されていることと、自動的に連番のdata_idが生成していること、データを登録した日付がcreate_datetimeフィールドに登録されていることが確認できる。 | |||||||||||||||||||||||||||||||||||||||
子テーブルとなる新規テーブルを作成する |
|||||||||||||||||||||||||||||||||||||||
「操作」メニューの「新規テーブル」をクリックし、子テーブルとなるテーブルを作成する。 | |||||||||||||||||||||||||||||||||||||||
作成する子テーブルは、学籍番号と生徒氏名を関連付けるデータを保存することとする。フィールドはデータ型がintで長さが4の「seito_cd」、データ型がcharで長さが20の「seito_nm」を定義する。 | |||||||||||||||||||||||||||||||||||||||
フィールドの定義ができたらテーブルを保存する。テーブル名は「tbl_seito」とした。 | |||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
クエリアナライザに戻り、テーブルができていることを確認する。tbl_seisekiは前に作った親テーブル、tbl_seitoはここで作った子テーブルだ。 | |||||||||||||||||||||||||||||||||||||||
サンプルデータの入力
|
|||||||||||||||||||||||||||||||||||||||
クエリアナライザで作った子テーブルを右クリックし、「テーブルを開く」−「全行を返す」を選択してテーブルを開く。 |
|||||||||||||||||||||||||||||||||||||||
サンプルとして次のデータを入力しておこう。 |
|||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
子テーブルができてサンプルデータの入力が終われば、クエリアナライザによるSQL Server側の作業は終わりだ。 |
|||||||||||||||||||||||||||||||||||||||
データソースの新規作成 | |||||||||||||||||||||||||||||||||||||||
InfoPathで親テーブルと子テーブルの間にリレーションシップを設けるには、データソースの構成をしなければならない。既存のデータソースに子テーブルを関連付けることもできるが、ここでは新しくデータソースを作ってみることにしよう。 InfoPathを起動したら、作業ウィンドウから「フォームのデザイン」−「フォームのデザイン」をクリックする。 |
|||||||||||||||||||||||||||||||||||||||
「新しいフォームのデザイン」−「データソースから新規作成」をクリックする。 | |||||||||||||||||||||||||||||||||||||||
「データソースセットアップウィザード」が起動するので、必要な項目を指定しながらデータソースを構成していく。最初の画面ではデータベースの種類を選ぶ。この作業は一度やったことがあるので、覚えている人はどんどん進んでいけるだろう。最初の画面では「データベース(MicrosoftSQLServerまたはMicrosoftOfficeAccessのみ」を選択して「次へ」すすむ。 | |||||||||||||||||||||||||||||||||||||||
「データベースの選択」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
「新しいSQL Server接続」をクリックし「開く」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
サーバ名とログイン時のアカウント、パスワードを入力する。ここではサーバ名はSQLSV、ユーザ名はデフォルトのsaを使っている。 |
|||||||||||||||||||||||||||||||||||||||
データベースへの接続が成功すると、テーブルの一覧を表示できる。「使用するデータが含まれているデータベースを選択」のドロップダウンリストを開き、「kofu_db」データベースを選択する。 | |||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
「kofu_db」データベースには「tbl_seiseki」という名称の親テーブルと「tbl_seito」という名称の子テーブルがある。まず親テーブルである「tbl_seiseki」を選択して「次へ」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
ここまでの設定で終了のメニューになるので、とりあえず保存する。ファイル名は既に「tbl_seiseki.odc」という名称のデータ接続ができているので、上書きすることになる。「説明」のところに「成績テーブルと生徒名テーブルのリレーションシップ」と書いてわかりやすくしておき「完了」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
引き続き「データソースセットアップウィザード」が起動し、今一度SQL Serverへのログインを行うダイアログが表示されるので、サーバ名、ログインID、パスワードを入力し「OK」ボタンを押す。 | |||||||||||||||||||||||||||||||||||||||
「データソースセットアップウィザード」では、親テーブル「tbl_seiseki」の全てのフィールドが選択されている。子テーブルを追加しリレーションシップを確立するには「テーブルの追加」ボタンをクリックする。 |
|||||||||||||||||||||||||||||||||||||||
「テーブルまたはクエリの追加」ウィンドウが表示され、追加できるテーブルの一覧が得られる。「tbl_seiseki」はすでにデータソースとして定義された親テーブルである。ここで追加したいテーブルは「tbl_seito」の子テーブルであるので、選択して「次へ」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
次のウィンドウは「リレーションシップの編集」だ。このサンプルでは、親テーブルと子テーブルに「seito_cd」という同じ名称のフィールドを作ったので、自動的にリレーションシップを確立してくれるのだ。編集したいなら「リレーションシップの削除」や「リレーションシップの追加」を手作業で行うことになるが、ここではこのままでいいので「完了」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
親テーブルとして「tbl_seiseki」が、子テーブルとして「tbl_seito」が設定された。「次へ」をクリックする。 | |||||||||||||||||||||||||||||||||||||||
データソースセットアップウィザードが終了した。「完了」ボタンをクリックする。 | |||||||||||||||||||||||||||||||||||||||
デザインビューの「データソース」作業ウィンドウで、使用するデータソースとして2つのテーブルを含むデータソースができていることがわかる。 | |||||||||||||||||||||||||||||||||||||||
このページのまとめ | |||||||||||||||||||||||||||||||||||||||
このページではSQL Serverに子テーブルを作り、「データソースの新規作成」で親テーブルと子テーブルのリレーションシップを確立したデータソースを作ることをした。次はこのデータソースから、リレーションシップを使ったビューをデザインしてみる。 なお、このページでは、特に断りのない限り、サーバはWindows 2000 Server と SQL Server 2000、クライアントはWindows XP Professional と Info Path 2003、を使って説明していく。筆者のメールアドレスはymatsumoto@hyogo-c.ed.jpだ。 |
|||||||||||||||||||||||||||||||||||||||
mailto:ymatsumoto@hyogo-c.ed.jp :←ここをクリックして筆者にメールを送る | |||||||||||||||||||||||||||||||||||||||
matsumotoyshio.com 2004/05/08
|
|||||||||||||||||||||||||||||||||||||||