• ベストアンサー

ACCESS のVBAですが、頭がアルファで後の3桁が数字のチェックをしたい

頭がアルファで後の3桁が数字、つまり a234 x999 z001 こうしたコードが入ってきます これをチェックしたいのですが If  myField  Like  "*A999*"  Then のようなコーディングをしたいのですが "*A999*" の部分の書き方の質問です よろしくお願いします

  • maaaa
  • お礼率91% (330/362)

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> If myField Like "*A999*" Then If myField Like "*[A-Z][0-9][0-9][0-9]*" Then と、言う事? 全角で入力されたものも、引っ張るので全角半角を絞るなら、別途StrConvで検査かける必要があるかも・・・

maaaa
質問者

お礼

回答ありがとうございました まさに、これです バッチリです ありがとうございました

関連するQ&A

  • 5桁の数字…

    初めての質問でここでいいのかわかりませんが、教えてください。 5桁の数字が2つあり、それぞれa[1]…a[5]、b[1]…b[5]に格納する。 対応する桁どうし(a[1]とb[1])を比較して一致する桁の個数を求めるプログラムを擬似コードで表したいのです。 { 2つの桁の数を配列a,bに読み込む; count=0; i=i+1; while(i<=5) { if(a[i]==b[i])(??); else 誤ったデータの処理; } countの値を出力する; } ??の部分には何をいれればよいでしょう? また他のところでも間違いがあればご指摘お願いいたします。

  • 7桁の半角数字かどうかのチェック

    初歩的な質問で失礼ですが if (ereg("([0-9]{7})",$str)) { $strが7桁の数字であるときの処理 } else { $strが7桁の数字でないときの処理 } でうまく動作しません。 何が悪いんでしょうか。eregですか?{7}ですか?それとも俺の頭ですか?

    • ベストアンサー
    • PHP
  • Access VBAで、数字だけをチェックする方法。

    Access VBAで、数字だけをチェックする方法。 お世話になっております。 Access2002 VBAで、テキストボックスに入力された内容が、 数字(整数のみ)だけかをチェックしたいのです。 しかし、IsNumeric使用すると、 例> IsNumeric("1000,")=True IsNumeric("1000.")=True IsNumeric("1000+")=True となってしまいますし、 Valを使用すると、0(ゼロ)のチェックが出来ません。 ちょっと思いつかないので、 If txt_Word.Value <> Trim(Str(Val(txt_Word.Value)))) Then 'エラー処理 End If とか、 ループで回し、1文字ずつIsNumericするか・・・とか、馬鹿なことを思ってしまっています。 ちなみに、当テキストボックスは、パターンによって文字も許容したりするので、 書式設定で数字のみ入力は出来ません。 何か、本当に数字のみかをチェックするよい方法はありますか? よろしくお願いいたします。

  • Accessでのvbaについての質問

    Accessでのvbaを使用したプログラムについてお聞きしたいです。前にも似たようなことを質問していましたが、まだうまくいってません。マスタメンテナンス画面を作成しているのですがテキストボックスの入力チェック が上手くいきません。テキストボックス はコードという名前をつけています。 以下のコードでコーディングしています。 未入力チェック関数 Public Function EmptyCheck(Koumoku As Variant) As Boolean '引数で渡された項目が入力されているかチェック If Koumoku = ""Then EmptyCheck = True Else EmptyCheck = False End If End Function 桁数チェック関数 Public Function NumberCheck(Koumoku As Variant, Number As Integer) As Boolean If Len(Koumoku) <>Number Then NumberCheck = True Else NumberCheck = False End If End Function 半角英数字チェック関数 Public Function ZokuseiCheck(Koumoku As Variant) As Boolean If IsNumeric(Koumoku) = False And Not Koumoku Like "[a-z]*"And Len(Koumoku) <>6 Then ZokuseiCheck = True Else ZokuseiCheck = False End If End Function コード処理 Private Sub コード_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then ' If EmptyCheck(コード) = True Then MsgBox "コードを入力してください。" コード.SetFocus KeyCode = 0 Exit Sub ElseIf NumberCheck(コード, 6) = True Then MsgBox "コードの桁数が不正です。" コード.SetFocus KeyCode = 0 Exit Sub ElseIf ZokuseiCheck(コード) = True Then MsgBox "コードの属性が不正です。" コード.SetFocus KeyCode = 0 Exit Sub Else コード.Locked = True End If End If 上手くいかない点は以下の通りです。 1、テキストボックス(コード)の未入力チェックが上手く行きません。テキストボックスが空白の時も""になったりNullになったり変わるのでIf Koumoku = ""ThenにしてしまうとNullになった時処理されずそのまま次のテキストボックスにカーソルが移ってしまう時があります。なんでNullになったり""になったりで変わるのかも謎です。あと空白の時、Koumoku=""で一致しているにも関わらず、Falseで返されてしまい、未入力処理がされません。IsNullを使ってNull値判定してもKoumoku=Nullで一致してるのにFalseで返されました。 2、桁数チェックも上手く行きません。コード処理の方で桁数チェック関数に6という数字を渡して6桁入力としているのですが6桁でもエラーになってしまう時があります。LEN関数でどのように文字数を測っているのかも よくわからないです。 3.これは単純に半角英数字の判定の仕方が間違っているんだと思いますが、やり方がよく分からず、上手く判定できません。 4.これは入力チェックに当てはまるのですがEnterキーを押した時に処理するようにコードを書いていましたが変な結果が出ます。最初にテキストボックスでEnterキーを押して未入力の時に、「コードを入力してください。」とメッセージが出るのはいいのですがその後入力してもまた同じメッセージが出てきます。ほかのテキストボックスをクリックしてカーソルを移さないと同じメッセージが出続けます。桁数や半角英数字チェックの時も同じです。他のカーソルをクリックしないと次の項目のチェックにいかず、同じエラーメッセージが出続けます。何とかほかのカーソルに移さずに修正したら正しく処理が通るようにできないでしょうか。 5、最後に何も問題なかったらテキストボックスにロックかけるよう処理をしているのですが「コントロールの変更を保存していないときはコントロールをロックできません」というエラーメッセージが出てくる時があります。意味が分からず調べても出てこなかったので意味のわかる方何が悪くてエラーになっているのか教えて下さい。 調べてもデバッグしても原因が分からないものばかりです。 長文になってしまいましたがわかる方よろしくお願いします。

  • エクセルで、頭に0をつけて数字の桁を揃える方法

    エクセルで、必ず5桁の数字を入れる列があるとします。 ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。 任意文字として5桁の数字にしたいのですが、 何かいい方法はありませんでしょうか? 例) A列 A列 50      00050 1000  ⇒  01000 11111    11111 どうぞよろしくお願いいたします。

  • LEFT関数のようなもの(7桁の数字から左の3桁の数字を抜き出す)

    はじめての質問です、よろしくお願いします。 ホームページでのアクセス制限を行うフリーcgiを修正・改造して、目的にかなうように作り替えたいのです。 このアクセス制限で行いたいのは  ・パスワードに7桁の数字を入力(例:1234567)  ・左の3桁(123)だけをパスワードリストに照合。 この「7桁の数字から左の3桁の数字を抜き出す」という部分にお手上げの状態です。 LEFT関数の様なもの、または、そのような処理をする方法について、アドバイスやヒントをお願い致します。 また、入力されたパスワードが7桁かどうかのチェック方法についてもよろしければアドバイス下さい。

    • ベストアンサー
    • Perl
  • エクセルで桁数が違う数字の頭にゼロを付けてすべて4桁にしたい。

    困り度: すぐに回答を! すごく困っています。ある住所コードを作成しています。8桁で表示するのに、都道府県、市までで4桁 その下が4桁という指示なのですが、いただいたデータが最後の4桁の部分の桁数が1桁から4桁まで色々で、都道府県と市のコードと結合して8桁にするためには、最後のデータの頭にゼロを足してすべて4桁にしなくてはなりません。 VBは全くわかりませんが、関数などでどうにかなりますでしょうか? ご教示の程、よろしくお願い致します。

  • 090から始まる数字で後の八桁はどんな組み合わせの番号を押しても誰かに電話がかかるんですか??

    今日新しい携帯電話を買いました。すると電話番号の頭が080でした。これは090から始まる数字の電話番号が満杯になったということでしょうか???ということは、090から始まる数字で後の八桁はどんな組み合わせの番号を押しても誰かに電話がかかるんですか??(090-1234ー5678などは除いて)

  • エクセルのセル内数字を桁毎に分割転記したい

    変な質問で分かりづらいかもしれません。 セル1Xに12345という数字があったとします。 セル1Aには、セルXの数字の後ろから5番目の1を、セル2Bに後ろから4番目の2を、セル3Cに後ろから3番目の3をというように、数字をその後ろからの桁番目に対応させて表示したいのですが、どうすれば出来るのでしょうか。 よろしくお願いいたします。

  • エクセルでの数字を3桁表示にする方法

    エクセルで数字を3桁で表示したいです。 2桁までの数字の場合には表示形式を文字列にするか  ’ をつけて頭にゼロをつけているのですが、 下記のような場合にはどのようにしたらできるのかがわかりません。 たとえば セルA1に 「001」 と入力し、A2を「=A1+1」とするとき A1を001にはできるのですが、A2は2となってしまいます。 A2を「002」とする設定はできるのでしょうか? わかる方がいましたら、教えていただければと思います。 よろしくお願いします。

専門家に質問してみよう