- ベストアンサー
Access2000 ワイルドカード
(1)4桁と5桁の数字が混在しており、4桁の数字に対して頭に「0」をつけたい (2)あるフールドにおいて、「12」で始まる数字を抽出したい(桁数はマチマチ) 「12*」だと検索できませんでした(T_T) (3)「*」や「?」は英字のみ適用なのでしょうか?数字だと検索できませんでした 以上3点について、ご教授いただきたくm(__)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)フィールド欄で Format([数値],"00000") で頭が0で始まる5桁の文字列になります。 見栄えだけでいいなら、書式を00000としてください。 常にならテーブルのフィールドをテキスト型で登録、定型入力を99999;0;0としてください。 (2)(3)フィールド欄で Str([数値])で数字を文字化して、条件抽出欄で検索してください。 数値は大小か完全一致での判定しかできません。文字化すれば検索できます。
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7417/18945)
#1のmshr1962です。新しい質問を立ててるみたいですがそれならここは閉じてください。 >もっと詳しくお聞かせ願えますでしょうか。スミマセン! テーブルなら、デザインモードで開くと下のほうに書式や定型入力などがあります。 フィールドの型が数値型なら書式の欄に「00000」と0を5つで見た目が0で始まる5桁の数値になります。 テキスト型の場合は、定型入力に「99999;0;0」とすると新規入力は0で始まる5桁の数字文字列になります。 クエリを使う場合は、 数値型はフィールド欄に「Format([数値],"00000")」と入力して5桁の数字文字列を作ることが出来ます。 テキスト型は「Right("00000" & [文字],5)」とすれば頭に0を付ける事が出来ます。 フォームやレポートなら上記のクエリを使用するか、テキストボックスのコントロールソースに直に数式を設定してください。 (2)(3)に関して言えば英字でなく文字が正しいです。 数値に対してLike "12*"(12で始まる)は使えません。 この場合はBetween 12000 And 12999(12000と12999の間)になります。 Format関数やStr関数で文字化したものが対象ならLike "12*"で検索できます。
- DexMachina
- ベストアンサー率73% (1287/1744)
ワイルドカード文字での検索についてだけ。 右クリックメニューでの検索であれば、検索条件に「12*」のかわりに「"12*"」と「""」で囲って指定すれば検索可能になります。 VBAやクエリの検索条件の場合も同様です。 「*」「?」は英数字・かな全てOKです。 「#」は数字のみです。 (「#」1個で数字1文字に対応。2桁なら「##」と指定)
お礼
(1)分からないです。 もっと詳しくお聞かせ願えますでしょうか。スミマセン!