• 締切済み

アンケートの文字列の抽出

こんにちは。パソコンはなれていますが、データベースは初心者です。 フォームメールからアンケートをとり、メールをaccessに取り込んで集計しようと思っています。メールで送られてくるテキスト例は以下のとおりです。 ------------ [受付番号] 12345 [日時] 2002年09月19日14時43分 [氏名] 山田 太郎 [E-mail] aaa@aaa.aaa [住所] 〒●●● [電話番号] ▲▲▲-▲▲▲-▲▲▲ [選択1] 1 [選択2] 2 [備考欄] ここに備考欄 こんな感じで 感想などが入ります。 <-備考欄ここまで-> ------------ 問題は、備考欄の部分の取り込みなのですが、複数行にわたって、記入されている項目をどのように取り込んだら良いのでしょうか? 最後には必ず<-備考欄ここまで->という文字が入りますので、[備考欄]~<-備考欄ここまで->の間というかたちで切り抜けばいいとは思うのですが。 access2000で取り込むときの、フィールドごとの分け方を教えてください。

  • opu
  • お礼率30% (21/70)

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

VBAでのファイル読み込みのやり方が分かっているとして、 こんなのは: Function fread_memo( fileno ) As String Dim s As String fread_memo = "" Do If EOF(#fileno) Then Err.Raise vbObjectError '「備考欄ここまで」が必ずあるから、EOFになるのは致命的。 line input #fileno, s s = Trim( s ) If s = "<-備考欄ここまで->" Then Exit Do fread_memo = fread_memo & s Loop End Function

opu
質問者

補足

ありがとうございます。 VBAはなんとなくわかるのですが、accessへの組み込み方が???です。 勉強しながらやってみます。

関連するQ&A

  • vlookup関数と文字列の足し算

    こんにちわ。 別シート(Sheet2)に住所録を作成し、作成シート(Sheet1)にVlookupで住所等をひっぱってこようと思っています。 (住所録は「データ」として名前登録しています) Sheet2 郵便番号 住所   氏名1   氏名2 999-9999 東京都~ 山田太郎 山田花子 その際、別々のセルにある氏名(2名分)を表示させる計算式として =VLOOKUP(B3,データ,3,FALSE)&"様"&" "&VLOOKUP(B3,データ,4,FALSE)&"様" として下記のような結果を出しています。 山田太郎様 山田花子様 このとき、氏名2に名前が入っていないと、 山田太郎様 様 となってしまうのですが、この「氏名2に文字列が入っていないときは”様”を表示しない」ということはできるのでしょうか? どなたかご教示ください。 よろしくお願いします。

  • エクセル:vlookup関数でこんなことをしたいのですが・・・

    よろしくお願いします。 vlookup関数のを使って次のような集計をしたいと思っています。 (1)【一月の集金】…挿入・名前の定義で「一月」とつけます。 山田太郎 3000 山田花子 2000 海山次郎 1500 ・・・以下150名ほど。2月から12月までも「別シート」で同じように作られています。1月から12月の氏名は同じ人間もいれば違うのもあり、ばらばらです。氏名コード化等されていません。 (2)【集計】      【1月】 (氏名)   A ...................B 1 山田太郎 =vlokkup(A1,一月.2,false)  2 海野五郎 ・・・ 3 ・・・・ 合計  (一月集金額合計) 同様に、集計欄の横に、2月、3月としていきます。 ここで、この例では、1月の山田花子が集計欄の氏名にもれています。当然、集計表で正確な合計がでません。ここでやりたいのが、「1月の表の山田花子が集計表でもれているよ」いうようなチェックです。たとえば、1月の表の山田花子に色がつくとか・・・ むずかしいことでしょうか?どうかご指導ください。 お待ちしています。人数が各月150人程度で12ヶ月のチェックですから、手作業チェックが大変なのと急いでいるので、お助けをお願いしたいのです。 どうかよろしくお願いいたします。

  • アクセス:文字レコードの集計をクエリで次のようなことを。

    こんにちは。アクセス初心者です。よろしくお願いします。 テーブル、もしくはクエリで次のようなものがあるとします。 id  氏名       A     B     C    D  ・・・ 28 山田 太郎  ○○ 88 海川 花子      △△ 28 山田 太郎          □□ 28 山田 太郎             △□ 88 海川 花子 ×× を id 氏名      A    B    C  D ・・・ 28 山田 太郎  ○○      □□ △□ 88 海川 花子  ××  △△ のようにまとめるクエリでの加工は可能でしょうか? 前提として、1レコードにid、氏名のほかは一つのフィールドを選んで入力することとしています。 よろしくお願いします。

  • 【Access】社員名簿で社員番号の中から最大日付のデータ年月の社員番号を抽出する方法?

    SELECT imadai,社員番号, imadai.データ年月, imadai.氏名 FROM imadai 社員番号 データ年月 氏名 1146    200804   鈴木一郎 1146    200805   鈴木一郎 1146    200806   鈴木一郎 1147    200805  山田太郎 1147    200806   山田太郎 1147    200807   山田太郎 このデータから1146 200806 鈴木一郎と1147 200807 山田太郎を抽出したいのですが、 うまい方法が見つかりません。よろしくお願いします

  • エクセルでこんな抽出は可能ですか?

    関数を使用して抽出したいと思います。 まずシート1とシート2を使います。 シート2には住所録などの内容が5000件くらいあるものとします。 その住所録には「〒」「住所」「電話番号」「氏名」などのフィールドを作っておきます。 そして、シート1には 例えば「氏名」という欄をA1に書き、B1の空白のセルに「山田」と入力をすると、「山田」が含まれるものをすべて表示したいと思います。 このすべて表示とういうのは「山田」を含む「氏名」だけ表示されるのではなく、「〒」「住所」「電話番号」「氏名」を表示したいのです。 オートフィルタやフィルタオプションは極力使用したくないので、関数で出来ないものかと考え中です。 また、抽出結果を表示する欄はシート1のA3あたりからお願いします。 こんな文書で意味が分かった方、よろしくお願いします

  • アクセス:レポートで、このような、ページのつけ方は?

    アクセスで名簿データで、単票式のレポートを作成しました。 ◆総ページ中の何ページは自動で「=[Page] & "/" & [Pages] & " ページ"」はでたのですが・・・ ◆名簿で例えば、山田太郎さんの備考欄が長文で2ページにまたがるケースで、山田太郎さんに関しての「1/2、2/2」というような表示をつけたい のです。 よろしく、ご指導をお願いいたします。

  • ACCESSについて質問させてください。

    ACCESSの勉強中の者です。 現在,基礎的なデータベースファイルを作成し「顧客マスター」というフォーム上に「顧客番号」,「顧客氏名漢字」,「顧客氏名ふりがな」,「顧客職業」というテキストボックス等を配置しています。 このフォーム上に新たに「顧客氏名」というコンボボックスを配置して,「顧客氏名漢字」,「顧客氏名ふりがな」に入力済みのデータからコンボボックスのデータを選択できるようにしたいと思っています(※例えば,テキストボックス「顧客氏名漢字」欄に「山田太郎」,テキストボックス「顧客氏名ふりがな」欄に「ヤマダタロウ」と入力されているのであれば,コンボボックス「顧客氏名」欄には「山田太郎」,「ヤマダタロウ」から選択させる。)。 コンボボックスのプロパティのコントロールソース(又は値集合ソース,値集合タイプ)の記述でなんとかできるものでしょうか?それともVBAが必要なのでしょうか? 方法があるのであれば,その方法は問いませんのでどなたかご教示いただければと思います。 よろしくお願いいたします。

  • エクセルの抽出結果表示について。

    こんばんは。 エクセルのピポットテーブルを利用し、集計表を作成しています。 そこで質問なのですが、シート(1)には、   A      B     C    D 1 伝票番号 お客様名 品名  数量 2 123   山田太郎 りんご 10 3 123   山田太郎 みかん 12  4 123   山田太郎 レモン  9 5 125   山田花子 りんご 11 6 125   山田花子 メロン  6 7 139   川田昭子 なす   5 8 139   川田昭子 トマト  6       ・       ・        ・ というような、データが入力されているとします。(日々入力されていく為、何千行になることも・・・) シート(2)には、このシート(1)より伝票番号からデータを呼び出し、順番に下の行に表示を加えいきたいのです。 そして、このシート(2)のデータを基にピポットテーブルを作成し、集計表を完成させたいのです。 いまは、シート(2)のような内容を2度手間のように、入力し集計表を作成しています。 ただシート(1)のような全体分のデータはあるので、利用したいし、手間を省きたいのです。 マクロとかになるのですかね? (あまり分からないけれど・・・) VLOOKUP関数を利用しようとしたのですが、例のように、同じ伝票番号に対して、複数行のデータがあるため、1行しか表示できないのです。 なにか、いい方法はありますか?

  • 発信者名が番号になってしまいます

    931SHを使用していますが、電話やメールの発信者名で アドレス帳に登録した氏名ではなく、番号やアドレスが直接表示されてしまいます。 メールだけならなんとかなるのですが、通話時にも番号しか表示されなく非常に困っています。 携帯電話の管理ツールを使っており、氏名が姓のほうにフルネーム登録されてしまっているのが原因かと思い、 手動で修正しましたが直りませんでした。 (例:山田 太郎) 姓:山田 太郎 → 姓:山田 名:      → 名:太郎 どこが問題か不明なので、原因等怪しそうなところがあれば教えて下さい。

  • エクセルのソートで文字列がうまく並ばない

    スポーツの記録集計をしています。 A列に氏名,B列以降に記録,試合名,日時,順位などの個人のデータが入ったワークシートがあります。 試合ごとに記録を入力しているので,元々は試合名,日時順になっており,約90人分のデータが1年間で1700行余りになりました。一人が複数の試合や種目に参加しているので,これを個人別にまとめようとA列の氏名でソートしました。 すると,同じ名前なのに別名と判断されてうまく並ばない箇所がいくつかあります。 氏名は漢字なのでおそらくコード順に並ぶのだと思いますが,ほぼ読みの50音順に並んでいる感じです。ところが,たとえば「山田」さんだったら音読みの「さん」と訓読みの「やま」の2カ所に分かれて出てきたりします。一方のセルを他方のセルにコピーしてやり直せばもちろんうまくいきますが,データ数が多く,手作業はしていられません。またソートした後「山田」さんのデータが一つだけ別のところに飛んでいたりすると気がつかないことも考えられます。 スペースが入っていたりもなく,IF関数で同一のセル内容かどうか判断させると「同じ」という結果になります。どう見ても同じセルがソートで違うものと扱われるということはあるのでしょうか。また,こういうときはどう対処すれば良いのでしょうか。 エクセルに詳しい方,このような経験がおありの方,アドバイスをお待ちしています。