Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルメモ型フィールドへWordのデータ貼り付け→修正できない
記事No83169
投稿日: 2017/11/06(Mon) 16:30
投稿者しま
OS:Windows7
Access Version:14.0.7188.5002 (Access 2007-2010)


初めまして。
見よう見まねでデータベースを作成し、顧客情報等の管理に運用しています。

対応記録テーブルに対応記録ID、顧客ID、日付、時間、主な内容(テキスト型)、内容詳細(メモ型)フィールドを作り、顧客情報フォームから顧客IDで新規対応入力フォームを立ち上げ、対応記録を入力して保存しています。

また、その後に修正する場合は別途修正フォームで編集を行っています。

普通に入力フォームから入力して保存する分には何も問題はないのですが、たまにWordで作成した長文をコピーして入力フォームに貼り付けると、保存はできるのですが、その後の修正ができません。
(修正フォームで、テキスト自体を書き換えることはできるのですが、それを上書き保存してもテーブル内のデータに反映されていません。→ Wordデータの貼り付けの場合以外は、この方法で上書き保存が出来ています。)

ちなみに、関係があるか分からないのですが、
対応記録テーブル>内容詳細フィールドのプロパティは、下記のようになっています。

書式:空欄
標題:空欄
既定値:空欄
入力規則:空欄
エラーメッセージ:空欄
値要求:いいえ
空文字列の許可:はい
インデックス:いいえ
Unigode圧縮:はい
IME入力モード:オン
IME変換モード:一般
ふりがな:空欄
住所入力支援:空欄
スマートタグ:空欄
文字書式:テキスト形式
文字配置:標準
追加のみ:いいえ

となっています。
ACCESS側の設定の問題なのか、Wordのテキストの形式?が制限されているのかも分からず・・。

以前、似たようなトラブルがあった方は、インデックスが「はい」になっていたようですが、こちらは「いいえ」となっているので、また別の問題なのかなと思います。

どなたかお詳しい方がいらっしゃったらご教授いただけますとうれしいです。

よろしくお願いいたします。

タイトルRe: メモ型フィールドへWordのデータ貼り付け→修正できない
記事No83181
投稿日: 2017/11/20(Mon) 10:16
投稿者しま
お世話になります。質問者です。

引き続きこの件で困っており、色々試してみました。



これまで、修正ができなくなる不具合が発生したのは、



・A4サイズ2ページ以上の文字量となるテキストデータ。

・Emailメッセージのコピーデータ。



です。



いずれも、入力フォームや修正フォームに貼り付け→保存を行いテーブルに格納すると、

それ以降、修正フォームから修正をしようとしても、画面上は修正できているのですが、保存コマンドボタンを押してもテーブル上のデータに反映されています。

(ちなみに、他のデータについては修正し、保存ボタンで反映されますので、コマンドボタンの不具合ではなさそうです)



さらに、該当データをテーブル上で直接書き換えてみたところ、こちらは修正できました。

ですので、データそのものの問題でもないように思います。



また、ためしに新規のデータベースを作って、同じWord文書、E-mailからのデータを入力してみたところ、こちらは修正ができました。

つまり、長文データは修正できないなどの、Accessの仕様の問題でもなさそうです。





引き続き、有識者の方からの助言をお待ちしています。よろしくお願いいたします。

タイトルRTF と TXT
記事No83192
投稿日: 2017/11/21(Tue) 16:04
投稿者mayu
MS-WORD の入力インターフェースは
書体・センタリングなどのレイアウト・色などを変えたりできる{ リッチテキスト }です。
※ ワードパットも RTF、メモ帳は TXT

メーラーのメッセージ形式は、何らかのポリシーで形式を制限しないかぎり
プレーンテキスト・リッチテキスト( html )どちらなのかは利用者の設定に依存します。

それに対して、しまさんが作成したデータベースの環境は
> 文字書式:テキスト形式
なのですよね。

リッチテキストは、画像データが含まれていることもあり
文字列以外の情報も多く含む性質上、容量も大きくなりがちで
データ転送元のインターフェースが リッチテキスト形式 である場合は
データ転送先のインターフェースも リッチテキスト形式 でないと
正確にデータが送受信できませんし、編集も不可となり、場合によっては表示も崩れます。
( MS-Access に限った話ではありません )

以上のことから、ビジネスマナーとして
メールは(プレーン)テキストが推奨されている理由の一つになっています。

長文を入力するのでしたらなおのこと

 ・ 可読性が高い
 ・ 軽い
 ・ 環境依存しない

という長所があるプレーンテキストで入力データを統一するよう
利用者へお願いすることが、DBA の役割でもあり、王道ではないかと思います。

Accessでのメモ型( 長いテキスト )の文字書式は
テキスト・リッチテキスト どちらも選択可能ですので
最終手段として、テーブルの書式・フォームのテキストボックス共に
リッチテキストに設定してはいかがでしょうか。

なお、今回のケースに該当しているとは思えませんけど
https://support.office.com/ja-jp/article/Access-2016-%E3%81%AE%E4%BB%95%E6%A7%98-0cf3c66f-9cf2-4e32-9568-98c1025bb47c
テキストボックスへの文字数 65,535 という制限は存在します。

タイトルRe: RTF と TXT
記事No83193
投稿日: 2017/11/22(Wed) 16:11
投稿者しま
mayuさま

とても分かりやすいご説明をいただきありがとうございます。

早速テーブルのメモ型フィールドおよび各フォームのメモ型テキストボックスで
テキスト形式をリッチテキスト形式に変更してから
今回相談させていただいた件で同じ操作をしてみたのですが、
残念ながら状況は変わりませんでした。


(もともと、新規データベースを作って同じデータを貼り付けたときには編集が出来ていたので、
今回はテキストの形式が問題とは考えにくいところではあったのですが・・)

ただ、メールやWordからデータを貼り付けることも多いので、そのままリッチテキスト形式に
しておこうかとも思ったのですが、
ためしに新規で別のメールをコピーペーストしてみたところ、
今度はフォーム上での表示の際に改行がまったく無くなってしまい、読みづらくなってしまいました。
(これは、元々のメールがプレーンテキスト形式だったためでしょうか?)

フォームでのテキストボックスの設定では改行等に影響のありそうなプロパティは見当たらなかったのですが、
もしこちら(改行を保ちつつデータを貼り付ける)を解決できる方法がありましたら、お教えいただけるとうれしいです。


元々の質問も併せて、引き続き宜しくお願いいたします。

タイトルRe^2: RTF と TXT
記事No83194
投稿日: 2017/11/22(Wed) 18:04
投稿者mayu
> これまで、修正ができなくなる不具合が発生したのは、
> ・A4サイズ2ページ以上の文字量となるテキストデータ。
> ・Emailメッセージのコピーデータ。

EUC-JPのLinuxなど、Windows以外の環境で記述された文章ならともかく
プレーンテキストのやり取りで このような現象が出るとは考えにくく
> Wordデータの貼り付けの場合以外は、この方法で上書き保存が出来ています
ということから データ起因ではないかと考えましたが
> もともと、新規データベースを作って同じデータを貼り付けたときには編集が出来ていた
ということですと、オブジェクト要因なのではないでしょうか。

現在運用中のデータベースは
新規データベースと同じOS・Accessバージョンで開発されたのでしょうか。

 ・ 作成時のAccessバージョンが新規データベース作成時のバージョンとは異なる。
 ・ mdb → Accdb に変換した。
 ・ 32bitマシンで作成したものを 64bitマシンで稼働させている
 ・ Officeが 32bit → 64bit に変更となっている

いずれかが該当していれば、不思議ではないですが。

或いは、オブジェクトの一部が破損しているか、です。
その場合は
新規 accdb を作成し、元の accdb から
全てのオブジェクトをインポートしてみるといいでしょう。

多少の破損なら修復され、オブジェクトに蓄積していたゴミも無くなるため
最適化を実施するより容量も小さくなります。

> 今度はフォーム上での表示の際に改行がまったく無くなってしまい、
> (改行を保ちつつデータを貼り付ける)を解決できる方法
私は、記事No:83192 で
> テーブルの書式・フォームのテキストボックス共にリッチテキストに設定
と記載しています。
テーブルのプロパティかフォームのテキストボックスのどちらかが
テキスト形式のままなのではないでしょうか。
( ※ リッチテキストで 改行を入力する場合は Ctrl + Enter )

> 顧客IDで新規対応入力フォームを立ち上げ、対応記録を入力して保存
> 修正する場合は別途修正フォームで編集
入力フォームと修正フォームは 連結なのか、非連結なのか わからないですが
 ・ 入力 と 編集で オブジェクトを分けている理由
 ・ 両オブジェクトの構成差分
 ・ 入力フォームでは再編集可能で編集フォームで編集不可となるケースの有無
 ・ 非連結の場合、どういった手段を用いて編集を確定しているのか
 ・ 編集不可となったメールの本文は、RTF なのか TXT なのか確認してみる
 ・ 編集不可となったデータの文字数をカウントしてみる
といった切り分けや説明が必要かもしれませんね。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る