• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access97のVBAでのApplyFilter)

Access97のVBAでのApplyFilter

teppyの回答

  • ベストアンサー
  • teppy
  • ベストアンサー率50% (9/18)
回答No.2

うまく動作しなかったようですね 一応動作確認は、Access2000/97の両方とも行ったのですが、Access97ではおっしゃるとおりの動作になりました すいませんm(_ _)m 下記のように変更して下さい Private Sub TextBox_Change() DoCmd.ApplyFilter , "(ふりがな Like '" & Me.[TextBox].Text & "*')" Sendkeys ("{F2}") Exit Sub この"Sendkeys"コマンドは、キーボードから入力する同等の機能をもちます (Access Helpを参照して下さい) 今回の場合は、検索処理が終了したらキーボードの「F2」キーを押下するという処理が追加しました >Me以降を解説していただければありがたいのですが・・・。(^_^;) " ~ Me.[TextBox].Text ~ " の ".text"のことでしょうか? テキストボックス等のオブジェクトは、プロパティを省略すると、規定値である「.Value」が認識されます 「.Value」 -> 実際に確定された情報を取得できます 「.Text」 -> 現在表示されている状態を取得できます オブジェクトにより、規定値はあらかじめ決まっています 規定値は何だったかなと思うよりは、日頃からすべてのプロパティを記入するように心がけています (Accessの場合、ほとんどのオブジェクトのプロパティの規定値は「.Value」だったような...)

noname#1997
質問者

お礼

大変勉強になりました。 ありがとうございました。

関連するQ&A

  • ★アクセス2002★DoCmd.ApplyFilterの記述

    先日同じような質問をして回答頂きましたが再度お願いします。 住所検索フォームを作成中です。 住所検索フォームにテキストボックス[検索値]を配置して、[検索値]に入力した語句で始まるレコードを表示させています。[抽出開始]コマンドボタンに下記の様に記述していますが、これだと[住所]の頭の文字でしか抽出できません。[検索値]に入力する語句は必ずしも頭の文字ではないので、途中の一部の語句でもヒットするようにしたいのですが、上手く記述できずに困っています。 DoCmd.ApplyFilter , "[住所] Like '" & Forms![住所テーブル一覧]![検索値] & "*'"

  • VBA エンターキーでイベントに入りたい。

    テキストボックスにデータ入力後エンターキーの押下でイベントに入りたいのですが、下記のコーディングで[通過]メッセージが表示されません。英数字は通過しますが、エンターキーは動作停止します。 これと全く同じコーディングでVB6は正しく動きます。(ただし、Pvate Sub text1_KeyPress(KeyAscii As Integer)に変更してます。) <コーディング> Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Msgbox "通過" If KeyAscii = vbKeyReturn Then KeyAscii = 0 End If End Sub これが出来ると、そのつどキーボードから手を離さずに済むので作業効率がグンとあがります。どうかよろしくご教示ください。Excel2003SP3

  • VBAについての質問です。初心者です。

     はじめまして。  VBA初心者です。  よろしければお願いします。  Changeイベントプロシージャを使い  テキストボックス1に  テキストボックス2と3から導き出せる答えを  コマンドボタンを押さずに  数字を入力しただけで表示されるようにしたいのですが。  コマンドボタンを作って、押したとき。  コマンドボタンを作らなくても、  テキストボックス1のところで何かタイピングしたとき。  は表示できるようになったのですが、  2と3に入れただけで  1が表示される  という状態にできません…。  質問内容の説明がわかりにくいと思いますが  補足などもちろん何でもしますので  よろしければご回答お願いします。  現時点で、スペースボタンなど  何かしら1のボックスでタイピングした場合に出る状態は Private Sub TextBox1_Change() TextBox1.Value = TextBox3.Value / TextBox2.Value End Sub  です。

  • 【Excel VBA】UserForm上のTextBoxについて

    UserForm上にTextBoxを配置し テキストを入力後Enterを押すことで中身を判定するロジックをKeyUp関数内に設けているのですが、 たまにEnterが反応しないことがあります。 その他のキー入力は入りますし、 Enter自体も一旦他のウィンドウをアクティブにしてから 再度UserFormをアクティブに戻して入力すると反応します。 Enterが押されるまでは以下のコードにより関数を抜けています。 If KeyCode.Value <> vbKeyReturn Or TextBox1.Value = "" Then Exit Sub 再現性もないので何が原因なのか判りません。 よろしくお願いいたします。

  • VBE ユーザーフォーム

    下記3点につき、ご教授御願い致します。 (1)テキストボックスに日付を入力。 入力する値は6桁の数字。 テキストボックス入力→050902 テキストボックス表示→05/09/02 としたい。 Private Sub TextBox16_Exit(ByVal Cancel As MSForms.ReturnBoolean) TextBox1.Text = Left(TextBox1.Text, 2) & "/" & Mid(TextBox1.Text, 3, 2) _ & "/" & Right(TextBox1.Text, 2) End Sub とすると、見かけ上は「05/09/02」となってくれるのですが、そうするとテキストボックスに何も表示しないでEnterを押すと(入力後に消した場合等も)「//」が出てしまいます。 入力する日付は本日とは限りません。 表示は「2005/09/02」ではなく「05/09/02」としたい。 (2)テキストボックスに今日の日付を自動的に表示させたい。 (手入力で変更できるようにする為、テキストボックスを使用) Private Sub UserForm_initialize() TextBox2.Text = Date End Sub とすると「2005/09/02」となり、「05/09/02」としたい。 (3)テキストボックス同士の計算 TextBox3とTextBox4に数字を入力し、その積をTextbox5に表示させたい。 TextBox5.text = Textbox3.text * TextBox4.text とすると 「型が一致しません」と出てしまう。 (「text」を「value」に変えても同じ) できましたら、イベント名もお教え下さい。 ---------------------------------------- よろしく御願いします。

  • Accessフォームの検索画面作成について

    ご存知の方、教えてください。 ・会員情報の単票フォームを作成し、同フォームのフォームヘッダーにテキストボックスとボタンを作成しました。 ・テキストボックスにフリガナの頭文字を入力し、ボタンを押すと、該当する会員のレコードが表示されるようにしました。 (VBAのFindRecordで作成) ここからが分からないのですが・・・。 ・フリガナに同じ頭文字を持つレコードが複数ある場合、「次へ」というボタンを押すと上部レコードから順に次のレコードが表示されるようにしたいのです。また、同じ頭文字のレコードがない場合は「検索が終了しました」というメッセージを表示したいのです。 VBAでどのような記述をすればいいのか、教えてください。よろしくお願いします。

  • Vba UserForm SetFocus

    ExcelのVbaでUserForm上に英単語のタイピング練習のソフトを作ろうとしていますが、うまくいきません。コントロールのイベントについての理解が不足しているのが分かりました。 ユーザフォーム上の複数のテキストボックス間のフォーカスの移動について教えて下さい。 UserForm1にテキストボックスを3つ、コマンドボタンを1つ配置しました。それぞれTextBox1、TextBox2、TextBox3、CommandButton1とします。 Private Sub CommandButton1_Click() TextBox3.SetFocus ・・・(1) End Sub Private Sub TextBox3_Enter() MsgBox "In TextBox3" TextBox2.SetFocus ・・・(2) End Sub 各TextBoxのTabStopプロパティは「True」、「TabIndex」は番号順になっています。 コマンドボタンのTabStopプロパティは「False」にしています。 フォームを表示し、コマンドボタンをクリックするとエラーが発生します。 (2)の実行の後(?)、(1)がエラー表示されます。 各イベントの発生のタイミング、連鎖、終了等の理解が不足していて、その理由がよく分かりません。どなたか教えていただけないでしょうか。よろしくお願いします。

  • VBA

    エクセルのVBAで下記のようにすると テキストボックス1=10,テキストボックス2=20の値を入力すると セル"A1"に1020と表示されます。合計を求めるにはどうすればよろしいですか?  ―・*・/は、正しい答えが表示されます。 Private Sub InputBtn_Click() Worksheets("Sheet1").Range("A1") = TextBox1.Text + TextBox2.Text End Sub

  • エクセルのvbaでのふりがなについて…

    年賀状のために住所録を作成しているのですが、 住所から簡単に郵便番号を表示できるようにしたいと考えています。 いろいろ調べた結果、アドインのウィザードを使えばできるのは わかっているのですが…それとは別の方法で 住所を7桁の郵便番号で打ち込み、それを辞書ツールで変換して住所を作り、 その部分の振り仮名をphonetic関数で表示すれば郵便番号が 出力できることがわかりました。 しかし、これを今度vbaのユーザーフォームで入力した場合… 住所の部分をユーザーフォームのテキストボックスで入力し、 その住所の振り仮名を隣のセルに出力させようと思ったのですが、 textbox1 = cell(1,2).value の形で持ってくるきた上でエクセルのA1セルに =phonetic(A2) という表示をつけても振り仮名情報までは維持されないようで 振り仮名が表示できなくなってしまいました。 VBAのテキストボックスの中の文字の振り仮名情報などを エクセルのセルなどに転用できるような方法などあるのでしょうか? 説明下手ですみません…わかりにくいと書いていただければ また補足を付け足していこうと思うので… なにとぞ回答のほどよろしくお願いします。

  • Access 2003 VBA について

     始めまして Access 初心者です。  ある、フォームのテキストボックスに入力した内容を元に、 コマンドボタンクリック時に、Aテーブル内容を検索し、テキストボックスに 入力した内容と一致しない場合にAテーブルに格納し 一致するレコードが見つかった場合は、エラーを表示したいのですが、 どのように記述すればいいのでしょうか? 駄文失礼します。