TYmamy の回答履歴

全3件中1~3件表示
  • ACCESS フォームに入力した文字列と同じコントロール名の値を得たい

    いつもお世話になっております。 どなたか、教えてください。 Aフォーム(単票)の当年月フィールド(非連結)に「200709」と入力 その後、Bフォームを開くと、 当年月数値フィールド(非連結)に”200709”と名前が付いているコントロール名の値をセットしたいと思っています。 Bフォームを開きながらAフォームの値を変えることはありません。 Bフォームを開く際の処理でも、当年月数値フィールドのコントロールソースの指定でも構いません。 よろしくお願いいたします。 (わかりづらい文章で申し訳ありません。)

  • サブフォームのレコードを1件のみに限定することはできますか?

    メインフォームの中にサブフォームを作りました。 メインフォームは単票形式で、サブフォームは表形式です。 (1)メインフォームのレコード1件につき、サブフォームのレコードは1件です。 今のままだとサブフォームが何件でも入力できてしまう仕組みなので、入力者が戸惑わないように、1件しかレコードを入力できないような仕組み(表示)に変えたいのです。 このようなことは可能なのでしょうか? (2)メインフォームの中にサブフォームを作ることにしたのは、依頼者から「この項目を増やしてほしい」と言われるのが一つずつで、その度にメインフォームに関連するエクセルなどのマクロの式を変えなければならず、手間がかかります。 そこで依頼者から言われる項目は○○の実績という一つのカテゴリーに限ったことなので、サブフォームにしてエクセルのマクロとは関連づかないようにすればメインフォームはいじらずに済み手間が省けるのではないかと思ったからですが、この方法は違っていますか? どなたか詳しい方がいらっしゃいましたらご教示いただけないでしょうか? お手数をおかけして申し訳ありませんがよろしくお願いいたします。

    • 375k
    • 回答数6
  • Access の非連結テキストボックスについて

    Access 2000 を使用しています。 フィールド名 データ型 Code     テキスト型(フィールドサイズ=8) Name     テキスト型(フィールドサイズ=50) というテーブルがあり、このテーブルを元に帳票フォームを作成しました。このフォームは参照用として使用したいので、 AllowEdits/更新の許可 AllowDeletions/削除の許可 AllowAdditions/追加の許可 のプロパティは全て「いいえ」にしてあります。 このフォームのフッタ部分に txtFilter というテキストボックスと cmdFilter というコマンドボタンを置き、フィルターの動作をさせるため、 Private Sub cmdFilter_Click()   If IsNull(txtFilter.Value) Then     FilterOn = False   Else     Filter = "Code LIKE """ & txtFilter.Value & "*"""     FilterOn = True   End If End Sub としました。(見やすくするため全角空白を使用しています。) さらに、txtFilter に 8文字 ( Code フィールドのフィールドサイズ ) 以上は入力できないようにしようと思い、 Private Sub txtFilter_KeyPress(KeyAscii As Integer)   If KeyAscii <> 8 Then     'Delete 以外の場合     If Len(txtFilter.Text) = 8 Then       KeyAscii = 0     End If   End If End Sub としましたが、ここで問題が起きました。 ・FilterOn = False あるいは、 ・FilterOn = True でも何レコードが表示されている状態(該当レコードが存在する文字が txtFilter に入力されている) という場合は良いのですが、該当レコードが存在しない場合、 txtFilter に入力されている文字を変更しようとすると、 txtFilter_KeyPress() 中の If Len(txtFilter.Text) = 8 Then のところで「実行時エラー'2185' コントロールがフォーカスを取得していないときに、コントロールのプロパティまたはメソッドを参照することはできません。」となってしまいます。 入力中のコントロールですから、「そんな馬鹿な!?」という感じなんですが、 If Len(txtFilter.Text) = 8 Then の前に txtFilter.SetFocus を入れても状況は同じでした。 フォームの「AllowAdditions/追加の許可」プロパティを「はい」にすれば、上記のようなエラーは発生しないのですが(なぜ、「AllowAdditions/追加の許可」プロパティの違いでそのようなことになるのかは理解できませんが)、ユーザーにデータの変更や追加、削除はさせたくないテーブルなので、追加を許すわけにもいきません。 何かいい回避方法はありませんでしょうか。 よろしくお願いします。