• ベストアンサー

アクセスのクエリで

アクセスのクエリで、テーブルAのフィールド1には数字、×、アルファベットの組み合わせの文字がありますが、この中からアルファベットを消去した表示にする事はできますか? 例えば、T24.70×17.5 ならば、 24.70×17.5にしたいです。 誰か教えて下さい。よろしくお願いします。

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

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

#1です。先のコードは、ひょっとして同じ文字が複数存在するとき誤動作するかも知れないので(簡単な試験をした結果ではそうでも無さそうなのですが)、改訂版です。 Function cutChar(targetString As String) As String Dim i As Long, tempChar As String, buf As String buf = targetString For i = Len(buf) To 1 Step -1 tempChar = Mid(buf, i, 1) If tempChar Like "[A-z]" Then buf = Left(buf, i - 1) & Right(buf, Len(buf) - i) End If Next i cutChar = buf End Function

doradora64
質問者

お礼

返事遅くなってすいません。 ありがとうございます。 うまくいきました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

別フィールドでよければ、クエリのデザインの新フィールドで 学校2: Replace([学校],"北","中央") で北小学校が中央小学校に変わります。 また 学校2: Replace(Left([学校],1),"北","") & Mid([学校],2,Len([学校])-1) で 学校フィールドが 北小学校 北小学校 北小学校 中央小学校 南小学校北 南小学校北 本町小学校 が 学校2フィールドで 小学校 小学校 小学校 中央小学校 南小学校北 南小学校北 本町小学校 に変わります。 第1字目の北だけを省いています。 VBA・モジュールなら元のフィールドをで変えられます。

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

アクセスから「主キーが設定されていません」と苦情が来そうな質問タイトルは再考されてはいかがでしょうか。 無理矢理ですが、標準モジュールに下記のようなユーザー定義関数を作成して、クエリで使用すれば「式1: cutChar([fieldName])」一応出来ます。ご参考まで。 Function cutChar(targetString As String) As String Dim i As Long, tempChar As String, buf As String buf = targetString For i = Len(buf) To 1 Step -1 tempChar = Mid(buf, i, 1) If tempChar Like "[A-z]" Then buf = Replace(buf, tempChar, "") End If Next i cutChar = buf End Function

関連するQ&A

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が"a"又は、"b"の場合は、"ABC"と表示し、それ以外の場合は、テーブルAのフィールド2に対応している、テーブルBのフィールド1の値を表示させる事はできますか? 誰か教えて下さい。よろしくお願いします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • アクセスクエリ

    アクセスクエリのフィールド MS-accessのクエリで質問です クエリで、3つのテーブルがあります。 どのテーブルのフィールドにも[売上]があります。 この3つのテーブルの[売上] フィールド1列に表示させる方法はありませんか

  • アクセスのクエリで

    アクセスのクエリで、フィールド1に文字を左から2つだけをフィールド2に表示させるにはどの様にしたら良いでしょうか? 例えばフィールド1に"a1258"とあれば、フィールド2に"a1"と表示したいです。誰か教えて下さい。よろしくお願いします。

  • アクセス・選択クエリについて

    アクセス・選択クエリについて こんにちは。現在、選択クエリについて悩んでおります。 テーブルAとテーブルBからそれぞれ3つのフィールドを選び、選択クエリを作成。しかし、出来上がったクエリのデータシートには一切データが表示されていません。ならばと思い、テーブルAからだけ3つのフィールドを選びクエリを表示させると、きちんと表示します。テーブルA,テーブルBには当然主キーが設定されていますが、その事と関係するのでしょうか?ご存知の方、どうか教えてください。宜しくお願い致します。

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が空白の場合は、0と表示し、(数値型)そうでない場合はフィールド1の値を表示するにはどの様にしたら良いですか? 誰か教えて下さい。よろしくお願いします。

  • ACCESS2003クエリの結合した表示形式が

    ACCESS2003でクエリを作成しました。各テーブルのフィールドを結合したのですが 表示形式が思ったようになりませんでした。 【Aテーブル】 フィールド:学部NO データ型:数値型 書式:00 【Bテーブル】 フィールド:学科NO データ型:数値型 書式:00 【ABクエリ】 フィールド:学籍NO:[Aテーブル]![学部NO]&[Bテーブル]![学科NO] 【ABクエリ】の結果が数字が4桁表示されません。 (例) 0101 と表示してほしいのですが、   11  と表示されます。 各テーブルでは、01と表示されるのですが・・・。 宜しくお願いします。

  • アクセスのクエリでパラメータを表示させない方法は?

    超初心者の質問ですみません。。 アクセスのクエリで、ある数字の全体に対して占める割合を求めるため、以下のような式をいれています。 フィールドC: [フィールドA]/[フィールドB] このクエリを開いたときに毎回パラメータが表示されるのですが、これを表示させないためにはどのようにすればよいのでしょうか?OKを2回押せばきちんと計算された値が入ってくるのですが、毎回OKを押さずに開けるようにしたいです。 ちなみに、フィールドAとフィールドBは、あるテーブルに入っている値をクエリ側で 集計 を「合計」に設定して求めた値が入っていて、フィールドA~Cは同じクエリの中にあります。 VBAやSQLはまったく理解できません。 よろしくお願いします。

  • Accessの不一致クエリについて

    Accessの初心者です。二つのテーブルの異なるフィールどを比較する方法について、教えてください。 例えば、"6523610"という数字が両方のテーブルにあるかどうか調べたいとします。 テーブルA 523(フィールド名:契約コード)+610(ID) テーブルB 6523(フィールド名:取引コード)+61(フィールド名:地域コード) と、それぞれ構成が違います。頭につく"6"と最後の"0"は共通の数字です。クエリで新たなフィールドを作って、"6523610"にするまではわかるのですが、どのフィールドを関連づけていいかわかりません。このような場合は、不一致クエリではできないのでしょうか? 仕事で、明日中にデータを調べなければいけないので困っています。 よろしくお願いします。

  • クエリーで全部のデータを抽出する方法

    アクセスのクエリーでデータを抽出する時、具体的にはフォームでデータを入力し抽出するのですが、たとえばフォームのテキストボックスに数字を入れないとそのクエリーのフィールドは抽出がかからないようにしたいのです。(抽出フィールドが1つなら数字をいれなければクエリーのデータすべてが表示される) ----------------------------------- フィールド   A      B     c テーブル   テーブル1 テーブル1 テーブル1 抽出条件    []    [] または    ---------------------------------- 上はクエリーのデザインですがクエリーをひらくと抽出条件をきいてきますがA列は何も入力しないでB列では1と入力するとBの列に1の入ってるレコードを表示させたいのです。(もし空欄が無理ならAの列の時何かある文字を入力すると全部表示になる、でもいいです。) まわりくどくなりましたが、アクセス超入門者です。よろしくおねがいします。

専門家に質問してみよう