• 締切済み

Access VBA について

NotFound404の回答

回答No.3

たたき台レベルです。 テキストボックスの更新前処理に Private Sub テキストボックス名_BeforeUpdate(Cancel As Integer)   Dim i As Long, sStr As String   sStr = Me!テキストボックス名   For i = 1 To Len(sStr)     If Mid(sStr, i, 1) Like "[ぁ-ん亜-黑]" = False Then       Beep       Me!テキストボックス名.SelStart = i - 1       Me!テキストボックス名.SelLength = 1       Cancel = True       Exit Sub     End If   Next End Sub とすれば近いことはできます。 更新しようとした時に対象外の文字があれば、そこでBeep音が鳴ります。 が、 半角/全角のスペースの扱いは今のところ?です。-----1 さらに、ヽヾゝゞ〃仝々〆 をどうするかについても今のところ?です。-----2 (いすゞ自動車など) Accessのバグのため文字(ヾゞ)の扱いが面倒です。 Access2013だと修正されているらしい。当方Win7 & Access2010。 あと、上記コードは、Shift-Jis の範囲内でのチェックだけです。-----3 文字コード表(charmap.exe)とにらめっこする必要もありそう。

関連するQ&A

  • access vba プロシージャの呼び出し

    access vba についての質問です。 フォームにテキストボックスが二つあるのに対して、 オプションボタンが三つあります。(グループです) テキストボックス1に文字列を入力し、コマンドボタンを押すと 選択されているオプションボタンのcaptionをテキストボックス1の文字列と合わせる形でテキストボックス2に反映させたいです。 コマンドボタンのクリックで以上の動きをするfunctionプロシージャを呼び出したいのですが、呼び出す側プロシージャと呼び出される側プロシージャの変数の設定がわかりません。 超初心者のため初歩的、かつ説明がわかりづらくて恐縮ですが、理解のため省略などをしない形でコードの見本等お教え願えませんでしょうか。 よろしくおねがいします。

  • access テキストボックスの値取得

    いつもお世話になりますm(_ _)m access VBAをかじり始めた「超・初心者」です(^^;) フォームの画面にテキストボックスを作成し、そこに入力した値を取得したいのですが、どのようにすればよろしいのでしょうか?別に置いたコマンドボタンをクリックすると取得するようにしたいのです。 気軽に、コマンドボタンのイベントプロシージャに、 ----- dim rec as variant rec=textbox1.text   'recは、「テキストボックス1」に入力した値 ----- なんてやってみたんですが、全然ダメで、いろいろ検索してもさっぱり分かりません。 あほくさいほど初歩的な質問で恐縮ですが、なにとぞよろしくお願いいたしますm(_ _)m xp+access2003です。

  • Access 文字入力について。

    環境はAccess2000です。 2つのテキストボックスを作成し、 一方のテキストボックスに文字(漢字やひらがな)を 入力すると、もう一方のテキストボックスに 入力した文字のカナ(半角カタカナ)を 表示させたいのですが、 Accessの機能等でそういったことは実現できるので しょうか?

  • AccessのVBAの記述について

    たびたびお世話になります AccessのVBAで、フォーム上にあるテキストボックス(CadrDate)のデータを同一フォーム内の別のテキストボックスに貼り付ける操作はできるのでしょうか? 出来るのであれば記述文を教えてください。

  • ACCESS2007 VBAでのFilterOnについて

    はじめまして。 ACCESS2007 VBAでのFilterOnについて教えてください。 ACCESS2003で、フォーム上でレコードを抽出するのに、FilterOnを使用して行っていました。未連結テキストボックスに入力した文字列をキーにして「抽出」「解除」ボタンで実行してさせていました。連続して「抽出」「解除」を繰り返しても問題ありませんでした。 ところが、ACCESS2007においても実行できるのですが、連続して操作するとうまくいきません。2回目以降テキストボックスに何を入力しても、1回目にテキストボックスに入力した文字列で抽出しまうのです。解決策はあるのでしょうか?

  • ACCESS VBA フォーム複数条件

    ACCESSフォーム内のテキストボックスが空欄かどうかで条件分岐させる方法を教えてください。 フォーム内に複数テキストボックスがあります。 テキスト1 テキスト2 テキスト3 このテキストボックスの入力があるかどうかで、 エクスポートするクエリを変更したいです。 それぞれのテキストボックスの入力値は、 対応するクエリの抽出条件になっています。 少なくとも、テキスト1には入力があるという条件で、 ・テキスト2が空白なら、クエリ2を出力する ・テキスト3が空白なら、クエリ3を出力する という処理を行いたいのです。 マクロビルダーで、IFを使った処理は作ることができたのですが、 VBAを使って、同じ処理ができるようにしたいです。 どうかご教授のほど、よろしくお願いします。

  • ACCESS97 VBA のテキストBOX

    VBAも初心者です。 ACCESSのフォームであるテキストBOXの内容を ボタンで同じ他のフォームのテキストBOX にデフォルト値としてSETするというような 処理をするというような場合どのような記述 をしたら良いでしょうか? ヒントでも良いのでお願いします。

  • Access VBA 他アプリケーション

    Accessのフォームから他アプリケーションを起動するボタンをつくります。 起動したアプリケーションの入力フォームへ、Accessのフォームのテキストボックスの内容を書き込む事はできないでしょうか? 例えば、Accessのフォームに『OKWave』と入力されたテキストボックスと、ブラウザが開くボタンが配置されているとします。ボタンをクリックするとブラウザが起動し、起動したら任意の検索サイトが表示され、そのサイトのフォームに、Accessのフォームのテキストボックスにかかれている、『OKWave』が自動的に入力するようなVBAを書きたいと思います。 よろしくお願いします。

  • VBA IMEとSetfocusについて

    VBAでユーザーフォームを作っています。 フォーム中のテキストボックス1に、プロパティからIMEモードをひらがなに設定しているのですが、SetFocusでテキストボックス1にフォーカス状態にして文字を入力すると何故か半角英数字になってしまいます。 その状態から一旦別のテキストボックスをクリックして、再度テキストボックス1をクリックするとひらがな入力に直ってます。 何故このような現象が起きるのでしょうか?

  • アクセス(ACCESS)のリストボックスについて

    アクセスでフォームにテキストボックスとリストボックスを配置して、 テキストボックスに入力した文字列により、リストボックスに表示される データを変えたいのですが(フィルタをかけるというのでしょうか??) そこで、vbaを用い、リストボックスのプロパティの値集合ソースに SELECT * FROM aaa where aaa.bbb like "*あ*"; 'あ と言う文字のあいまい検索のつもり ”あ”はテキストボックス    に入力されている。 と入るような事を考えたのですが、ここで、aaaの部分がテーブルを基にした 場合は、該当するデータすべてが表示されますが、クエリーを基にすると 先頭のデータしか表示しないのです。 たぶん、素人の考えなのでしょうが、どうしてそうなるのかが分かりません。 教えていただけないでしょうか? できたら、クエリーを基にしても、該当データが表示できる方法も 教えてください。お願いします。 VBAは(?)かなりの初心者です。上記の方法も本に書いてあった物を やっと流用しました。猿にも解るくらいでお願いします。 ちなみに、アクセスは2000を使用しています。