
Access始めたばかりの初心者です。
現在Oracle10gのデータベースのとあるテーブルを
をAccess2000でリンクし、クエリで抽出したものをレポートに表示
しようとしています。
そのテーブル上に、
Oracle上ではVARCHAR2(6バイト)の日付データがあります。
例) 200806
これをAccessのクエリ上で変換し、 "6月" と表示させたいのですが、
なぜかうまくいきません。
Oracle上の項目名が YM だとすると、
Replace(Right([YM], 2), "0", "") & "月"
こういった関数でうまくいきそうなものですが・・
もしかしてOracleのVARCHAR2はリンクすると文字列型以外の型として
扱われるのでしょうか・・
どなたかご存じの方、ご教授くださいませ。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Oracle11gとAccess2000で試しました。
(1)オラクルデータ型
SQL> desc xxx
名前 NULL? 型
------ ------ ------------------------------------
XXX VARCHAR2(6)
(2)Accessリンクテーブル
XXX テキスト型
(3)SQLの実行結果
SELECT Replace(Right([xxx], 2), "0", "") & "月"
FROM SCOTT_XXX;
6月
提示されたSQLは通りましたよ。
上手くいかないとは、どういう事象が発生しているのでしょうか。
この回答への補足
自己解決致しました!
どうやらフォームのコントロール識別名とクエリの項目名
が同じだと、表示がうまくいかないようです。
テキストボックス名 :YM
クエリの項目名 :YM
↓
テキストボックス名 :日付
クエリの項目名 :YM
これでなんとかうまくいきました。
いろいろとお知恵を貸してくださいましてありがとうございました。
なるほど、SQLを発行して試すという手がありますね。。
とりあえずSQLをスマートに発行する方法が
よくわからなかったのでフォームをひとつ作り、
そこからボタンを押下した時のコールバック関数の中で
上記SQLを発行させてみたところ、
問題ありませんでした。
とすると表示上のエラーかなにかだと思います。
事象はQ2の方の返答で説明させていただきました。
分かりづらくてもうしわけございません。。
No.2
- 回答日時:
VARCHAR2は文字型です。
テーブルをデザイン・ビューで見てください。>なぜかうまくいきません。
何がどう上手くいかないのでしょう?
(1)クエリの実行時エラー
ア.Oracleのエラー
イ.Accessのエラー
(2)実行されるが、結果が期待したものと異なる。
ア.どのように異なっているか
これによって原因が分かるかも知れません。
すいません、
要は「何がわかっていないかわかっていない」
という超初心者状態です。。
ええと
(1)オラクルのリンクテーブルを作成(仮にTBLという名前にする)
(2) TBL からデータを抽出するクエリを作成
(3) クエリの結果をレポートで表示
その際、200806 を6月と表記したいため、
レポートにはりついているエディットボックス?
のようなものの中に関数を・・
それが
Replace(Right([YM], 2), "0", "") & "月"
です。実行するとその領域が #Error となります。
そうとうイライラされるかと思いますがご容赦ください。。
No.1
- 回答日時:
access2000ではクエリのSQLで直接replace関数を使えなかった気がします。
MDBのモジュールで
Public Function myreplace(source, str1, str2)
myreplace = Replace(source, str1, str2)
End Function
という関数を定義して
myeplace(Right([YM], 2), "0", "") & "月"
でやってみてください。
この回答への補足
ご回答ありがとうございます!
>access2000ではクエリのSQLで直接replace関数を使えなかった気がします。
そ、そんな仕様があるのですね。。
了解しました。
ちょっとやってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
64bit端末でのOLEDB接続に関して
-
MSDOS ソート sortf 使用方法
-
batファイルでのSQL(oracle)...
-
PL/SQLの変数の命名規則
-
ORA-14452について
-
ビットで表せる数値について
-
Oracleで文字列型の時間を引き...
-
SQLについての質問
-
Oracleでの登録するユーザーと...
-
C列からH列の範囲を昇順にてソ...
-
子供向けプログラミングのスク...
-
副問合せにLIKE文を使う方法は...
-
osqleditについて
-
sqlplusで接続できない
-
オラクルのビューの存在について
-
PL/SQLでフェッチでNULLの項目...
-
select for updateのロック
-
オラクル12C_SQLPlusで実行す...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
Access2007 DoCmd.ApplyFilter...
-
漢字名のテーブルとカラムのCRE...
-
AccessからOracleへのリンクテ...
-
オペランドが足りませんとコメ...
-
パソコンにコンポーザーをイン...
-
【ExcelVBA】sheet作成時にマク...
-
VBA シートの切り替えができな...
-
mfc42.dllファイルってなんです...
-
Excel2010でふりがなが漢字にな...
-
エクセルの文字間スペースを入...
-
マクロ実行ボタンがコピー出来ない
-
MACのBootCampでWin10のインス...
-
エクセル/マクロ Exit Subが実...
-
IEのActiveXダウンロードがブロ...
-
AUTOCAD 2010でdwlファイルの場...
-
『PHP』 MAMPで$_SERVER["REMOT...
-
Openofficeがクラッシュ
-
Access VBA 参照設定とは・・?
おすすめ情報