
お世話になります。現在大量にデータを前に悩んでいます。
テーブルに以下のようなデータがあります。
| 薬剤名 | 効果 |
-----------------------
| A剤 | 頭痛 |
| A剤 |生理痛 |
| A剤 | 発熱 |
| B剤 | 歯痛 |
| B剤 |生理痛 |
| C剤 | 頭痛 |
これを、薬剤名ごとにまとめ効果を横へ並べる。
| 薬剤名 |効果1|効果2|効果3|効果4|
-------------------------------------------
| A剤 | 頭痛 |生理痛| 発熱 | |
| B剤 | 歯痛 |生理痛| | |
| C剤 | 頭痛 | | | |
ことって出来るのでしょうか?
効果の数はいくつになるか分かりません。現在は最大7つですが、今後それ以上の物が出る可能性もあります。
ACCESSでは無理なことでしょうか?
また、ACCESSのバージョンは2002です。なお、ACCESSについては、使用法を含め初心者に毛が生えたくらいの知識しかありません。申し訳ありませんが「サル」にもわかるくらいの優しさでご指導願えれば幸いです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こういう場合は、<薬剤別効果一覧>などのテーブルを作成したらどうですか?
・<薬剤別効果一覧>テーブルをクリアする。
・<薬剤別効果情報>を取得する。
・<薬剤別効果一覧>テーブルに追加する。
一種の一時テーブルを作成するということです。
これですと、作成後は、いとも簡単に閲覧したりレポートに出力できます。
*少し、ADO を利用することになります。コードはサワリだけ。
薬剤名 効果総数 効果名_1 効果名_2 効果名_3
A剤 3 頭痛 生理痛 発熱
このように、<薬剤別効果一覧>テーブルにデータを登録するコードは以外と簡単です。
Private Sub コマンド_薬剤別効果一覧追加_Click()
Dim isOK As Boolean
Dim strSQL As String
isOK = CnnExecute("DELETE FROM 薬剤別効果一覧")
If isOK Then
strSQL = "INSERT INTO 薬剤別効果一覧 " & _
"(薬剤名, 効果総数, 効果名_1, 効果名_2, 効果名_3)" & _
" Values " & _
"('A剤', 3, '頭痛', '生理痛', '発熱')"
isOK = CnnExecute(strSQL)
If isOK Then
MsgBox "[薬剤別効果一覧] にデータを追加しました。"
End If
End If
End Sub
僅かに、CnnExecute()を自作ライブラリに追加するだけで、このように読めば判るコードが書けます。
これならば、質問者にとっても別に難しいことではないと思います。
SQL文は、Accessプロジェクトのそれですので Jetとは違うかも知れませんが基本は同じです。
課題は、strSQL の生成にあります。
ここが一つにハードルです。
まあ、それも含めて書くと、一つのプロシージャ全体を請け負うことになりますのでチョットです。
質問レベルからして、いずれ、この領域に踏み込む必要ありと感じましたので・・・。
Public Sub ErrMessage(ByVal CnnErrors As ADODB.Error, ByVal strSQL As String)
MsgBox "ADOエラーが発生しましたので処理をキャンセルします。" & Chr$(13) & Chr$(13) & _
"・Err.Description=" & CnnErrors.Description & Chr$(13) & _
"・Err.Number=" & CnnErrors.Number & Chr$(13) & _
"・SQL State=" & CnnErrors.SQLState & Chr$(13) & _
"・SQL Text=" & strSQL, _
vbExclamation, " ADO関数エラーメッセージ"
End Sub
Public Function CnnExecute(ByVal strSQL As String) As Boolean
On Error GoTo Err_CnnExecute
Dim isOK As Boolean
Dim cnn As ADODB.Connection
isOK = True
Set cnn = CurrentProject.Connection
With cnn
.Errors.Clear
.BeginTrans
.Execute strSQL
.CommitTrans
End With
Exit_CnnExecute:
On Error Resume Next
cnn.Close
Set cnn = Nothing
CnnExecute = isOK
Exit Function
Err_CnnExecute:
isOK = False
If cnn.Errors.Count > 0 Then
ErrMessage cnn.Errors(0), strSQL
cnn.RollbackTrans
Else
MsgBox "プログラムエラーが発生しました。システム管理者に報告して下さい。(CnnExecute)", _
vbExclamation, " 関数エラーメッセージ"
End If
Resume Exit_CnnExecute
End Function
回答ありがとうございました。
>いずれ、この領域に踏み込む必要ありと感じましたので・・・。
そうなのです。もう少しハイレベル?な事を要求されています。今回は私に対応できる物かどうかを判断する第一歩としての意味合いもありました。
ADO?ですか?異国語を聞いてるようですが、勉強すれば解るようになるものでしょうか?
早速、参考書を買いに行こうと決心しました。
でも、何とかなると言うことだけでも分かったので頑張ってみます。まだ、何かと意味不明なことを質問するかも知れませんがよろしくお願いします。
No.4
- 回答日時:
No.3ですが、補足を少しだけ。
クロス集計クエリを作る際には、ACCESSでは各薬剤のどの行が効果1、効果2、効果3に相当するのかわかりません(人間なら上から順番に判断できますが、コンピュータはそんなには賢くありません)。従って明示的に各薬剤の効果NOがわかるように、下記のようにNOの項目をつけてやる必要があります。
| 薬剤名 | NO | 効果 |
-----------------------
| A剤 | 1 | 頭痛 |
| A剤 | 2 |生理痛 |
| A剤 | 3 | 発熱 |
| B剤 | 1 | 歯痛 |
| B剤 | 2 | 生理痛 |
| C剤 | 1 | 頭痛 |
EXCELのデータなら薬剤ごとにソートしたり、NOの列を挿入して同じ薬剤に番号を振ることはそんなに難しくはないと思います。(オートフィルなどでできると思います)
後は集計クエリの列としてNOを選び、集計方法を最大値とすればご希望のような表になるはずです。
補足ありがとうございます。
なるほど!って感じです。確かに希望どおりになりますね。
EXCELと連携させてデータを加工すれば出来るのか~。
う~ん、依頼者(上司)に相談してみます。たぶん、却下?かな。
でも、少し光が見えてきました。ありがとうございました。
No.3
- 回答日時:
No.1の方の回答で間違いなくご希望のことができると思います。
一つ訂正するところは、集計方法として「データの個数」でなく「データの最大値」を選ぶという点です。「A剤」の「効果1」に該当する項目が一つしかなければ、その値のみが表示されます。(「データの最小値」でも同じですが)
回答ありがとうございます。
クロス集計で出来るのですか。
とやってみました・・・・。
なるほど、かなり希望に近づきました。
でも、No.2の方が言うように今後レポート等で処理して行く予定ですので、効果が左詰めになって頂けると幸いです。
よく考えると、アクセスで扱うには一寸、異質のデータなのかなという気がしてきました。
もう少し、考えてみます。
No.1
- 回答日時:
クエリの新規作成ウィザードで「クロス集計クエリ」を選択
薬剤名を行タイトル、効果を列タイトルとデータ個数にすると
| 薬剤名 |効果の個数|頭痛|生理痛|発熱|歯痛|
-------------------------------------------
| A剤 | 3 | 1 | 1 | 1 | |
| B剤 | 2 | | 1 | | 1 |
| C剤 | 1 | 1 | | | |
のようにはできますが...
早速の回答ありがとうございます。
クロス集計クエリですね。
でも、今後薬剤ごとにカードを作る事を考えています。(できるのかな?)できれば、薬剤ごとに効果が並ぶとうれしいです。
でも、この一覧表も「使える!」って思いました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 薬学 首肩こり 痛み止めの薬 医療用鎮痛剤 筋肉の痛みに使いたいです 2 2022/05/20 18:24
- 薬学 整体 首肩こり 痛み止めの薬 医療用鎮痛剤 筋肉の痛みに使いたいです 1 2022/05/19 01:38
- 頭痛・腰痛・肩こり 頭痛薬(痛み止め)の種類に関してです。 今は沢山の薬の数がありますが、中で女性の為の生理痛の薬があり 4 2022/04/26 14:55
- 頭痛・腰痛・肩こり クラスター頭痛(群発頭痛)を体験された方、又は詳しい方に質問です。 4 2022/10/29 05:47
- 頭痛・腰痛・肩こり 市販の頭痛薬。 1 2022/08/15 02:00
- 頭痛・腰痛・肩こり 頭痛薬について 市販の頭痛薬で、錠剤を口に入れた瞬間にすぐ、ラムネを食べた時のようにすぐ砕けて溶け出 1 2022/11/19 13:44
- 風邪・熱 高熱が続くときはどうすればよいですか 4 2023/01/28 15:01
- その他(悩み相談・人生相談) 鎮静剤って痛みは感じる? 3 2023/05/15 13:12
- 頭痛・腰痛・肩こり 片頭痛の予防のアイモビーグを6回打ちました。 そして先日、7回目の注射の日(6回目打った日の4週間後 1 2023/07/07 10:45
- 風邪・熱 すぐ風邪をひきます どうすればいいですか 発熱はしません 喉と関節の痛み、頭痛、寒気が主な症状です 8 2023/03/14 22:48
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
何回やってもうまくいかないことは?
みなさんには、何回やってもうまくいかないことはありますか?
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
【お題】追い込まれた犯人が咄嗟に言った一言とは?
-
アクセス 項目毎にデータを横に並べる方法
Access(アクセス)
-
アクセスで教えてください。 縦持ちデータを横持ちデータに変更したいです。 項目数が多くてクロス集計で
Access(アクセス)
-
アクセスで同じ種類のものを横に並べたい
Access(アクセス)
-
-
4
【アクセス】クエリで、行と列を入れ替えるには?【access】
Access(アクセス)
-
5
Access 縦(行)のデータを横(列)並びに
その他(データベース)
-
6
Accessで縦と横を入れ替えたい
その他(プログラミング・Web制作)
-
7
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
8
アクセスでレポート作成時にデータを横に並べたいとき
その他(データベース)
-
9
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
10
クロス集計クエリの結果をテーブルにしたい
Access(アクセス)
-
11
Accessで教えてください!データを横に並べる
Access(アクセス)
-
12
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
13
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
14
アクセスで複数のレコード情報を1レコードにまとめる方法
Access(アクセス)
-
15
縦持ちのデータを横持ちにする方法
Excel(エクセル)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
-
18
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
19
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
20
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PC CLEANER は信頼でき効果があ...
-
効いてる?利いてる?
-
磁気活水器に通した水の安全性...
-
凍結防止の為に、水道管にアル...
-
限定的の対義語
-
高校生です。 オナ禁は効果あり...
-
東京大神宮の御神木を待ち受け...
-
昔は30度超える日は珍しかった...
-
身近な人より第三者の話しの方...
-
竹炭のお手入れについて
-
時間当たりの改善効果を金額に換算
-
効果的、効率的、能率的、の違...
-
出窓に「すだれ」をつけたい
-
○○を試してみて効果はいかがで...
-
自動車学校の卒業前効果測定が2...
-
トホカミエミタメとアメノミナ...
-
炭酸ガス入浴剤は最初に入った...
-
変量効果と固定効果
-
トルマリンゴの効果
-
日本語教育で「床面効果」って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PC CLEANER は信頼でき効果があ...
-
効いてる?利いてる?
-
限定的の対義語
-
凍結防止の為に、水道管にアル...
-
磁気活水器に通した水の安全性...
-
自己準拠効果とはなんですか?
-
高校生です。 オナ禁は効果あり...
-
ジャニベコフ効果について、教...
-
トルマリンゴの効果
-
自動車学校の卒業前効果測定が2...
-
「セールスお断り」ステッカー...
-
トホカミエミタメとアメノミナ...
-
KR効果とは何ですか?
-
ACCESSで縦に並んだテーブルデ...
-
過マンガンカリウムの通販 (...
-
時間当たりの改善効果を金額に換算
-
効果的、効率的、能率的、の違...
-
「副次的」を簡単に言うと
-
「固定効果」の意味を教えてく...
-
日本語教育で「床面効果」って...
おすすめ情報