
アクセスのほぼ初心者です。(若干のクエリ作成と、VBAの簡単なメンテナンスなら直すことが出来る程度です。)
アクセスのフォーム画面から、文字を入力する際に次の条件を満たして制限をかけたいのですが、どのような方法がありますでしょうか。
フォームのデザインから、〔プロパティ〕で文字数制限がかけられるようですし、記号の一律入力不可にする方法(IMEをオフにする?)があるようなのですが、一部の記号は入力可能としたいので、良い方法がわかりません。
文字数:半角140字以内
入力可能な文字:半角英数字、一部の記号(ただし、&、”、# は入力不可としたいです)
初心者には難しいかもしれないのですが、できれば入力している際に、文字数オーバーや使用出来ない文字を入力している際に〔警告〕が出せればと思っています。
今のところ、良い方法が分からず、一度エクセルにエクスポートしてからチェックしているのでとても時間がかかっているので、良い方法があれば教えて下さい。
No.1ベストアンサー
- 回答日時:
文字数の制限はテーブルをデザインビューで開いて
各フィールドのフィールドサイズで指定するのが(140)
確実かつ簡単です。指定数より多く入力しようとしても無視されます。
あとはフォームでの設定になります。
半角/全角はコントロールのプロパティで、IME入力モードを使用不可にします。
入力チェックは
コントロール(仮に名前をモジモジににます)の更新前処理に
Private Sub モジモジ_BeforeUpdate(Cancel As Integer)
Dim i As Integer
Dim chkMsg(2) As String
If Len(Me!モジモジ) > 140 Then chkMsg(0) = "文字数140以内"
If Len(Me!モジモジ) <> LenB(StrConv(Me!モジモジ, vbFromUnicode)) Then chkMsg(1) = "半角だけ"
For i = 1 To Nz(Len(Me!モジモジ), 0)
If Mid(Me!モジモジ, i, 1) Like "[&""#]" Then
chkMsg(2) = "&""#は不可"
Exit For
End If
Next
If Len(Join(chkMsg, vbCrLf)) > 6 Then 'vbcrlf以外にも文字が含まれている
MsgBox Join(chkMsg, vbCrLf)
Cancel = True
End If
End Sub
入力中のチェックは面倒くさいのでほんのさわりだけですが
キークリック時イベントで
Private Sub モジモジ_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = acShiftMask Then 'Shiftキーが押されていたら
Select Case KeyCode
Case vbKey2
MsgBox """ は不可"
KeyCode = 0 '入力は無かったことにする
Case vbKey3
MsgBox "# は不可"
KeyCode = 0
Case vbKey6
MsgBox "& は不可"
KeyCode = 0
End Select
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- 会計ソフト・業務用ソフト Googleドキュメントで数式を書くには 2 2022/07/20 09:06
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Java Java 南京錠 2 2023/02/04 11:46
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Android(アンドロイド) スマホの日本語入力の選択肢を変えるには 4 2023/07/29 19:07
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
このQ&Aを見た人はこんなQ&Aも見ています
-
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
ACCESSの入力文字数の制限について
Access(アクセス)
-
Accessのテキストボックスの入力文字制限
Access(アクセス)
-
-
4
入力できる文字数を制限する方法
Access(アクセス)
-
5
ACCESS 入力文字数制限
Access(アクセス)
-
6
【ACCESS】入力規則(Len関数)の桁数の複数指定
Access(アクセス)
-
7
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
8
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
9
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
10
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
11
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
12
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
13
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
14
ACCESSでの改行コード
その他(データベース)
-
15
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
16
アクセスでフォームビューがみれません?
Access(アクセス)
-
17
Accessで、定型入力を使って年と月のデータだけ入力したい
Access(アクセス)
-
18
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
19
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
20
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのフォームに入力する...
-
縦書きのテキストボックスで数...
-
ハイフンを全角で入力
-
InputBoxでの日本語オン、オフ...
-
数字キーで入力すると文字が変...
-
Excelの半角、全角の( )カッ...
-
エクセルでの文字入力がIMEでし...
-
キーボードの「ろ」の所にある...
-
記号を打つと勝手に入力モード...
-
文字の入力
-
ファイルを保存する際に日本語...
-
ブラウザゲームをプレイする際...
-
入力モードが「ひらがわ」に切...
-
文字が勝手に切り変わる…
-
デスクトップ画面でファイルの...
-
win7 ISOファイルのプロダクト...
-
半角英数入力で→を入力する方法
-
IMEで、テンキーから入力すると...
-
半角英数と直接入力の文字の違...
-
Outlook Express で、IMEの入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイフンを全角で入力
-
縦書きのテキストボックスで数...
-
半角英数入力で→を入力する方法
-
Excelの半角、全角の( )カッ...
-
エクセルでの文字入力がIMEでし...
-
アクセスのフォームに入力する...
-
IMEで、テンキーから入力すると...
-
入力がひらがなから勝手に半角...
-
記号を打つと勝手に入力モード...
-
テンキーからの半角数字の”直接...
-
エクセルの起動時の入力モード
-
DOSコマンドで日本語名のファイ...
-
InputBoxでの日本語オン、オフ...
-
言語バーを常に日本語入力にし...
-
Outlook Express で、IMEの入力...
-
IME直接入力モードでの・(半角)...
-
σ(シグマ)の字体が途中から変...
-
半角英数と直接入力の文字の違...
-
ハイフンがオーバーラインにな...
-
デスクトップ画面でファイルの...
おすすめ情報