オラクルデータベースから抽出したデータの表示を表示させるには?

解決


スライム  2005-08-25 14:06:16  No: 124444  IP: [192.*.*.*]

'SQLの指定
    prStrSql = "SELECT * FROM SYOUHIN ORDER BY N_SYOUHIN_CD ASC"

    '商品マスタレコードセットオブジェクトへ接続する
    prRsSyouhin.Open prStrSql, prCn, adOpenStatic, adLockOptimistic
    
    '商品CDテキストにデータソースを指定
    Set txtSyouhinCd.DataSource = prRsSyouhin

    '商品CDテキストへ表示
    txtSyouhinCd.DataField = "N_SYOUHIN_CD"

上記のコードだと  商品CDテキストに  ちゃんと表示されるのですが

    'SQLの指定
    prStrSql = "SELECT MAX(N_SYOUHIN_CD) FROM SYOUHIN"

    '商品マスタレコードセットオブジェクトへ接続する
    prRsSyouhin.Open prStrSql, prCn, adOpenStatic, adLockOptimistic
    
    '商品CDテキストにデータソースを指定
    Set txtSyouhinCd.DataSource = prRsSyouhin

    '商品CDテキストへ表示
    txtSyouhinCd.DataField = "N_SYOUHIN_CD" ・・・※

こうすると  ※のところで  「フィールドまたはデータメンバに接続できません」
というエラーが出ます。
なぜでしょうか?

編集 削除
いな  2005-08-25 14:10:48  No: 124445  IP: [192.*.*.*]

抽出しているフィールド MAX(N_SYOUHIN_CD)に対し
N_SYOUHIN_CD を抽出しようとしているからです。

編集 削除
スライム  2005-08-25 14:30:56  No: 124446  IP: [192.*.*.*]

prStrSql = "SELECT MAX(N_SYOUHIN_CD) FROM SYOUHIN"
このSQLで表示させる場合は  どうすればいいでしょうか?

編集 削除
特攻隊長まるるう  2005-08-25 14:54:56  No: 124447  IP: [192.*.*.*]

今回の場合、
>フィールドまたはデータメンバに接続できません
→指定されたフィールド"N_SYOUHIN_CD"が見つかりません。
なので、どんなフィールド名で結果が返ってきてるか?の
確認くらいはして欲しいですが…。

>どうすればいいでしょうか?
AS 句でフィールド名を設定して下さい。

編集 削除
いな  2005-08-25 15:42:42  No: 124448  IP: [192.*.*.*]

SQLをSQL*Plus等で実行したとき、
SELECT MAX(N_SYOUHIN_CD) FROM SYOUHIN
では
MAX(N_SYOUHIN_CD)がフィールド名になるはずです。それが嫌なら名前をかえてやる単純に、フィールド名をリネームすれば言いかと思います

prStrSql = "SELECT MAX(N_SYOUHIN_CD) AS N_SYOUHIN_CD FROM SYOUHIN"

編集 削除
スライム  2005-08-25 15:50:47  No: 124449  IP: [192.*.*.*]

'SQLの指定
    prStrSql = "SELECT MAX(N_SYOUHIN_CD) AS N_SYOUHIN_CD FROM SYOUHIN"

これでうまくいきました。
ありがとうございました。

編集 削除
スライム  2005-08-25 15:51:42  No: 124450  IP: [192.*.*.*]

解決チェックし忘れました

編集 削除