• ベストアンサー

アクティブレコードの値を取りたい。

ひょっとしたらすごく難しいことなのかもしれませんが、 表形式のテーブルに各行に編集ボタンをつけます。 編集ボタンを押すと、伝票1の単票形式のフォームが表示され、内容を編集できるという形を作りたいと思っています。ここで問題なのが、編集ボタンを押したときに どうやって、現在、カーソルのあるレコードの 伝票番号を帳票に受け渡すかなんですが、よいアイデア があれば、おしえていただけないでしょうか。 伝票番号   商品   1 りんご    編集ボタン   2      みかん    編集ボタン   3      なし     編集ボタン

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> これを、 「伝票番号 = "002"」に変更できないものでしょうか。 シングルクォーテーションでも文字列と扱ってくれますので、 「伝票番号 = '002'」 とすればOKです。 つまり、 stLinkCriteria = "[伝票番号]='" & Me![伝票番号] & "'" P.S. 豆知識です。 ダブルクォーテーションを使用するのであれば、 stLinkCriteria = "[伝票番号]=""" & Me![伝票番号] & """" と、ダブルクォーテーションをダブルクォーテーション2つで表記します。

7_11shop
質問者

お礼

すばらしい。できました。 すごく助かりました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

エクセルであれば、データ-フォームで表示されるフォームを使えばどうでしょう。もし旨くニーズに合えば簡単です。 (例データ)A1:C8 番号 氏名 住所 23 大田 大田区 24 今井 豊島区 25 木島 千代田区 26 河村 三鷹市 27 国本 港区 28 近藤 江東区 29 鈴木 北区 (操作) A1:C6を範囲指定して データ-フォーム (検索・アクセス) ・番号フィールドに番号を指定->例 24-->今井分が出る) ・検索条件をクリック 氏名フィールドに氏名(例 河村)を指定-->26分が出る。 アクセスであれば、テーブルの各行にボタンを貼りつけたりしませんでしょう。むしろ不可能では。 むしろメニュの編集作業ボタンをクリック-編集用フォームが開く-フォームのテキストボックスとテーブルが連動 となるはず。

7_11shop
質問者

お礼

ご回答ありがとうございます。 お時間をかけてご回答いただいたのに、大変申し訳 ないのですが、今回は、Accessのみで作らないと いけないため、利用することができません。 また、何かの機会がありましたら、参考にさせていただきます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

Accessでしょうか。当方の環境にはAccess2000があるので、これでお話します。 まず、単票形式のフォームを作ります。 次に、表形式のフォームを作ります。表形式のフォームの詳細セクションに編集ボタンを貼ります。 編集ボタンのプロパティの、イベント→クリック時を[イベント プロシージャ]にし、「...」ボタンを押します。これでVisual Basic Editorが開きます。 Private Sub コマンド1_Click() などと書かれていると思います。 単票形式のフォームのフォーム名をForm1とすると、 Dim stDocName As String Dim stLinkCriteria As String stDocName = "Form1" stLinkCriteria = "[伝票番号]=" & Me![伝票番号] DoCmd.OpenForm stDocName, , , stLinkCriteria とすれば、完成です。

7_11shop
質問者

補足

ご回答ありがとうございます。 下記の方法を試してみたんですが、 stLinkCriteria = "[伝票番号]=" & Me![伝票番号] の部分の変数で、「伝票番号 = 002」という値が 入ってしまいます。 これを、 「伝票番号 = "002"」に変更できないものでしょうか。 初心者ですいません。。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【ACCESS2003】行ごとに表示非表示を変更したい

    ACCESS2003を使っています。 帳票形式のフォームを作り、各行ごとに 明細に飛ぶための編集ボタンを作りました。 そこで、たとえば、2番と3番の伝票番号など特定の番号にのみ、編集ボタンを表示させることはできないものでしょうか。(使用可不可変更でも可) 伝票番号   商品   1 りんご       2      みかん    [編集ボタン]   3      なし     [編集ボタン]

  • アクセスで指定したレコードをフォームで開く方法?

    アクセスで、帳票形式のフォームで選択したレコードの内容を、詳細を表示する用のフォーム(単票形式)で開きたいのですが、どうしたらよいのでしょうか?(初心者です) 例えば、帳票形式のフォームで「予約番号:1」のレコード 選択した状態で、ボタンをクリックすると、 詳細を表示する用の単票形式のフォームの「予約番号:1」のレコードが表示されるようにしたいのです。 マクロでは出来なそうなので、VBAで・・・というところまでしか検討がつきません。 使用しているのはアクセス2002です。 どなたかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

  • ACCESS 単票形式フォームの新しいレコードでのカーソルの位置

    単票形式フォームで、新しいレコードを入力の際に、カーソルをタブオーダーの1番最初に点滅させることが出来ないでしょうか? また、フォームで使用しているコマンドボタンにショートカットキーを割り付けることがでないでしょうか? と、言いますのは、一つのレコードを打ち終わって、ショートカットキーで次のレコードに移るコマンドボタンを押して、そのまま入力できれば、キーボードから手を離さずに打ち続けることができるのに・・と思いまして。 何卒、お願いします。m(__)m

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

  • Q>access2000でフォーム画面での新規レコード

    access2000でJANテーブルに[janコード][商品名]があります。 フォームでカード形式フォームを作ったのですが、 新しくJANコードを登録する為の新規レコードを表示させたいのですが、 コマンドボタンを作ったのですが、JANコードのセル?に カーソルが自動で行きません。 左下の現在のレコード番号が書いてある、 右側の>*のボタンを押すと、きちんと新規レコードに行って、 カーソルもJANコードのセルに行ってくれるのに・・。 そこで、教えていただきたいのですが、 テーブルを開くと、常に新しいレコードを表示させる。 もしくは、 フォーム内に作ったボタンを押すと、>*のボタンを押した時と 同じようになる方法をご存知の方いらっしゃいましたら、 よろしくお願いします。 (私はお礼&ポイント発行は必ずしていますのでよろしくお願いします。)

  • ACCESSでサブフォームの編集中レコードの処理

    ACCESS2000で単票系メインフォームと帳票系サブフォームを連結し、サブフォームに入力した明細(複数レコード)の金額累計(サブフォームフッターの非連結コントロール)をメイン側へ登録する処理を行っています。メイン側(マスターテーブル)への保存は保存用のコマンドボタンで行っています。サブフォーム側で完全に編集完了した場合(カーソルが次レコードの入力ラインにある)は正常に処理されますが、編集途中のレコードの金額は累計されないで保存されてしまいます。また保存コマンドボタンでサブフォームにRequeryをかけると累計金額がクリアされてしまいます。編集途中(つまり入力後エンタキーを押さないで直接コマンドボタンを押下)でもちゃんと累計されるような方法をご指導ください。よろしくお願いします。

  • サブフォームの帳票のレコードを編集している時

    ここに、親フォームと子フォーム(サブフォーム)があって 子フォームのレコードソースは、Workテーブルとします。 子フォームを編集・新規レコード追加すると、 親フォームの保存ボタン処理で、子フォームのレコード内容をWorkから、元テーブルに更新をかける知りをつくろうと考えています。 この時、 子側の帳票のレコードを編集したり、新規レコードを追加している時には ■『親側で、別のレコードに移動出来ないようにし、親側にある「保存」ボタンを押して、上記の処理をしたあとに、親側で別レコードに移動できる』 ような作りにしたいです。 これを実現するために、上の■『・・・』を実現できるようにするのには、どのようにしたら良いでしょうか? よろしくお願いします。

  • レコードの値を取得

    お尋ねします。 職員台帳をアクセス2000で作成しています。 検索フォームを作って、部署名をコンボボックスで選択すると、その部署に所属する職員の一覧を表形式で表示するようにしました。 表示するフィールドは、部署名、職員氏名、職員番号、入社年月日です。 次に、表形式で抽出されたそれぞれのレコードについて、コマンドボタンを押して別のフォームを開き、そのフォームで個別の情報を入力したいと考えます。各レコードそれぞれにコマンドボタンを配置する方法です。 別のフォームを開くときに、各レコード(テキストボックス)に表示されている職員氏名と職員番号の「値」を取得したいのですが、その方法がわかりません。表形式のレコードのValueを取得する方法をVBAでどう記述すればいいか、どなたか教えてください。 よろしくお願いいたします。

  • カーソルが次のレコードに移動する

    ACCESS2010を使用しています。 単票形式のメインフォームに、帳票形式のサブフォームが2つあるフォームを作成しています。 メインフォームには項目が20個程、サブフォームは共に4つ程の入力項目があります。 サブフォームとメインフォームのカーソルの移動にマウスを使用するのが面倒なので、PageUp/Donwキーを使用するようにしているのですが、PageDownキーを使用した時に何故なのか分からない現象が起きます。 入力済みのレコードを画面上に呼び出しPageUpキーを押すと、2つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動し、更にPageUpキーを押すと1つ目のサブフォームの入力済みレコード1件目の1個目の項目にカーソルが移動します。 ですが、PageDownキーをした時、1つ目のサブフォームへの移動はPageUpキーと同じ結果ですが、更にPageDownキーを押し2つ目のサブフォームに移動した時、入力済みのレコードではなく新しいレコードの1個目の項目にカーソルが移動してしまいます。 フォーム自身にもVBAにもそのような制御やコードは書いていないのですが、何故動きが異なるのかが分かりません。 ヒントになるような事でも結構です。

  • ACCESS 追加クエリでレコード数の指定したい

    Win XP Access2003 見積伝票を作成しております。サブフォーム(帳票フォーム)の登録方法でご教授お願い致します。 "伝票明細テーブルW"(伝票番号,行番号,内容、数量、単価、・・・)を基にした "伝票明細クエリW"を作成し、入力しやすいようにフォームを開いた時に行番号(連番)を振り、30行表示するようになっています。 入力確認後に登録ボタンをクリックして追加クエリを開き"伝票明細テーブルW"から"伝票明細テーブル"に30件レコード保存するようになっているのですが、 場合によって内容が2~3行で終わる時があります。 このような時に無駄に30行のレコードを保存せず"内容"(フィールド)が入力されているの最終レコードまでで伝票明細テーブルに追加したいのですが、よい方法がありましたら宜しくお願い致します。 "内容"(フィールド)は途中に空白の時があります。 行番号    内容        数量  1     オイル交換      3.0  2  3     タイヤ交換       4.0

専門家に質問してみよう