• ベストアンサー

Active Report と SQL

Active Reportで作成したRPXファイルにSQLのデータを表示させる手順について質問させて頂きます。調べてみて、ASPファイルに strSQL = "SELECT *, '表示' AS LABEL" の様に書けばいいことはわかったのですが、詳しくわかりません。 'LABEL'の部分が、RPXファイルの1つのオブジェクト(テキストフィールドなど)に対応していると今のところ考えているのですが、お詳しい方ご助言をお願い致します。

noname#213520
noname#213520

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

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

Active Reportには、サンプルプログラムがあるはずなので、 それを調べるのが一番早いかとは思うのですが…。 とりあえず、VBのバージョン、ActiveReportsのバージョン などがまったくわからないので、詳細の解答はできないです。 (ASPってことはWeb?どういう構成で表示しようとしてる?) とりあえず、上のSQLに関して言うと、LABELでつけた名前(または列名そのまま)をテキストフィールドの"DataField"(うろ覚え)に設定すればいいはずです。

noname#213520
質問者

お礼

ご回答ありがとうございます。 もう少し調べてみます。

関連するQ&A

  • SQL文の作成について

    前の質問が解決してないのに、すいません。 SQL文を作成して、関数に投げると配列で 実行結果が返ってくるらしいのですが。 SQL文作成時に変数をWHERE節に組み込む 記述の仕方が自信ないです。以下のような感じです。 Dim srtSql As String Dim Key_Id As String Call Key_Get(Key_Id)  ’キーを取得 strSql = strSql & ”Select Tb*” strSql = srtSql & ” From Tb ” strSql = strSql & ”Where ” srtSql = strSql & ”Tb_Key_Id = ’” strSql = strSql & Key_id & ”’” のように(Accessだとこんな感じ【キーはSring】)ダブルクォーテーションの外に書いてよいのでしょうか?

  • SQL insert文のシングル・ダブルクオーテーション

    ASPで(DBと連結)登録画面を作っています。 登録フォームから「登録」ボタンを押したあとのDBへデータを入力(更新)する時のSQL文で手間取っています。 「パラメータが少なすぎます。1 を指定してください。 」とエラーが出ます。フィールド名は間違っていません。 cateid付近のシングル・ダブルクオーテーションの書き方がおかしいのかなとも思いますが長時間見てますがどこがおかしいか分かりません。 -------------- StrSQL = "insert into contents (" StrSQL = StrSQL & " title, " StrSQL = StrSQL & " naiyou, " StrSQL = StrSQL & " hiduke, " StrSQL = StrSQL & " cateid " StrSQL = StrSQL & ") values (" StrSQL = StrSQL & "'" & title & "'," StrSQL = StrSQL & "'" & naiyou & "'," StrSQL = StrSQL & "#" & hiduke & "#," StrSQL = StrSQL & " cateid " StrSQL = StrSQL & ")" -------------- cateidは入力フォームのセレクトボックスからの値で数値型です。 ご助言頂ければ助かります。 あとなぜinsert文、update、delete文のときはStrSQL = "・・・"と「""」で囲むのでしょうか。 長文すみません。宜しくお願いします。

  • Accessでレポートを作成したい

    Access2000を使っています。 ウィザードを使ってレポートを作成しようとしています。 レポート作成用に新規クエリを作り、レポート作成ウィザードの「フィールドの選択」で新しく作ったクエリを指定し、そこからすべてのフィールドを選択しましたが、印刷形式を選択したところで、「アプリケーション定義またはオブジェクト定義のエラーです」というメッセージが出ます。 クエリの作り方が間違っているのでしょうか。それともクエリの中のテーブル間の結合がうまくいっていないとか…。 「フィールドの選択」では、レポートで表示させたいフィールドだけを選択すればいいんですよね? そのためのクエリも、同じくレポートで表示するフィールドだけを入れればいいんですよね。 そもそも「アプリケーション定義またはオブジェクト定義のエラー」って何なんでしょう…。 初心者ですがよろしくお願いします。

  • SQLとDAOで取得するレコード件数が違う?

    Access2007でSQLで実行した結果と、レコードセットで取得した件数が一致せずに困っています。 いろいろ調べてはみたのですが、なぜかわかりません。 よろしくお願いします。 ○TableA 型 Code1 数値型(主キー) Text テキスト型 Code2 数値型 ○TableA データ Code1 Text Code2 111 AAA 10 112 BBB 15 113 CCC 20 114 DDD 20 ○VBAコード Dim strSQL As String Dim db As DAO.Database Dim rstFind As DAO.Recordset strSQL = "SELECT * FROM TableA Where Code2 = 20" Set db = CurrentDb() Set rstFind = db.OpenRecordset(strSQL, dbOpenSnapshot) MsgBox rstFind.RecordCount この状態でSQLビューから実行すると2件が抽出され、上記VBAを実行するとMsgBoxには「1」と表示されます。

  • SQLの速度をあげるには・・・

    テキストファイルからキーワードを拾って SQLをなげています SQLの質問になってしまうかもしれません いまはADO接続でやっています Open ファイル as input...... SQL = select * from tbl where name like '%キーワード%' execute(SQL) レコードセットの値で処理をいろいろ・・・ Loop もともとのDBの件数がものすごくおおくてselect文に結構な時間が かかってしまいます。速度をあげるほうほうってあるのでしょうか 私にはおもいつかなくて・・・ こういったほうほうは どう? ってのがありましたら おしえていただきたいのですが よろしくおねがいします。

  • ASPでSQL Serverへアクセス

    お世話になります。 ASPでSQL Serverにアクセスしているのですが、 strSQL = "select * from data" dataの部分(テーブル)を全角文字のテーブル指定にするとエラーが発生します。どのように記述すればいいのでしょうか?

  • グループ化したSQLの書き方について

    id,stpass,tokuten,branch,dateというフィールドをもつresultというテーブルを作成しました。 最高得点(フィールド名:tokuten)は、下記SQL(クエリーで作りました)でできます。 SELECT result.id, result.stpass, Max(result.tokuten) AS tokutenの最大 FROM result GROUP BY result.id, result.stpass; ただ、最高得点(Max(result.tokuten) AS tokutenの最大)を出したと同じレコードのそれ以外のフィールド(branch,date) を表示させるSQL(クエリー)がわかりません。 何方か、ご存知の方おられましたら、ご教授ください。

  • Accessのメインレポートとサブレポート

    Accessでメインレポートとサブレポートがあるレポートを作っています。 メインレポートのページが変わるたびに、サブレポートのレコードソースを変更して、サブレポートの再表示をさせたいのですが、どうやればいいのでしょうか? ちなみにメインのほうで以下のように記述しましたが、 (3)でエラーになります。 (エラー内容:記述ミス、または開いていない) Private Sub Report_Page() (1) Dim strSQL As String (2) strSQL = "SELECT * FROM Meisai" _ & " WHERE DenNo = " _ & Format(Reports!r日報!DenNo.Value, "000000") (3) Reports!r明細!.RecordSource = strSQL End Sub

  • SQLの選択処理について

    SQLの選択処理が上手くいきません Dim j As Integer と宣言します。 j=1 とします。  strSQL = "SELECT * FROM LINK WHERE 工番 =j;" だと 上手くいきません。ちなみに  strSQL = "SELECT * FROM LINK WHERE 工番 =1;" だと上手くいきました。   昨日、更新処理時については教えて頂いたのですが 上記は何故上手くいかないのでしょうか?  変数が数字で設定しているから?

  • VB6でのSQL実行について

    VB6でのSQL実行について VB6でのSQL実行について困っています。 SQL文を作成し、ダイナセットで実行している最中にも 再度別のSQL文をダイナセットで実行することは可能なのでしょうか? 言語はVB6.0、DBはOracle9iを使用しています。 イメージ的にはこんな使い方をしたいです。 dim lngRecordRow1 as long 'レコード数1 dim lngRecordRow2 as long 'レコード数2 dim OraDynaset1 As OraDynaset dim OraDynaset2 As OraDynaset dim strSQL as string 'SQL文 dim lngCnt1 as long 'ループカウンタ1 dim lngCnt2 as long 'ループカウンタ2 strSQL= ---SQL文作成1回目--- Set OraDynaset1 = OraDatabase.CreateDynaset(strSQL, ORADYN_READONLY) 'SQL文実行1回目 lngRecordRow1 = OraDynaset1.RecordCount for lngCnt1 = 1 to lngRecordRow1 '--- 処理 --- strSQL= ---SQL文作成2回目--- Set OraDynaset2 = OraDatabase.CreateDynaset(strSQL, ORADYN_READONLY) 'SQL文実行2回目 lngRecordRow2 = OraDynaset2.RecordCount for lngCnt2 = 1 to lngRecordRow2 '--- 処理 --- next lngCnt2 next lngCnt1 1回目で取得したSQL実行結果を行単位でループをまわしつつ、1回目で取得したレコードの結果を条件に使用して別のSQL文を作成し、ループをまわしている最中に実行したいです。 その際、2回目のSQLの結果が2レコード以上の場合、さらにループをまわして条件判別をしたいです。 かなり困っています。回答待ってます。

専門家に質問してみよう