
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ランキング
-
棒読みちゃんが起動できないの...
-
オラクル12C_SQLPlusで実行す...
-
ビットで表せる数値について
-
私は時々、アイホンを充電する...
-
子供向けプログラミングのスク...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
-
googleプレイの履歴で取得とイ...
-
sql(oracle)で質問です。 テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
Access2007 DoCmd.ApplyFilter...
-
スナップショット取得について...
-
漢字名のテーブルとカラムのCRE...
-
macでsqlite3でcsvのインポート
-
AccessからOracleへのリンクテ...
-
WinPE.ISO の作り方を教えてく...
-
AOMEI Backupper Standard 3.2 ...
-
オペランドが足りませんとコメ...
-
パソコンにコンポーザーをイン...
-
mfc42.dllファイルってなんです...
-
VBA シートの切り替えができな...
-
【ExcelVBA】sheet作成時にマク...
-
Excel2010でふりがなが漢字にな...
-
付箋紙95をお使いの方
-
マクロ実行ボタンがコピー出来ない
-
Windows10にアップできません。
-
AUTOCAD 2010でdwlファイルの場...
-
Microsoft Excel VBAの参照設定
おすすめ情報