• ベストアンサー

一つのテーブルの全てのフィールドを一気に半角にする方法

テーブル1に フィールド1、フィールド2、フィールド3・・・と多数のフィールドがあり、 全ての全角文字を半角にしたいのですが 更新クエリで UPDATE テーブル1 SET テーブル1.フィールド1 = StrConv([テーブル1]![フィールド1],8); UPDATE テーブル2 SET テーブル2.フィールド2 = StrConv([テーブル2]![フィールド2],8); とフィールドつづやってくしかないですかね? もっと効率のいい方法があれば教えてください! よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

SET には複数の式をカンマで区切って記述できます。 なので update テーブル1 set テーブル1.フィールド1 = StrConv([テーブル1]![フィールド1],8), テーブル1.フィールド2 = StrConv([テーブル1]![フィールド2],8), テーブル1.フィールド3 = StrConv([テーブル1]![フィールド3],8) ; です。 (結局、全フィールド記述ですね)

fdshjs
質問者

お礼

一個一個やるよりこっちの方が楽ですね。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

別件でADOXについて調べていたので、試しにやってみました。当方Access2000です。 Sub testx() myConvNarrow ("Table5") End Sub Private Sub myConvNarrow(myTableName As String) Dim CAT As Object, CLM As Object DoCmd.SetWarnings False Set CAT = CreateObject("ADOX.Catalog") CAT.ActiveConnection = CurrentProject.Connection For Each CLM In CAT.Tables(myTableName).columns DoCmd.RunSQL "UPDATE " & myTableName & " SET " & CLM.Name & "= StrConv(" & CLM.Name & ",8);" Next CLM DoCmd.SetWarnings False End Sub

fdshjs
質問者

お礼

お返事遅くなってすいません! すごい!テーブル名を変えるだけでうまくいきました。 ADOXを勉強してみたいと思います。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 更新クエリで半角カタカナのみ全角カタカナにする方法

    半角アルファベットと半角カタカナ交じりのテーブルのデータを 更新クエリで半角カタカナのみ全角カタカナにする方法はありますか? UPDATE テーブル1 SET [テーブル1].test = StrConv([テーブル1]![test],4); これだと全てが全角になってしまいます。

  • アクセスクエリで英数字のみ半角にすることは可能?

    アクセスクエリで英数字のみ半角にすることはできますか?カタカナは全角のままにしたいです。 「アアアAAA111」 のデータがあり、更新クエリで UPDATE テーブル1 SET [テーブル1].[フィールド1] = StrConv([テーブル1]![フィールド1],8); をすると 「アアアAAA111」 になってしまいます。 「アアアAAA111」 にするにはどうすればいいでしょう? カタカナ+英字+数字になってるわけではなくランダムです。

  • ACCESSでテーブルのフィールドに一括で数値の代入する方法

    初心者なので、宜しくお願い申し上げます。 ACCESSでテーブルのフィールドに一括で数値の代入する方法を教えてください。 あるテーブルにあらたにフィールドを追加しました。 データ型は「数値型」で「長整数型」にしています。 このフィールドに一括で数値「0」を入れたいのですが、更新クエリーではできないのでしょうか? 更新クエリーで「レコードの更新」の式を *0 =0 +0 &0 などいろいろやっても何も更新されません。 どうか宜しくお願い申し上げます。

  • アクセスのテキスト型フィールドサイズ指定方法

    アクセス2003を使用しています。 選択クエリAのレコードを追加クエリBを使用してテーブルCに追加しているのですが、 テーブルCのフィールドサイズを「半角40文字、全角20文字」に制限したいです。 フォームを使ってテーブルに入力する場合はテーブルの入力規則に式を入れればできる ということは調べてわかったのですが、追加クエリを利用する場合どのようにしたらよいかわかりません。 お分かりの方、お教えいただければ幸いです。 よろしくお願いいたします。

  • Access2000のクエリで全角文字を半角にするには?

    もともとのデータが全角英数字になっているフィールドを半角に変換したいのですが、クエリー実行時に変換できますでしょうか? 文字列関数のASCかな?とも思い、やってみたのですが、うまくいかず、とりあえず元のテーブルのデータを編集を置換でもって半角にしました。 でも、出来ればテーブルのデータは変更したくないので、クエリーでやる方法はありませんでしょうか? あまり専門的なことは分かりません。VBAは使ったことがありませんのでよろしくお願いします。

  • Accessのフィールドサイズ

    Access2000を使用していますが、テーブル作成時に 「テキスト型」でフィールドサイズを「10」に設定して データを入力すると、半角でも全角でも「10桁」までの入力に なりますが、フィールドサイズは半角も全角も関係ないのでしょうか? 「テキスト型」の最大フィールドサイズは「半角255文字」と 思っていたのですが、全角でも255文字入力できました。

  • Access2002 フィールドの分割方法について教えてください

    度々すみません。 あるテーブルに、「車のナンバー」が入っています。 作った当初、あまり後のことを考えなかったらしく、 「地域」「数字」「ひらがな」「ナンバー」がひとつのフィールドに入っています。 ex)和歌山300す1234 なにわ55た567 この度、ある事情で、このフィールドを「地域」「数字」「ひらがな」「ナンバー」の4つのカテゴリーに分割しなければならなくなりました。 よい解決策がありましたら教えていただきたく存じます。 「地域」は全て2バイト文字ですが、文字数は不規則です。 「数字」は全て半角数字です。 「ひらがな」は一文字の2バイト文字です。 「ナンバー」は半角数字ですが、3桁と4桁があります。 全角、半角、全角、半角、という順序なので、ここら辺にヒントがあるのかな、と思ってはいるのですが、なにせスキルが・・・。 みなさんのお知恵を貸してください!

  • 全角半角?

    ACCESS97を使用しています。 次のような文字があります。 4-22 これを4バイトのデータに追加したところ "‐"と"-"によって "4‐2"となります。 "‐"…全角 "-"…半角という意味でしょうか? またStrConv関数で全角⇔半角、大文字⇔小文字をしたのですが 変換できません。 目的は 4‐22 のデータを 4-22 というように変換して 4バイトのところに全て追加できるようにしたいのです。  (数字ではなく "-"横棒を変換) ACCESSで可能でしょうか?

  • 半角のカッコを使ってテーブル名を名付けてしまったの

    半角のカッコを使ってテーブル名を名付けてしまったのですがADOでエラーになります。 試しに、 半角() 全角() と言うテーブルを作成して、 Sub test() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source= " & CurrentProject.FullName rs.Open "全角()", cn, adOpenKeyset, adLockOptimistic rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub としたら、全角()の場合は問題なく動きました。 しかし、 rs.Open "半角()", cn, adOpenKeyset, adLockOptimistic にした場合は    ---------------------------------------------------------------------    実行時エラー'-2147217900(80040e14)':    SQLステートマントが正しくありません。'DELET','INSERT','PROCEDURE','SELECT',    または'UPDATE'を使用してください。    --------------------------------------------------------------------- となります。 実はたくさんのテーブル名とクエリ名に半角カッコを使ってしまって、 治す方が手間がかかるので、ADOで半角カッコを使えるのなら使いたいのです。 オブジェクト名でも使用できる方法・読み取れる方法が知りたいのですが、ご存知でしょうか?

  • 【ACCESS】変換したデータを上書きするには?

    宜しくお願い致します。 アクセスで、[氏名]フィールドがあります。[氏名]フィールドには全角が含まれているため、 クエリにて、<式1: StrConv([氏名],8)>と作成し、半角に直したフィールドを作成しました。 半角に直したフィールド(式1)を[氏名]フィールドに上書きしたいのですが、どのような方法で やれば、簡単に、確実に上書きできるのしょうか。上書きした際にズレてしまったらどうしよう・・・ と困っております。 アドバイス宜しくお願い致します。

このQ&Aのポイント
  • プリンタの印刷品質が急に悪くなり、色が段々薄くなっていく問題が発生しています。
  • インクの残量は十分にあるのに、印刷品質チェックを押すとますます薄くなり、最終的には真っ白になってしまいます。
  • 現在はブラザー製のMFC-J6583CDWを使用しており、Windows10のパソコンに無線で接続しています。
回答を見る

専門家に質問してみよう