作業環境は以下の通りで、Accessの知識は初心者です。
OS:Windws7/使用ソフト:Access2003
やりたい事はこれに近いのですが、もう一ひねりある為困っています。
http://oshiete.goo.ne.jp/qa/2452277.html?from=re …
テーブルに以下のようなデータがあります。
薬剤/配番/効果/使用方法
A剤/00001/頭痛/1回1錠
A剤/00002/発熱/食後…(長文)
B剤/00001/頭痛/1回2錠
B剤/00003/裂傷/清潔な手で…(長文)
これを薬剤名ごとに、効果(数は120を超えます)と使用方法を横へ並べる事はできますか?
No.5
- 回答日時:
まず、#4 の差し替えですが確認したところ、
256文字以降が切り捨てられてしまいますので
Q使用方法は元に戻してください。
TRANSFORM First(Tbl.[使用方法]) AS 使用方法の先頭
SELECT Tbl.薬剤
FROM Tbl
GROUP BY Tbl.薬剤
PIVOT '使用方法' & Tbl.[配番];
で、
>「このフォームまたはレポートは、1つのレコードのデータの制限を超えるクエリを基にしています」
また、使用方法の中に半角カンマ , がある可能性も考えてしまいます。
なので、VBA で処理するしかありません。
(Excel2007以降があれば、
Q効果とQ使用方法をExcelに出力して列を切り貼りして整形後にCSV出力・・も考えられますけど。。)
VBA での処理でも構わなければ、
CSV で出力した時のフォーマットを教えてください。
各フィールドはダブルクォーテーションで囲むのか。
"A剤","頭痛","1回1錠","発熱","食後…(長文)",
値が無い場合にもダブルクォーテーションが必要か否か。
"A剤","頭痛","1回1錠","発熱","食後…(長文)", を↓
"A剤","頭痛","1回1錠","","", 必要例
"A剤","頭痛","1回1錠",,, 不要例
ヘッダー(タイトル)が必要か否か。(これも囲みの有無)
薬剤/効果1/使用方法1/効果2/使用方法2 /効果3/使用方法3 /・・・
文字コードは、Shift_JIS で良いのか。
他にも何かあれば、それも含めて確認し、教えてください。
回答ありがとうございます。
> Q使用方法は元に戻してください。
私の回答によりSQL文を差し替えて下さったのにすみません…
早速元に戻しました。
> また、使用方法の中に半角カンマ , がある可能性も考えてしまいます。
使用方法には半角カンマの他、ダブルクォーテーションが含まれており、改行は含まれておりません。
> なので、VBA で処理するしかありません。
カンマが含まれる場合はVBAでの処理になってしまうのですね。
SQL文は今後なんとか理解できそうな内容でしたが、VBAとなると今の私のレベルでは理解できるようになるのはかなり先の話です。
それなのにVBAを記述していただくのはありがたい事ですが、気が引けます…
…が、折角なので質問に対する回答を記載しました。
> CSV で出力した時のフォーマットを教えてください。
フォーマットというのは以下の質問に答える形で間に合いますか?
それともフィールドのデータ型みたいな内容が必要でしたでしょうか?
> 各フィールドはダブルクォーテーションで囲むのか。
全てのフィールドをダブルクォーテーションで囲みます。
> 値が無い場合にもダブルクォーテーションが必要か否か。
値が無い場合もダブルクォーテーションが必要となります。
> ヘッダー(タイトル)が必要か否か。(これも囲みの有無)
ヘッダーは必要で、ヘッダーのダブルクォーテーションは不要です。
> 文字コードは、Shift_JIS で良いのか。
Shift_JISで大丈夫です。
あと、区切り文字はカンマです。
No.4
- 回答日時:
追伸、CSV出力を考えるとクエリ二個は以下に差し替えた方が良さそうです。
Q効果は
TRANSFORM Iif(Isnull(First(Tbl.[効果])),'',First(Tbl.[効果])) AS 効果の先頭
SELECT Tbl.[薬剤]
FROM Tbl
GROUP BY Tbl.[薬剤]
PIVOT '効果' & Tbl.[配番];
Q使用方法は
TRANSFORM Iif(Isnull(First(Tbl.[使用方法])),'',First(Tbl.[使用方法])) AS 使用方法の先頭
SELECT Tbl.[薬剤]
FROM Tbl
GROUP BY Tbl.[薬剤]
PIVOT '使用方法' & Tbl.[配番];
回答ありがとうございます。
テスト環境で試したところ、うまくいきました!
ただ、本番環境で試したところ、やはりフィールド数の多さからか(247ありました)
「このフォームまたはレポートは、1つのレコードのデータの制限を超えるクエリを基にしています」
と小窓が開き、表示されませんでした。
Q効果、Q使用方法、Q薬剤については問題なく表示されます。
今はまだ、このSQL文がどんな命令をしてるか分からないまま入力したのですが、時間を作って理解を深めようと思います。
わざわざ考えて頂いてありがとうございました。
No.3
- 回答日時:
>とりあえずチャレンジしてみたいので、このように両方保存いたしました。
両クエリは問題なかったのでしょうか検証済み?
>正確な数は122×2の為、255は超えないようです。
では余計な心配はしないことにします。
クエリをさらにもう一個、SQL文は
SELECT DISTINCT 薬剤 FROM Tbl;
これは、名前を Q薬剤 にして保存。
これが最後のクエリ
Q薬剤、Q効果、Q使用方法を新規クエリのデザインウィンドウにドラッグ、
Q薬剤とQ効果の薬剤同士を結合、
Q薬剤とQ使用方法の薬剤同士を結合、
Q薬剤の薬剤をデザイングリッドにドラッグ、
Q効果の効果1、使用方法1、効果2、使用方法2、効果3、使用方法3、・・・・、使用方法122
と交互にドラッグします。
データシートビューに切り替えて確認してみてください。
OKだったら、名前は適当に保存。
あとはリボンのエクスポートからテキストファイルを選択し
ウィザードに従ってこのクエリをエクスポートしてみてください。
No.2
- 回答日時:
薬剤/配番/効果/使用方法
A剤/00001/頭痛/1回1錠
A剤/00002/発熱/食後…(長文)
B剤/00001/頭痛/1回2錠
B剤/00003/裂傷/清潔な手で…(長文)
を
薬剤/効果1/使用方法1/効果2/使用方法2 /効果3/使用方法3 /・・・
A剤/ 頭痛/ 1回1錠/ 発熱 /食後…(長文)/
B剤/ 頭痛/ 1回2錠/ / /裂傷 /清潔な手で…(長文)/・・・
のようなイメージ?にしたいということでしょうか?
現時点で
>数は120を超えます(120×2)
なのでAccessの扱えるフィールド数は最大でも255以下の制限に間もなく引っかかりそうです。
【崖っぷち状態です】
制限を超える可能性があるのでは?
とりあえず、クロス集計までは、
テーブル名を、Tbl とします。
新規クエリをデザインビューで開いて、
『テーブルの表示』の小窓は閉じます。
右クリックすると「SQLビュー」がリストにありますので選択、
SELECT: って書いてあるので消去し
そこへ下記をコピペ
TRANSFORM First(Tbl.[効果]) AS 使用方法の先頭
SELECT Tbl.[薬剤]
FROM Tbl
GROUP BY Tbl.[薬剤]
PIVOT '効果' & Tbl.[配番];
データシートビューに切り替えると
薬剤 効果1 効果2 効果3
A剤 頭痛 発熱
B剤 頭痛 裂傷
となります。このクエリを、Q効果 とでも命名して保存。
もう一個同様に、
TRANSFORM First(Tbl.[使用方法]) AS 使用方法の先頭
SELECT Tbl.[薬剤]
FROM Tbl
GROUP BY Tbl.[薬剤]
PIVOT '使用方法' & Tbl.[配番];
で
薬剤 使用方法1 使用方法2 使用方法3
A剤 1回1錠 食後
B剤 1回2錠 清潔な手
になります。これは、Q使用方法 とでも保存。
(使用方法フィールドがメモ型だと厄介かも)
さて、ここからが前述の255の制限を超える可能性の有無で分かれます。
CSVのフォーマットの具体例もないので
とりあえず、ここまで。
余談ですが
また、めでたくCSVが完成したとしてアップロードして
使ってみたら「使いにくいので再考」になったら・・と考えてしまいます。。。
回答ありがとうございます。
薬剤/効果1/使用方法1/効果2/使用方法2 /効果3/使用方法3 /・・・
A剤/ 頭痛/ 1回1錠/ 発熱 /食後…(長文)/
B剤/ 頭痛/ 1回2錠/ / /裂傷 /清潔な手で…(長文)/・・・
のようなイメージ?にしたいということでしょうか?
その通りです。
使用方法フィールドはメモ型です。
120×2…単純に×2になる事を理解していませんでした
> Q効果 とでも命名して保存。
> Q使用方法 とでも保存。
とりあえずチャレンジしてみたいので、このように両方保存いたしました。
正確な数は122×2の為、255は超えないようです。
> 使ってみたら「使いにくいので再考」になったら・・と考えてしまいます。。。
データを抜き出したいだけなので問題ないハズ…です。
No.1
- 回答日時:
lotus2014さんへ
見せるだけで良いのなら、薬剤と配番と効果でクロス集計を作って、そのクエリに使用方法を連結するクエリを作ったものをソースにしたフォームで良いと思います。
クロス集計は、効果を横に配置する形で、データ領域に配番を選択して、配番の集計方法を先頭としておけばOKです。
他のクエリで、薬剤と使用方法のみをグループ化したものと、配番と効果のみをグループ化したものを作っておいて、先のクエリと薬剤、配番で連結すれば、薬剤+配番n個+効果n個+使用方法のクエリを作れます。
入力を考えているとしたら、薬剤と使用方法をメインフォームにして、配番と効果をサブフォームにするようにテーブルに変更すれば良く、そこからの横並びは、前述の真似をしながら、それなりに作れば良いと思います。
この回答への補足
回答ありがとうございます。
入力することはなく、最終的にはアップロード用に「.csv」として出力させたい為、リレーションされた内容が横1行に吐き出されるようにしたいのです。
> 先のクエリと薬剤、配番で連結すれば、…
がうまくいかない(配番が表示されない)のですが、クロス集計の設定が間違っているのでしょうか?
薬剤/効果1/効果2/効果3
A剤/00001/空 欄/00002
B剤/00001/空 欄/空 欄
C剤/00001/000003/空 欄
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 薬学 首肩こり 痛み止めの薬 医療用鎮痛剤 筋肉の痛みに使いたいです 2 2022/05/20 18:24
- 薬学 整体 首肩こり 痛み止めの薬 医療用鎮痛剤 筋肉の痛みに使いたいです 1 2022/05/19 01:38
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- 頭痛・腰痛・肩こり 頭痛薬について質問です。 薬物乱用頭痛で病院の頭痛外来に通っています。(合法の薬です) 抑肝散という 1 2022/03/29 08:06
- 頭痛・腰痛・肩こり 頭痛薬のオーバードーズの治療中なのですが、薬を飲むのを我慢する方法を知りたいです。 最近の報道で見る 1 2023/06/20 15:53
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PC CLEANER は信頼でき効果があ...
-
ACCESSで縦に並んだテーブルデ...
-
効いてる?利いてる?
-
限定的の対義語
-
オナ禁すると、何か良い効果あ...
-
高校生です。 オナ禁は効果あり...
-
玄関とトイレに、盛り塩を置こ...
-
トホカミエミタメとアメノミナ...
-
磁気活水器に通した水の安全性...
-
真言
-
「固定効果」の意味を教えてく...
-
パワースポットに行って宇宙エ...
-
トホカミエミタメの効果はあり...
-
据え置き型の浄水器を検討して...
-
ソルフェジオ周波数について
-
サブリミナル現象の応用
-
自動車学校の卒業前効果測定が2...
-
補正でクレーム範囲外となった...
-
愛媛県松山市の椿神社で縁結び...
-
除草剤の混用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PC CLEANER は信頼でき効果があ...
-
効いてる?利いてる?
-
ACCESSで縦に並んだテーブルデ...
-
玄関とトイレに、盛り塩を置こ...
-
高校生です。 オナ禁は効果あり...
-
限定的の対義語
-
磁気活水器に通した水の安全性...
-
トホカミエミタメとアメノミナ...
-
スポーツの指導の場では、監督...
-
真言
-
パワースポットに行って宇宙エ...
-
ソルフェジオ周波数について
-
「セールスお断り」ステッカー...
-
トルマリンゴの効果
-
【化学】ナフタリンとナフタリ...
-
時間当たりの改善効果を金額に換算
-
脱毛器ケノンは男の青髭にも効...
-
据え置き型の浄水器を検討して...
-
自己準拠効果とはなんですか?
-
効果的、効率的、能率的、の違...
おすすめ情報