- ベストアンサー
ファイルメーカーへCSVデータをインポート
CSVをインポートしますが、思ったような表示ができません。 ファイルメーカー6.0を使っています。 当院では血液検査データをアクセスで管理しています。 1:そのデータをCSVで吐き出し、 2:ファイルメーカーにインポートし活用したい。 しかし、ファイルメーカーへのインポートはできますが、 表示が思ったようにできず、困ってます。 アドバイスを頂けると嬉しいです。 (検査データを取り扱っているアクセスでの工夫はできません) 2では、同一検査日・患者ごとのデータを一画面で出したいです。 私の知識では、エクセルでいうなら下記のように 検査日を基本に一行で入力します。 (患者ID・検査値は架空に作ったものです) A B C D E ・・・・ 日付 患者ID 血糖 尿酸 TG ・・・・・ 5/19 001 100 7.0 150 4/19 001 120 7.5 200 3/19 001 130 7.8 250 このように入力すれば、一行が一画面で表示できます。 しかし、1の方法でCSVを吐き出すと A B C D E F G 日付 ID 親コード 子コード 検査項目 検査値 単位 5/19 001 100 100 血糖 100 mg/dl 5/19 001 110 110 尿酸 7.0 mg/dl 5/19 001 120 120 TG 150 mg/dl 4/19 001 100 100 血糖 120 mg/dl 4/19 001 110 110 尿酸 7.5 mg/dl 4/19 001 120 120 TG 200 mg/dl 3/19 001 100 100 血糖 130 mg/dl 3/19 001 110 110 尿酸 7.8 mg/dl 3/19 001 120 120 TG 250 mg/dl このようにCSVで作成されます。 これをこのまま、ファイルメーカーに入れてしまうと 1行 1データになり、1画面、1データになってしまうのです。 このデータを切り取って、 縦横を逆にして貼り付け。その後、インポート!とやってみたものの 患者数が大量なので、事実上無理です。 私がやりたいことは、ファイルメーカーにインポートした結果 患者IDと検査日を入力したら 検査日の検査データが一画面で出るようにしたいです。 参考書を見ても、説明書を見ても、うまくいかないので アドバイスを頂けると嬉しいです。 最後まで長文を読んでいただきありがとうございます。
- maronaji
- お礼率71% (20/28)
- その他(データベース)
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>私がやりたいことは、ファイルメーカーにインポートした結果 >患者IDと検査日を入力したら >検査日の検査データが一画面で出るようにしたいです。 これでしたらもっと簡単です。 1.取り込んだ今のファイルに計算フィールドを作ります。 仮名--合体=日付フィールド&"-"&IDフィールド 結果はテキスト 2.別ファイルを作ります。フィールドは 日付(日付グローバルフィールド)とID(グローバルフィールド) と上と同じ合体=日付フィールド&"-"&IDフィールド 3.別ファイルのリレーション定義で元ファイルを指定し、両ファイル の合体フィールドを照合する設定にします。 4.3の別ファイルをレイアウトモードにして、日付とIDのグローバル フィールドを適当に配置し、更に2のリレーションのポータルを適 当な行数配置します。ポータルの1行に元ファイルのフィールド :検査項目、:検査値、:単位の各フィールドを置きます。 5.ブラウズモードにして、日付とIDのグローバルフィールドに適当な 日付とIDを入れると、ポータルに検査結果が表示されるはずです。 リレーション設定や機能が大幅に拡張されている最新バージョンへの アップグレードをお勧めします。
その他の回答 (3)
- BlackGlass
- ベストアンサー率38% (16/42)
ANo2 で回答した者です。 補足をいただいて、再度回答です^^ 例えば、 5/19・患者ID・検査1・検査2・検査3・検査4 の「横並び」で、画面表示させたいのならば、 他の回答者さんのご指摘のように、ファイルメーカーで、工夫が必要です。 一方で、 5/19 ID 検査1 5/19 ID 検査2 5/19 ID 検査3 5/19 ID 検査4 の「縦並び」の画面表示が、許してもらえるならば、 1画面に、4レコード以上表示できるように、レイアウトを調整すれば良いのですが... 方法は、メニューから「表示」→「レイアウトモード」にして、 各フィールドを横並びに配置する。 1レコードの高さを狭くする。ボディ部の高さを狭くする、と言うのかな? (「ボディ部」と「フッタ部」の間の点線をドラックして狭くします。 「フッタ部」がなければ「ボディ部」の下線をドラックして狭くする) メニューから「表示」→「ブラウズモード」 も一度 メニューから 「表示」→「リストモード」 で、 必要なデータを、日付とIDで検索する。 との、方法ですが、「縦並び」じゃダメかなぁ? またまた、間違いだったら、ごめんなさい。
- BlackGlass
- ベストアンサー率38% (16/42)
確認したいのですが、ご希望なのは、 「エクセルみたいに、縦横の表形式で画面に複数行を表示したいのに、 横1列で、1行目しか画面に出てこない」のでしょうか? この場合の原因は、表示が「フォーム形式」だからです。 ファイルメーカーのメニューから 「表示」→「リスト形式」 と指定してください。または、 「表示」→「表形式」 でもいいです。こちらは「エクセル風」です。 もし、間違っていたらごめんなさい。
補足
アドバイスありがとうございます。 最終的にはエクセルのように見たいのではなく、 血液検査した患者さんが、検査結果を聞きに来た時、 患者IDと検査日を入力し、その日の検査データの一覧を見せたいです。 今回のCSVでは検査日は同じ日なのに、複数行になっていて、 私が無知なため一画面表示の方法が分からないんです。 例えば、 5/19・患者ID・検査1・検査2・検査3・検査4 なら、レコード数は1つ。 よって一画面で全てが表示できると思うのです。 しかし、今回のCSVでは、 5/19 ID 検査1 5/19 ID 検査2 5/19 ID 検査3 5/19 ID 検査4 そうすると、ファイルメーカーにインポートすると レコード数は4つになってしまい4画面分になってしまうんです。 レコード数は多くてもかまいません。 しかし、4つの検査項目を1つの画面に出したいんです。
- chieffish
- ベストアンサー率44% (1149/2554)
エクセルを使い慣れているとファイルメーカーは戸惑うかも知れません。 ファイルメーカーのデータとしては1レコード1検査の方が扱いやすく、応用も効きます。 単純なケースでは、新規レイアウトでリスト形式のレイアウトを作り、取り込まれた全レ コードを日付とIDでソートすればエクセルのような表示にはなります。(単なる一覧表示) >同一検査日・患者ごとのデータを一画面で出したいです。 の場合はリレーションを使い、同一検査日and患者を照合して、ポータルでグルーブ分け されたレコードをグループごとに表示したり、集計機能を使って同じように表示・印刷す ることになります。
お礼
長文&改行が乱れた文章を読んでいただきありがとうございます。 検査日と患者までを照合して後はポータルで・・・。 分かりそうで分からないです・・・。 文章で遠隔操作だから無理があるかも?! 集計機能を使うのは盲点でした。 試してないことなので、やってみます。
関連するQ&A
- ファイルメーカーでデータを抽出とインポート
CSVファイルをファイルメーカーにインポートする場合、ある条件で抽出しながらインポートできるでしょうか。 ショッピングカートからダウンロードした注文データをファイルメーカーに取り込みたいのですが、データにいつも項目名のヘッダがついているので、それを除外しながらインポートしたいのです。 (数日分のCSVファイルを結合して1つのファイルにしてインポートすることもあるので、ヘッダは先頭行だけでくデータの途中にも存在することがあります) 前まではEXCEL等で不要な行を削除してからやっていたのですが、いちいちEXCELを起動すると手間がかかるし、手動削除はミスも起こりやすいのでなるべくEXCELを介するのはやめたいと考えています。 (そもそもEXCELでやっていた業務をファイルメーカーに移行するためにファイルメーカーを購入したのでEXCELはやめ、ファイルメーカーに統一したいのです) よろしくお願いします。
- ベストアンサー
- その他(ソフトウェア)
- CSVファイルインポート時の制限について
AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてください。
- 締切済み
- その他(データベース)
- Access CSVファイルインポート時にタイトルを省く
毎日送られてくる会員データ(CSVファイル)を Accessで管理しようと考えております。 そのとき、先頭のタイトルを省いてインポートしたいのですがどのようにすればいいのでしょうか。 現在、フォーム上からCSVファイルを選択し「実行」コマンドを クリックするとインポートするようにしているのですが 一行目のタイトルを省く方法がわかりません。 Private Sub 実行_Click() TextConv Me.テキスト1, "インポート_定義", "T_会員データ" End Sub よろしくお願いします。
- ベストアンサー
- その他(データベース)
- csvファイルのインポート
Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。
- ベストアンサー
- その他(データベース)
- VBAでCSVファイルをインポートする方法について
VBAでCSVファイルをインポートする方法について OS:ウィンドウズXP Access Version:2000 AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてもらえないでしょうか。 ※以下はVBAを作成する為に仮に用意し、読込を行っているcsvファイルと、VBAソースになります。 ○csvファイル名:インポート用csvファイル.csv 内容: ID,テキスト1,テキスト2,テキスト3,テキスト4,メモ1,メモ2, 1,a,A,z,Z,あ,ん, 2,b,B,y,Y,い,を, 3,c,C,x,X,う,わ, 4,d,D,w,W,え,ろ, 5,e,E,v,V,お,れ, 6,f,F,u,U,か,る, 7,g,G,t,T,き,り, 8,h,H,s,S,く,ら, 9,i,I,r,R,け,よ, 10,j,J,q,Q,こ,ゆ, <b>32</b><br />,,,,,, ○VBAソース Dim FN As String Dim Res As Integer WizHook.Key = 51488399 Res = WizHook.GetFileName(0, "", "", "", FN, "", _ "csvファイル(*.csv)|*.csv", 0, 0, 4, True) WizHook.Key = 0 If Res = 0 Then DoCmd.TransferText , "csvインポート定義", "インポートテーブル", FN MsgBox "csvファイルをインポートしました", vbOKOnly End If
- 締切済み
- その他(データベース)
- AccessでCSVの数値データをインポート
AccessでTransferTextを用いてCSVファイルのデータをインポートする際、CSVの最初の数行で勝手にデータの型を解釈されてしまい、小数点以下が省略されてしまうようです。毎回CSVファイルに数行付け足してから手動でインポートすればインポート出来るのかもしれませんが、業務量を考えると不可能です。TransferTextで小数を含むダミーのCSVをインポートしてから続けて欲しいデータをインポートして、その後ダミーのデータを削除するという方法も考えたのですが上手くいきませんでした。何か良い方法はございませんでしょうか。
- 締切済み
- Access(アクセス)
- ファイルメーカーからCSVへのエクスポートについて
こんにちは。 今、ファイルメーカーで問合せデータを作成していて 顧客番号を入力する所があります。 このデータを、CSVでDLすると、「000012345」という会員番号は、CSVでは、「12345」としか表示がされません。 この番号を「0000」も表示させるにはどのような設定が必要なのでしょうか? よろしくお願いします。
- 締切済み
- その他(データベース)
- Access2007へCSVデータなどをインポートしたい
Access2007において顧客データベースを運用しています。 定期的に他のデータベースから書き出したCSVファイルを この顧客データベースの中にインポートしたいのですが可能ですか? CSVのデータををテーブルとしてインポートすることはできるのですが、 データベースの中身(データ)のみを項目ごとに割り振って流し込みたいのです。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access2000のCSVファイルのインポートについて
Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- NetscapeでのCSVインポート
CSV形式のデータの中に、EMAILアドレスがあるので、インポートしようとしています。 OUTLOOKはできましたが、Netscapeはインポート中に、「インポートができなかったので 変換ファイルのldifファイルを保存し、それをインポートしてください。」というメッセージ が表示され、言われた通りの操作をしたつもりですが、ファイルを選択して、開くボタンを クリックしても、アドレス帳の画面に戻り、何の表示もありません。なぜインポートできないの でしょう?よろしくお願いします。
- 締切済み
- その他(メールサービス・ソフト)
お礼
アドバイスありがとうございます。 お返事が遅れまして失礼しました。 私の知識不足で、正直、よくわかってませんので ここはあわてず、時間をかけて アドバイスどおりに一度やってみます!