商品データベースをCSVでダウンロードし、一括で変更しようとしています。
Excelでは1つのセルに911文字以上のテキストが入っていると置換ができないようなんですが、アクセスではどうなのでしょう。
ちなみに、置換したいフィールドにはhtmlが入っていて、1000文字を超すフィールドもたくさんあります。
また、Excelはバージョンによって、ダブルクォーテーションを含むCSVデータ(htmlなど)は上手く1フィールドとして認識できないようです。アクセスもそのような不具合があるのかも教えていただきたいです。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
No.2,3です。
> 置換したい文字列は特定のフィールド内の文字列で、それ以外のフィールドで
> 仮に同じ文字列が存在しても、そこは変更してほしくなかった
なるほど、それだと確かに、一律で変換してしまうNotPadなどでは無理そうですね。
> Accessでは、レコードの移動は可能でしょうか。
> 例えば、5行目のレコード(行)を1行目に移動するといったような。
csvファイルなどをAccessに取り込んだ場合、「レコードの並び順は基本的に
保持されない」と考えておいた方が無難です。
また、Excelでの「行の切り取り→切り取ったセルの挿入」のような操作も
できません。
ただ、通し番号に相当するフィールドとデータを予め用意しておけば、
その通し番号で並べ替えを行うことで、「並び順の再現」は可能です。
また、同様に通し番号を書き換えた上で並べ替えを行うことで、
「レコードの切り取り・挿入」と実質的に同じ結果を得ることができます。
例えば、
> 5行目のレコード(行)を1行目に移動
といった場合は、通し番号のフィールド名を「ID」とすると、
1)「ID=5」のレコードのIDを、一時的に「0」(→適当な空き番号)に書き換え
2)「ID=0」以外の全てのIDに「1」を加算
3)「ID=0」のIDを「1」に書き換え
という操作をした上で、IDで並べ替えてやる、といった具合です。
この書き換え・加算といった操作は、更新クエリというものを使えば、
Access上で簡単にできます。
(レコード1件ずつ、手入力でIDに1を加算していく、という必要はありません)
*入れ替える必要のあるものがいくつもあるようだと、変換後に出力した
csvを、Excelで処理してしまった方が速いかもしれません。
(その辺りは、臨機応変に、ということで・・・)
No.3
- 回答日時:
No.2です。
> >フィールドサイズが「メモ型」
> というのは、どういう意味でしょう。
Accessの場合は、Excelの列に相当するもの(フィールド)に対して、
予めどのようなデータを保存できるようにするかを決めます。
(例えば、通し番号なら長整数型、日付なら日付/時刻型、一般的な
文字ならテキスト型、など)
*私自身はまだ試していませんが、最新のAccess2007では、この辺りを
(あまり)考えなくてもデータベースが作れるようになっているらしいです*
で、htmlの記録先の設定としてあり得るもの、及びその主な特徴は
・テキスト型;
入力された値にインデックスが設定できる(下の二つでは設定不可)
(完全一致・先頭一致の検索が速くなる)
・メモ型;
テキスト型よりも多くの文字数を記録できる
・ハイパーリンク型;
記録された値をクリックすることでハイパーリンク先にジャンプできる
(上の2つでは、あくまで文字の羅列として扱われるだけ)
といったところです。
今回のご質問では、主目的が「文字列の変換」とのことですので、
サイズを優先して「メモ型」を選択すればよいでしょう。
(実際には、インポートするためのウィザードを起動すると、最初の幾つかの
データがサンプリングされて、適当なデータ型が設定されるので、
それに任せれば大丈夫だと思います)
> 置換をした後に、CSVでエクスポートしたいのですが、フィールド名(一行目の
> 項目名)もそのCSVに出力されるでしょうか。
まだAccessをお持ちでないとのことなので、操作の詳細な説明は省きますが、
インポートの際には、1行目の項目をフィールド名とするかどうかを選択できます。
(つまり、元のcsvの1行目が、データではなくフィールド名として取り込める)
エクスポートの際にはそのフィールド名を出力することができますので、
特に問題はないものと思います。
・・・ただ、Accessの購入を検討中ということを聞いて思ったのですが、今回の変換は、
Windowsに付属しているNotePadまたはWordPadでの変換(これもCtrl+H)では
無理なのでしょうか?
(htmlには実質触れたことがないので、具体的にどんな変換をされようとしているのかが
わかっていないのですが(汗))
もしかしたら、Accessに限定せずに、「テキストの変換」として再質問されれば、
もっと適切な方法のアドバイスがもらえるかもしれません。
・・・以上、長くなりましたが、参考になりましたなら幸いです。
この回答への補足
すごくわかりやすい回答ありがとうございます。
自分が心配していたことはほとんど問題ないようです。
>NotePadまたはWordPadでの変換(これもCtrl+H)では
無理なのでしょうか?
自分も試みました。
が、置換したい文字列は特定のフィールド内の文字列で、それ以外のフィールドで仮に同じ文字列が存在しても、そこは変更してほしくなかったのです。実際に複数のフィールドに同じ置換え対象文字列が存在します。
なので、フィールドを限定して特定の文字列を置換えるために、ExcelかAccessが必要だと思いました。
もうひとつお聞きしたいのですが、
Accessでは、レコードの移動は可能でしょうか。
例えば、5行目のレコード(行)を1行目に移動するといったような。
次から次に質問してしまって申し訳ありません。
DexMachinaさんの回答はとてもわかりやすいので、、、
No.2
- 回答日時:
Accessのテーブルのフィールドサイズが「メモ型」なら、65,535文字まで
入力可能です。
(最大サイズが小さいのは「テキスト型」)
こちらの環境にてAccessで新規テーブルを作成し、1フィールド1万文字の
レコードを1件だけ入れて変換(Ctrl+Hキー)してみましたが、問題なく
動作しました。
但し、ExcelとAccessでは「Ctrl+H」で呼び出すダイアログの使い勝手が
違うので、注意して下さい。
一部の文字列の一致を見る場合、
Excelでは「セル内容が完全に同一であるものを検索する」のチェックが初期
状態で外れている)ので、置換前後の文字列を入力するだけでOKですが、
Accessでは「検索条件(H)」を、既定の「フィールド全体」から「フィールドの
一部分」に変更する必要があります。
(「フィールド全体」は、Excelで上記「セル内容が~」のチェックをオンにした時と
同様の、完全一致検索を行う場合に使用します)
この回答への補足
テストまでしていただいて、ありがとうございます。
実はこの置換ができるならAccessを購入しようという状態です。
が、もうひとつ気になることができました。
>フィールドサイズが「メモ型」
というのは、どういう意味でしょう。
中に入力するのはhtmlなんですが、何か問題はあるでしょうか。
また、置換をした後に、CSVでエクスポートしたいのですが、フィールド名(一行目の項目名)もそのCSVに出力されるでしょうか。
よろしくお願いいたします。
No.1
- 回答日時:
ACCESSのことで知っているところだけですが・・・
Accessのフィールド形式が「メモ型」ですと
半角で255文字までしか入りません。
ほかのフィールド形式はもっと少なく制限もあったはずです。
(詳しくはヘルプを見てください)
ひとつのフィールドにあまり文字数を多くしないほうがよいかと。
レコード数が多くなると動作が鈍くなるんじゃないでしょうか?
PCの負荷もかかるし。
置換の意味がよくわからないです。
多分AccessにCSVデータをインポートすることだと思いますが
商品データーベースからAccessへデータ置換?
Accessもデータベースでは?
今あるデータベースからAccessに変える必要はあるの?
専門家ではないし、やりたいことの詳しいことがわからないので
いいアドバイスできず、申し訳ありませんがうまいくいくといいですね。
この回答への補足
早々にありがとうございます。
また、説明が足らず申し訳ありません。
置換は、文字の検索と置換のことです。
あるフィ-ルドにはhtmlソースが入力されています。
そのhtmlソースの特定の部分を、一気に変更するのが希望です。
例:
<p style="width:500px; text-align:right;"><a href="h…
↓↓↓↓↓↓↓
<p style="width:400px; text-align:left;"><a href="h…
商品データベースは、ASPから取得したCSVです。
もちろん、ASPの管理画面から1箇所ずつ修正して、画面を切り替えてまた修正するというのは可能なんですが、途方も無い時間を要します。なので、そのデータをCSVで取得し、(正確にはCSVでしか取得できません)一気に修正しようと思いました。が、Excelでは無理でした。
フィールドの文字数はできるだけ少なくしたいのですが、大切な情報を表示する部分でもあり、どうしても減らせませんでした。
いただいた回答からすると、最大でも半角255文字しか使えないと理解していいでしょうか。だとするとアクセスは本末転倒です。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Ruby power BI クエリエディター 〇〇を含む文字列置換 1 2022/10/16 17:34
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「#エラー」の回避
-
ファイルメーカー5.0でCOUNTIF!!
-
電話番号の末尾4桁での検索に...
-
FileMaker Pro7 カレンダーの作...
-
accessのフィールドに10桁の数...
-
文字色を自動的に変更(ファイ...
-
Accessで値がnullの場合は計算...
-
ファイルメーカーでの階層化プ...
-
accessのVBAで変数名でフィ...
-
ファイルメーカー 計算フィー...
-
Access フィールドに入力した...
-
ファイルメーカープロ V6 ...
-
MS-WORDで、あるフィールドに入...
-
ファイルメーカ 集計の表示
-
ACCESS2003終了時のエラーメッ...
-
Accessでボタンを押すと今日の...
-
アクセスで入力したデータの順...
-
地デジTVのコンポジット入力の...
-
Access フィールド内の値で、...
-
ファイルメーカー:計算フィー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
accessのフィールドに10桁の数...
-
「フィールド更新」が表示されない
-
ExcelからAccessデータを検索す...
-
差し込み文書のルールで if the...
-
Accessで値がnullの場合は計算...
-
Accessでボタンを押すと今日の...
-
FileMakerで、フィールドの値が...
-
ACCESSでデータ変更箇所が分か...
-
WORD差し込み印刷:日付の処理 ...
-
MS-WORDで、あるフィールドに入...
-
access フィールドのサイズ(文...
-
フィールドの中のテキストを分...
-
WORDフィールドコード一括編集
-
FileMakerで画像をまとめて書き...
-
追加クエリ実行時に入力した文...
-
MS-ACCESSで中央値(ME...
-
アクセス 入力した文字を自動...
-
accessのVBAで変数名でフィ...
おすすめ情報