あなたの「必」の書き順を教えてください

こんにちは。ACCESS2000でツールを作成しています。
テーブルはExcelにリンクさせ、クエリを介して帳票フォームで
データを表示しています。
帳票フォームのレコード毎にテキストボックスを追加して
それぞれ入力できるようにし、その値をVBAで取得したいのですが
どうすればよいでしょうか。
テキストボックスを追加して実行すると、一つのテキストボックスに
入力した値が全てのレコードに反映されているようです。
帳票フォームのしくみがよく分かりません。
どなたか教えていただけないでしょうか。
宜しくお願いします。

A 回答 (3件)

#2です。



>やはり元のデータに列を追加しないとだめでしょうか。

エクセルのシートに列を追加したくないというのなら、リンクではやはり無理ではないでしょうか。
インポートはなく、リンクである必要が何なのかによって、対応方法も変わってくると思いますが、次のような方法のいずれかを検討されてはいかがでしょか。

・エクセルシートに列を追加し、非表示とする
・フォームを開くときににエクセルシートをインポートする、あるいはエクセルにリンクしたテーブルのコピーを作る
・もとのシートとリンクしている、必要な列が全て入った別のエクセルシートを用意し、それにテーブルをリンクさせる
・表形式のフォームをやめる。表形式にみえるフォームを単票フォームで作る。
    • good
    • 0

テキストボックスのプロパティで、「コントロールソース」(データタブ内)に反映させたいフィールドが選択されていますか?

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
テーブルはExcelにリンクしているため、
テキストボックスを連結させると列の更新ができませんでした。
そこでテキストボックスを非連結にし、テキストボックスに入力された値を
新しいExcelファイルにエクスポートするようにしたいのですが。
やはり元のデータに列を追加しないとだめでしょうか。

お礼日時:2002/09/20 16:59

こんにちわ



モジュール(フアンクション)のなかで

DIM FM1 AS FORM
DIM KM1 AS STRING
-
-
-
-
SET FM1=SCREEN.ACTIVEFORM
KM1=FM1![NAME1]

と書きます

NAME1 はテキスト項目名
KM1 に入力されている値が入ります
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
すみません、やりたいことがうまく伝わっていないようです。
帳票フォームには複数のレコードが表示されていて
(でもデザインでは1レコードのみ)
テキストボックスを追加すると、各レコード(行)に
テキストボックスが表示されるのですが
一つのテキストボックスに値を入力して
次のテキストボックスに移動すると
一つ目に入力した値が次のテキストボックスに入ってきてしまいます。
これをそれぞれ値を設定できるようにして、さらにその値を
それぞれ取得できるようにしたいのです。
どうか宜しくお願いします。

-----------------------
テキストボックス  列1  列2
□         1 1  ←レコード1
□         2 2  ←レコード2
-----------------------
□はテキストボックスです。
レコード1とレコード2のテキストボックスに
それぞれ違う値を入力し、それをVBAで取得したいのです。

お礼日時:2002/09/20 16:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報