• ベストアンサー

抽出したデータから、別のフィールドのデータを見るには?

説明が下手でごめんなさい。初心者なので用語もちゃんと使えてませんが、アドバイスおねがいします。 住所録を作っていて、ID・NAME・ADDRESSの3つのフィールドがあります。 今はNAMEのデータを一覧で出せるだけなのですが、 NAMEの全データをを1個ずつ押せるように(ハイパーリンクのように?)して、そのNAMEデータに対応したADDRESSのデータを見られるようにしたいのですが、何かいい方法はありませんか? OSはWindowsXP DBはACCSESS2000で、 ASPを使っています。

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

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

> <a href="http://~addata.asp?id={ID}">{NAME}</a>の      ↑↑↑…ここは何のURL(?)を入れたらいいのですか?それから、addataとは何ですか?知識が乏しくて テキトーで済みません^^; NAMEをリンクして、住所を表示させたいのですよね? という事は、住所を表示させる為の別のファイルを作成するのでは?という事からきています。 ですから、<A>タグを利用し、別のページへIDを渡しています。 adddata.aspで、IDから住所情報を取得し、表示させる、 という動作を想像しました。 ここで言っている「adddata」というのは、 「AddressData」を省略しちゃいました。 「Add」の意味がちょっと分かり辛いですね・・・。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

SQL Serverというより、ASPの質問ですね。 NAMEを取得する際に、IDも取得し(IDで条件をしているようではない様子。全件出力?)、 出力する内容は、 <a href="http://~addata.asp?id={ID}">{NAME}</a> などとすれば良いのでは? {ID}などは、ASPの記述が分かりませんので、適当に記述してしまっていますが、 DBから取得してきた値です。

piyopuu
質問者

補足

アドバイスありがとうございます! もう一つ質問させていただいていいですか? <a href="http://~addata.asp?id={ID}">{NAME}</a>の      ↑↑↑…ここは何のURL(?)を入れたらいいのですか?それから、addataとは何ですか?知識が乏しくて本当にすみません。教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • データコンボに2つのフィールドを表示

    立て続けに質問すいません。 データコンボのListFieldに2つのフィールドを 表示させたいです。 フィールド名は ID name です。 ________________ |       ▼| | ̄| ̄ ̄ ̄ ̄ | | 1 | suzuki   | | 2 | satou   | | 3 | takahasi |  ̄ ̄ ̄ ̄ ̄ ̄ 上みたいな感じに表示したいんです。 Set DataCombo.RowSource = rs DataCombo.ListField = "ID,name" DataCombo.BoundColumn = "ID" 上のプログラムではエラーが出ます。 すいません!教えてください!

  • データベースのフィールドのデータ型について

    くだらない質問で申し訳ありませんが宜しくお願いします。 下記のようなデータを格納するテーブルを構築しています。 ・ユーザーID ・名前 ・カタカナ ・パスワード ・年齢 ・郵便番号 ・住所1 ・住所2 ・住所3 ・電話番号 ・メールアドレス ・備考 ・削除フラグ ・登録者 ・登録日 ・更新者 ・更新日 上記の内容を下記のようなテーブルのフィールドのデータ型を考えました。 ・ユーザーIDのデータ型をVARCHAR(4) ・名前のデータ型をVARCHAR(32) ・カタカナのデータ型をVARCHAR(32) ・パスワードのデータ型をVARCHAR(255) ・年齢のデータ型をINTEGER ・郵便番号のデータ型をVARCHAR(8) ・住所1のデータ型をVARCHAR(255) ・住所2のデータ型をVARCHAR(255) ・住所3のデータ型をVARCHAR(255) ・電話番号のデータ型をVARCHAR(18) ・メールアドレスのデータ型をVARCHAR(255) ・備考のデータ型をTEXT ・削除フラグのデータ型をVARCHAR(1) ・登録者のデータ型をVARCHAR(4) ・登録日のデータ型をTIMESTAMP ・更新者のデータ型をVARCHAR(4) ・更新日のデータ型をTIMESTAMP そうしたら下記のような風にテーブルのフィールドのデータ型にしたら格納する文字列の桁エラーが起こらないからどうといわれました。 ・ユーザーIDのデータ型をVARCHAR(4) ・名前のデータ型をTEXT ・カタカナのデータ型をTEXT ・パスワードのデータ型をTEXT ・年齢のデータ型をTEXT ・郵便番号のデータ型をTEXT ・住所1のデータ型をTEXT ・住所2のデータ型をTEXT ・住所3のデータ型をTEXT ・電話番号のデータ型をTEXT ・メールアドレスのデータ型をTEXT ・備考のデータ型をTEXT ・削除フラグのデータ型をVARCHAR(1) ・登録者のデータ型をVARCHAR(4) ・登録日のデータ型をTIMESTAMP ・更新者のデータ型をVARCHAR(4) ・更新日のデータ型をTIMESTAMP ※現在、使用しているデータベースはPostgreSQLですが、Microsoft SQL ServerやOracleやMySQL等の他のデータベースでもいいものなのかもご教授いただけると助かります。 私の知識不足でどちらがいいのかがわからず投稿させてもらいました。 申し訳ありませんが皆さんのお知恵をお貸し下さい。 宜しくお願いします。

  • 親子関係があるテーブルでの抽出

    教えてください。 ASPでMDBを検索したいのですが、 SQLにどうかけばいいのか悩んでします。 テーブルAがあります。 ID、名前、住所、親IDというフィールドがあります。 実は親子関係がこのテーブルには含まれていまして、 子データには、親IDに親データのIDが入っています。 子データにも名前、住所が入っています。 親データの親IDには0が入っています。 このテーブルAの名前・住所・子データの名前・子データの住所で 文字検索したいのですがどのようなSQLになりますか? 子データは、ないものもあります。 以上よろしくおねがいします。

  • GridViewからテンプレートフィールドのEvalにおける、値の取得

    現在VisualStudio2005 ASP.NET VBで作成しております。 現在、GridViewを使用しておりまして、バウンドフィールド、ハイパーリンクフィールド、テンプレートフィールド、 をそれぞれ、配置しております。 <asp:ButtonField DataTextField="expression_no" HeaderText="No" SortExpression="expression_no" Text="ボタン" CommandName="Details" > <ItemStyle CssClass="GridBorder" /> </asp:ButtonField> <asp:BoundField DataField="item_name" HeaderText="商品名" SortExpression="item_name" > <ItemStyle CssClass="GridBorder" /> </asp:BoundField> <asp:TemplateField HeaderText="年額" SortExpression="moneyPerYear"> <ItemStyle HorizontalAlign="Right" CssClass="GridBorder" /> <ItemTemplate> <asp:Label ID="moneyPerYearGrid" runat="server" Text='<%# Eval("moneyPerYear", "{0:c0}") %>'></asp:Label> </ItemTemplate> <FooterTemplate> <asp:Label ID="lblSummary1" runat="server" ForeColor="Red"></asp:Label> </FooterTemplate> <FooterStyle HorizontalAlign="Right" /> </asp:TemplateField> ハイパーリンクフィールドがクリックされたタイミングで、そのクリックされた行の、データを取得したいと考えております。 Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) ' コマンド名が“Details”の場合にのみ処理 If e.CommandName = "Details" Then ' 主キー(isbn列)の値を取得 Dim isbn As String = GridView1.DataKeys(e.CommandArgument).Value.ToString Session("Gridrow") = GridView1.Rows(e.CommandArgument) Dim datarow As TableRow = Session("GridRow") Labaffiliation_name.Text = datarow.Cells(0).Text '証明No Labinsurance_item_name.Text = datarow.Cells(1).Text '商品名 LabPerYearContract.Text = datarow.Cells(2).Text '年金額 End If End Sub 下記のプログラムを実行すると、データが取得できるのはバウンドフィールドでGridViewにデータバインドしている Labinsurance_item_name.Text = datarow.Cells(1).Text '商品名 のみで、他のフィールドのデータが取得できません。 どなたかご教授いただけますと幸いです。

  • フィールドのデータ型を取得して判断したい

    syscolumns から 各フィールドごとのデータ型を取得して「数字」項目か「文字」項目か判断させたいのです。 要は Where句で使うパラメータにフィールドが「文字」項目であれば自動的に「'」を付与するようにしたいのです。 下記のSelect文でscaleがNULLにも関わらずタイプに「文字」と入りません、どうしてでしょうか ---------------------------------------------------------------- select sc.name as フィールド名,sc.scale,case sc.scale when null then '文字' else '数字' end as タイプ from マスター管理_DB.dbo.sysobjects as so join マスター管理_DB.dbo.syscolumns as sc on so.id=sc.id join マスター管理_DB.dbo.systypes as st on sc.xtype=st.xtype where so.type='V' and left(so.name,2)='K_' and LEFT(st.name,3)<>'sys' ---------------------------------------------------------------- (フィールド名)  (scale)  (タイプ) 勘定科目コード   0     数字 勘定科目名    NULL   数字(←「文字」になってほしい) 貸借         NULL   数字(←「文字」になってほしい) 計科目名      NULL   数字(←「文字」になってほしい) ---------------------------------------------------------------- また、日付(日時)を判断できる項目はないでしょうか? よろしくお願いします。

  • 希望の位置へフィールドを追加するには?

    希望の位置へフィールドを追加するには? WinXP、Access2003を使っております。 テーブルに希望の位置へフィールドを新たに追加する為にはどうすれば良いでしょうか? テーブル名:顧客データ フィールド: 名称(メモ型) 住所(テキスト型) 担当営業(テキスト型) 取扱品目(メモ型) 備考(テキスト型) 1.メモ型をテキスト型へ変更するのが目的の為、   既存の「名称」、「取扱品目」のフィールド名の最後に「2」を追記します。 2.名称と取扱品目のテキスト型のフィールドを新たに追加します。 Private Subコマンド1_Click() Application.CurrentDb.TableDefs("顧客データ").Fileds("名称").Name="名称2" Application.CurrentDb.TableDefs("顧客データ").Fileds("取扱品目").Name="取扱品目2" Dim db As Database Set db = CurrentDb db.Execute "ALTER TABLE 顧客データ ADD COLUMN 名称 TEXT(255)" db.Execute "ALTER TABLE 顧客データ ADD COLUMN 取扱品目 TEXT(255)" db.close Set db = Nothing MsgBox "終了" End Sub 上記だと新しいフィールドが最後(一番下)に出来てしまします…希望の形は 名称2(メモ型) 名称(テキスト型) 住所(テキスト型) 担当営業(テキスト型) 取扱品目2(メモ型) 取扱品目(テキスト型) 備考(テキスト型) 以上、ヒント等ご指南よろしくお願いいたします。

  • Accessのテーブルフィールド属性の抽出

    Access2003で作成したデータベースで、各フィールド(IDや名前、住所など)の属性(数値型といったデータ型やさらなる詳細(「標準」「ルックアップ」で設定できる内容)、長整数型、値要求「いいえ」など)を一度に抽出することはできないでしょうか。 よろしくお願いします。

  • Access上のデータをExcelのハイパーリンクに取り込みたい。

    AccessのフィールドにあるHPアドレスデータをExcel上にハイパーリンクデータとして取り込む方法を教えてください。 データとして取り込むことは可能ですが、ハイパーリンクデータとならないのでうまく活用できません。 外部データとして取り込む方法か、Excel上でデータを一括してハイパーリンクデータに変更する方法を教えてください。

  • ファイルメーカー8 データ加工後、別テーブルのフィールドへ移行

    こんにちは!! スクリプトにより、 フィールドのデータを、別テーブルのフィールドへ、 加工してから移行する時、どのようにやっていますか? たとえば、 テーブル1、テーブル2とあります。 テーブル1にはIDフィールド、テーブル2にはお客様番号フィールド。 移行したいレコードを、チェックボックスにより選択させ、 スクリプトを実行したとき、 選択されたレコードに対し テーブル1のIDフィールドを元に、 "hoge"を文頭に追加してから、テーブル2のお客様番号フィールドに 入力。 1レコード終わったら、次のレコード。 試しに1つ作ってみました。 移行元フィールドのデータをコピーし、移行先フィールドに移動、 貼り付け。 まだ、複数レコードがあっても、1フィールドだけなので 大丈夫ですが、 こういう処理をしたいフィールドは30以上あります。 もっと良いスクリプトの書き方は、ないでしょうか? なぜこのような事がしたいかと言いますと、 多店舗あるネットショップの顧客情報などを管理したいと思ってます。 それぞれのネットショップでは、顧客情報や商品情報などを 独自のフィールドでCSVとして吐き出します。 各店舗用テーブルへCSVを取り込み、 それぞれのスクリプトにより、 加工しながら、一括管理テーブルへと移行させたいのです。 説明が下手で申し訳ありませんが、何卒よろしくお願いいたします。

  • ACCESSデータベースにフィールドを追加したい

    ACCESSのデータベースのテーブルにフィールドを追加したい? ACCESS初心者です。 ACCESS2000で作成したデータベースのテーブルにフィールドを追加したいのですが どうすればいいですか? 例: テーブル:TABLE  フィールド   KT_ID:Short KT_NAME:Text(100) KT_ADDRESS1:TEXT(100) KT_ADDRESS2:TEXT(100) KT_CODE:Short これに テーブル:TABLE  フィールド   KT_ID:Short KT_NAME:Text(100) KT_ADDRESS1:TEXT(100) KT_ADDRESS2:TEXT(100) KT_CODE:Short KT_COMMENT:TEXT(100) →これを追加したいのですが? よろしくお願いします。