• ベストアンサー

アクセス2000でテーブルの内容を1件1件Form

テーブルの内容をForm上で1件1件連続で出したい。 たとえばコード番号だけ連続で出して、ボタンを押すと画面が止まって その人の詳細の情報が出る。抽選機みたいなものを 作ろうとしています。MoveNextでデータは進めいているのですが Formに反映されないのです。 recordsetの中身をフォームに反映させるにはどうしたらいいのでしょうか

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.9

#8です。 非連結フォーム内に、サブフォームを置いているのですね。 なんだか難しくしているだけの様な気もしますが、試しにやってみました。 単純化していますので、動作が確認できたらお好きな様にアレンジして下さい。 Private Declare Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) Dim stopFlag As Boolean Private Sub Form_Load() Me.tosenGamen.Visible = False End Sub Private Sub コマンド6_Click() Dim rs As DAO.Recordset Dim currentID As String stopFlag = False Set rs = Me.tosenGamen.Form.RecordsetClone rs.MoveFirst Do Until stopFlag currentID = rs!moto Me.テキスト4.Value = currentID Sleep 10 DoEvents rs.MoveNext If rs.EOF Then rs.MoveFirst Loop Me.tosenGamen.Visible = True Me.tosenGamen.SetFocus DoCmd.GoToControl "moto" DoCmd.FindRecord currentID, acEntire Set rs = Nothing End Sub Private Sub コマンド7_Click() stopFlag = True End Sub

5302abc
質問者

お礼

ありがとうございます 試してみます

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

その他の回答 (8)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.8

#2,6です。 テーブルの構造と、フォームの構造がいまいち理解できません。 サブフォームに表示したいとの事ですが、メインのフォームには何が入っているのでしょうか? 単独のテーブルから作成した単票のオートフォームの、ヘッダーセクションに、 非連結のテキストボックスと、スタートボタン、ストップボタンを置き、詳細フォームのVisibleプロパティを 操作すればご希望に近い事ができると思いますが、それではダメですか? 下記コードはご参考までに。ここではIDは、オートナンバーの数字でやっています。 Private Declare Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) Dim stopFlag As Boolean Private Sub Form_Load() Me.詳細.Visible = False End Sub Private Sub コマンド14_Click() Dim rs As DAO.Recordset Dim currentID As Long Dim strID As String stopFlag = False Set rs = Me.RecordsetClone Do Until stopFlag currentID = rs!ID strID = Format(currentID, "000") Me.テキスト12.Value = Mid(strID, 1, 1) Me.テキスト16.Value = Mid(strID, 2, 1) Me.テキスト17.Value = Mid(strID, 3, 1) Sleep 10 DoEvents rs.MoveNext If rs.EOF Then rs.MoveFirst Loop Me.詳細.Visible = True DoCmd.GoToControl "id" DoCmd.FindRecord currentID, acEntire Set rs = Nothing End Sub Private Sub コマンド15_Click() stopFlag = True End Sub

5302abc
質問者

お礼

いろいろありがとうございます。 doeventのところはできるようになりました。

5302abc
質問者

補足

すみません ご説明します テーブルに〒、住所、氏名、idコード5桁です idコードのフィールド名がmotoです メインのフォームにはstartbとstopbとテーブルのidコード5桁をだしたいのです サブフォムには〒、住所、氏名、idコードを出します 下記のようにつくりましたが startbで最初レコードのidコードが画面にでるだけで 次々とidコードが表示されません データが終わりまでいってループになってしまいます Option Compare Database Private Declare Sub Sleep Lib "KERNEL32.dll" (ByValdwMilliseconds As Long) Private Sub Form_Open(Cancel As Integer) Forms!gamen!当選者画面.Visible = False End Sub Private Sub stopb_DblClick(Cancel As Integer) STOPFLAG = True Forms!gamen!当選者画面.Visible = True Forms!gamen!stopB.ForeColor = 255 Forms!gamen!stopB.BorderColor = 255 Forms!gamen!stopB.Caption = "当選者決定" End Sub Private Sub stratb_Click() Dim db As DAO.Database Dim RS As DAO.Recordset Set db = CurrentDb() Set RS = db.OpenRecordset("JLIST", dbOpenDynaset) Dim STOPFLAG As Boolean STOPFLAG = False RS.MoveFirst Do Until STOPFLAG Me!S1.Value = Mid(RS!MOTO, 1, 1) Me!S2.Value = Mid(RS!MOTO, 2, 1) Me!S3.Value = Mid(RS!MOTO, 3, 1) Me!S4.Value = Mid(RS!MOTO, 4, 1) Me!S5.Value = Mid(RS!MOTO, 5, 1) DoEvents Sleep 50 RS.MoveNext If RS.EOF Then RS.MoveFirst Loop End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.7

補足に記述があったので気が付きませんでした。。 さて、提示されたコードで何故うまく行かないかと言うと Do Until RS.EOF ~~省略~~ 'doevens 'Sleep 10 RS.MoveNext で一回レコードセットを最後まで進めているだけです。 No.6 のmitarashi さんのコードを確認してください > If rs.EOF Then rs.MoveFirst 最後まで行ったら最初に戻っていますよ! また、 > Private Sub Form_Open(Cancel As Integer) フォームのオープン時イベントではマズイかと。 おなじく、No.6 のmitarashi さんのコードを確認してください。 コマンドボタンのイベントで処理されています。 サブフォームに当選者の詳細をだしたいのですよね? メインフォームにRS!MOTOのフィールドを配置(親A)(不可視)でかまいません サブフォームにもRS!MOTOのフィールドを配置して(子A) サブフォームのプロパティを開きデータのリンク子フィールド(子A)と リンク親フィールド(親A)を設定すればリンクできますよ 具体的なコードは・・・ほとんどmitarashiさんのコードと一緒になってしまうので (悪く言えばパクリ)ご勘弁ください。 ※お礼欄に記述して投稿されると(私のではなくmitarasi さんのとこですよ!) メールが先方に送られますので、気が付いてくれるかと思います。 『補足』と『お礼』を旨く使い分けてください。 追伸 DoEvents ←→doevens スペルミスでは?

5302abc
質問者

お礼

いろいろありがとうございます。 続けてみます。

全文を見る
すると、全ての回答が全文表示されます。
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.6

#2です。DAOはあまり使った事がないのですが、今回の事例はDAOを使う方が簡単そうです。 Access2000の場合は、Microsoft DAO 3.6 Object Libraryに参照設定する必要があります。 また、単票フォームにテキストボックス1個と、コマンドボタン2個があるとします。 番号は実際に合わせて付け替えるか、コントロールのプロパティで命名して、そちらと入れ替えて下さい。 Private Declare Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) Dim stopFlag As Boolean Private Sub コマンド10_Click() Dim rs As DAO.Recordset stopFlag = False Set rs = Me.RecordsetClone Do Until stopFlag Me.テキスト8.Value = rs!ID Sleep 10 DoEvents rs.MoveNext If rs.EOF Then rs.MoveFirst Loop DoCmd.GoToControl "id" DoCmd.FindRecord Me.テキスト8.Value, acEntire Set rs = Nothing End Sub Private Sub コマンド11_Click() stopFlag = True End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.5

No3 nicotinism です。 お試しいただけなかったのが残念です。 まぁ少しトリッキーではあるのですが。 さて 回答者は千里眼の持ち主ではありませんので No2 の方の回答のようになってしまいます。Me too >MoveNextでデータは進めいているのですが >Formに反映されないのです これのVBAでのコードの内容が分かれば、そちらの状況に応じた回答も 出来ようかとおもいます。 フォームは単票フォームなんですよね? その説明も欲しいですね。

5302abc
質問者

補足

すみません コード書きました 標準モジュールの書き方が わからないのでdoevensはエラーに なってしまいますがデータは最後まで 行って最後が表示されます でもどうも画面には反映されていないようです ご教示お願いします Option Compare Database Private Declare Sub Sleep Lib "KERNEL32.dll" (ByValdwMilliseconds As Long) Private Sub Form_Open(Cancel As Integer) '当選者画面はサブフォーム Forms!gamen!当選者画面.Visible = False Dim db As DAO.Database Dim RS As DAO.Recordset Set db = CurrentDb() Set RS = db.OpenRecordset("JLIST", dbOpenDynaset) RS.MoveFirst Do Until RS.EOF Me!S1.Value = Mid(RS!MOTO, 1, 1) Me!S2.Value = Mid(RS!MOTO, 2, 1) Me!S3.Value = Mid(RS!MOTO, 3, 1) Me!S4.Value = Mid(RS!MOTO, 4, 1) Me!S5.Value = Mid(RS!MOTO, 5, 1) '5桁の数字各々テキストボックス 'MOTOはテーブルにあるコード 'doevens 'Sleep 10 RS.MoveNext Loop End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

「再クエリ」が抜けているだけ?。 タイマーコントロール使った時間表示を見ると、 一定時間ごとに表示が変わりますが・・・。 ビンゴゲームやスロットマシンの抽選番号を表示する、みたいなもの?。 これならどこかにサンプルはありそう。

5302abc
質問者

補足

すみません、フォームでレコードソースを指定し 配置したテキステボックスのコントロールソースにテーブルのフィールドを 指定すればフォームに反映しますし、レコードセレクターでレコードを進めること もできますが、 それをプログラムの中でフォームとテーブルをどうセットするか がわからないのです。多分そこをおしえていただけたら解決すると思うのですが

全文を見る
すると、全ての回答が全文表示されます。
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

抽選機みたいなもの・・に反応して考えました (^^ゞ 大前提 単票フォームであること 下準備 フォームに非連結のテキストボックスを1個。名前をNos 同様にコマンドボタンを1個。名前を btn0 とします。 コマンドボタンの標題を、開始 にします(ピクチャはなしに)。 標準モジュールに下記の一行を追加 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) コマンドボタン btn0 のクリック時イベントに以下を Private Sub btn0_Click()   Dim rc As Long   rc = Me.RecordsetClone.RecordCount   If Me!btn0.Caption = "開始" Then     Me!btn0.Caption = "停止"     Do Until Me!btn0.Caption = "開始"       Me!Nos = Int(Rnd * rc) + 1       DoEvents       Sleep 50     Loop   Else     Me!btn0.Caption = "開始"     DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, Me!Nos   End If End Sub 異常終了に備えて フォームの読み込み時イベントに Private Sub Form_Load()   Me!btn0.Caption = "開始" End Sub OSやAccessのバージョンによっては動かないかもしれない。 当方 WindowsXP Access2002 ご参考までに。

全文を見る
すると、全ての回答が全文表示されます。
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

質問文からはどの様に実現しようとしているのかが読み取れません。 次のケースが思いつきます。 1.非連結のフォーム上に、テキストボックス1個と、スタート、ストップボタンを置き、ストップボタンを押したときのコード番号により、単票フォームを呼び出す。 2.単票フォームの上部のヘッダー部に、テキストボックス1個と、スタート、ストップボタンを置き、ストップボタンを押したときのコード番号により、単票フォームのレコードを移動する。 3.単票フォームの上部のヘッダー部に、スタート、ストップボタンを置き、ストップボタンを押すまで単票フォームのレコードを次々と移動する。 2番目でやってみました。Sleep関数を用いているのは、CPUの使用率が100%になってしまうのを防ぐためです。もし3にしたければ、改造は容易です。 テキストボックス、コマンドボタンの名前は成り行きです(最初に1をやってみたので大きな数字になっています)ので、試される場合は実際に合わせてください。テーブル名と、コード番号の入ったフィールド名についても同様に修正してください。ご参考まで。 Private Declare Sub Sleep Lib "KERNEL32.dll" (ByVal dwMilliseconds As Long) Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim stopFlag As Boolean Private Sub Form_Load() Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset rs.Open "テーブル名", cn, adOpenForwardOnly, adLockReadOnly End Sub Private Sub Form_Unload(Cancel As Integer) If rs.State = adStateOpen Then rs.Close Set rs = Nothing If cn.State = adStateOpen Then cn.Close Set cn = Nothing End Sub Private Sub コマンド10_Click() stopFlag = False Do Until stopFlag Me.テキスト8.Value = rs!ID Sleep 10 DoEvents rs.MoveNext If rs.EOF Then rs.MoveFirst Loop DoCmd.GoToControl "id" DoCmd.FindRecord Me.テキスト8.Value, acEntire End Sub Private Sub コマンド11_Click() stopFlag = True End Sub

5302abc
質問者

お礼

ありがとうございます。試してみます。

5302abc
質問者

補足

すみません コード書きました 標準モジュールの書き方が わからないのでdoevensはエラーに なってしまいますがデータは最後まで 行って最後が表示されます でもどうも画面には反映されていないようです ご教示お願いします Option Compare Database Private Declare Sub Sleep Lib "KERNEL32.dll" (ByValdwMilliseconds As Long) Private Sub Form_Open(Cancel As Integer) '当選者画面はサブフォーム Forms!gamen!当選者画面.Visible = False Dim db As DAO.Database Dim RS As DAO.Recordset Set db = CurrentDb() Set RS = db.OpenRecordset("JLIST", dbOpenDynaset) RS.MoveFirst Do Until RS.EOF Me!S1.Value = Mid(RS!MOTO, 1, 1) Me!S2.Value = Mid(RS!MOTO, 2, 1) Me!S3.Value = Mid(RS!MOTO, 3, 1) Me!S4.Value = Mid(RS!MOTO, 4, 1) Me!S5.Value = Mid(RS!MOTO, 5, 1) '5桁の数字各々テキストボックス 'MOTOはテーブルにあるコード 'doevens 'Sleep 10 RS.MoveNext Loop End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

例えば、 検索項目を入力して、検索ボタン押下、それで検索に見合うデータを表示、 さらに また 検索項目を入力して、検索ボタン押下、それで検索に見合う(違う)データを表示、 さらに また 検索項目を入力して、検索ボタン押下、それで検索に見合う(違う)データを表示、 ・・・・ はできます。 これをするには、「再クエリ」の実行が絡みます。 今仕掛りのはプログラミング的にはどんな仕掛けですか?。 >Formに反映されないのです。 何か表示されていると思いますが、1回目表示のものと何ら変わらず、ですか?。

5302abc
質問者

補足

すみません、フォームでレコードソースを指定し 配置したテキステボックスのコントロールソースにテーブルのフィールドを 指定すればフォームに反映しますし、レコードセレクターでレコードを進めること もできますが、 それをプログラムの中でフォームとテーブルをどうセットするか がわからないのです。多分そこをおしえていただけたら解決すると思うのですが レコードはMovenextしているようです。画面はかわりません最初のままです。

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

関連するQ&A

  • ACCESSのテーブル結合に関して

    初歩的な事で申し訳ありませんが、教えて下さい。 以下のように3つのテーブルが存在し、検索条件をBテーブルの仕入先コードが"AAA"と 指定した際に、 発注番号、発注日付、仕入先コード、仕入先名 という形でOUTPUTしようと考えています。 その場合、クエリではどのように結合すれば良いでしょうか。。。 Aテーブルの発注番号とBテーブルの発注番号、Bテーブルの仕入先コードとCテーブルの 仕入先名という結合の形では、条件の"AAA"が1件しかないにもかかわらず、複数件出力されて しまうかと思われます。 《テーブル内容》 Aテーブル 発注番号 発注日付 Bテーブル 発注番号 仕入先コード Cテーブル 仕入先コード 仕入先名 ※ Bテーブル、Cテーブルの仕入先コード"AAA"は、それぞれ1件ずつしかない。 教えて頂きたいと思います。

  • アクセスでの、フォームとテーブルの連動の方法を教えてください

    初歩の初歩だと思うのですが、教えてください。 アクセスで、テーブルのフィールドと全く同じ内容でフォームを作りました。(受講生情報の管理) その中で「性別番号」と「性別」があり、(「性別番号」と「性別」は、別にテーブルを作っています)フォーム上では「性別番号」に番号(男なら1、女なら2)を入力すると「性別」に自動で値が入るように設定できたのですが、テーブルに反映されません。(フォームの「性別」のプロパティのコントロールソースに”DLOOKUP~”を入力しました) テーブル上にも同じように反映させるには、どうすればよいのでしょうか。 同様の質問と思われるものを参考にいろいろとやってみたのですが、どうもうまくいかなくって・・・ よろしくお願いします。

  • Access97で自動入力と反映が違うテーブルの場合

    こんにちは、前の質問などでフォームへの自動入力は何とかできるようになったのですが、今度はその入力したデータを他のテーブルBに反映させたいのですが、どうしたら良いのでしょうか? テーブルA 店舗コード 店舗名 ※テーブルAの管理者は私ではなく、ネットワークで私のPCと「テーブルのリンク」でつながっています。 テーブルB 店舗コード 店舗名 商品番号 他に店の情報フィールドをいくつか作成 フォームC 店舗コード 店舗名 商品番号 他に店の情報テキストボックスをいくつか作成 フォームCで、店舗コードを入力したら店舗名が自動的に入力される方法は、フォームCのレコードソースをテーブルAにして、店舗コードの更新後処理をイベントプロシージャにして、下記イベントコードを設定しました。 Private Sub 店舗コード_AfterUpdate() Me![店舗名]=DLookup("店舗名","テーブルA","店舗コード=" & Me![店舗コード] & " ") End Sub そして、フォームの残りのテキストボックスに、店と商品に関するデータを入力し、入力した全てのデータをテーブルBに反映させたいのですが、どうしたら良いのでしょうか? 自動入力の方法でDLookupを使用したのがいけなかったのでしょうか? また、できればテーブルBは商品番号順に並びかえられているのですが、入力したら商品番号のリストの一番下に挿入されるという形にしたいのです。 どうかよろしくお願いします。

  • フォーム内の二つのテーブルのうち一つのテーブル内のオブジェクトの内容のみをクリアしたい

    フォーム内にテーブルを二つ作成しました。 テーブル1の中のあるチェックボックスのチェックが入っているかいないかにより テーブル2のオブジェクト(テキスト、ラジオボタン、チェックボタン)の内容を全てクリアしたいのです。 テキストは中身を消して、ラジオボタン、チェックボタンはチェックを はずしたいということです。 テーブル1はそのままで、テーブル2のみ初期状態にしたいのです。 まとめてクリアしたいのですが、出来ないのでしょうか?

  • Access、選択して印刷したい場合

     こんにちは、長い質問ですみません。どなたかご教授お願いします。  今、作成したいのはテーブルAに1000件以上の顧客データ(重複ないです)があり、その中から1件だけ選択し、フォームB上に作成したコマンドボタンのクリックで、その顧客データの情報だけをA4サイズ全てを使用して印刷出力したいのです。  レポートの詳細にテーブルAのフィールド項目を反映させると、1件だけではなく、A4サイズに許す限り次のデータが反映されてしまいます。  作業の順番を下記のように私なりに考えて進めていますが、どこがおかしいでしょうか? (1)テーブルAと連結する検索クエリCを作成し、抽出条件にLike[顧客コード]&"*" (2)フォームBのコントロールソースをクエリCに設定 →初期画面をフォームBにし、フォームBを立ち上げると同時にパラメータの入力画面が出て、そこに顧客コードを入力すると顧客情報がフォームB上に表示されます。 (3)テーブルAをコントロールソースにしたレポートを作成する。詳細にテーブルAのフィールド項目を入力。 (4)印刷マクロを作成し、マクロのアクションを「レポートを開く」にし、ビューを印刷にする。 (5)フォームBに印刷コマンドを作成し、イベントを印刷マクロにする。 (6)フォームBより印刷コマンドをクリックして、印刷開始する。

  • Form_Load と Form_Activate のタイミング

    あるデータ入力アプリを作っています。 親フォーム(Form0)で番号を決め、子フォーム(Form1,Form2,Form3,Form4) でデータ入力し、それぞれの子フォームを出るとき(Unload Me) に、変数にsaveしています。それを親フォーム(Form0)で登録を選択したとき、入力データをチェックしてDBに格納しています。 すでにDB格納済のデータの場合、親フォームでDBから変数に読み込み、子フォームのForm_Loadで展開しています。 そこで困っているのは、親と子のフォームを行き来するときにデータの表示で前のが残っていたり、消えてしまったりします。 Form_LoadとForm_Activateを通過するタイミングが、ちゃんと理解できていないためコードの記述位置が不適切なのだと思います。 Form_Load と Form_Activate の実行タイミングについて、お教えください。

  • Accessの「Form_AfterUpdate」イベントが実行されないんですが...

    現在、仕事でAccessを使用し始めましたが、イベントの発生するタイミングがわからなくて困っています。 「テーブルA」を元にした単純な帳票形式のフォームを作成し、そのフォームのレコードが1件更新(追加、変更)される度に、他のテーブルBの項目を更新する必要があり、VBでフォームのイベント「Form_AfterUpdate」に、テーブルBの更新内容を記述していますが、新規でレコードを入力しても、既存のレコードの変更を行っても、「Form_AfterUpdate」が実行されない様なのです。確認の為に、「Form_AfterUpdate」内にブレークポイントを設定していますが、ブレークする事も無く、テーブルBの更新もされていません。 ネット上で色々検索してみたのですが、結局見つけられずに、困っています。通常、レコードの変更時に、更新後処理が実行されない事ってあるのでしょうか?

  • アクセスでテーブル入力用のフォームを他のテーブルのレコードを参照しながら入力するには

    こんにちわ アクセスでテーブルのレコードを作成するのに 他のテーブルのレコードを引っ張ってきて フォーム上で表示したいのですが うまくいきません たとえば、社員名テーブル(従業員番号と名前) 配属テーブル(従業員番号と営業所コード) 支社テーブル(支社名と営業所コードの上2桁) 営業所テーブル(営業所名と営業所コード)を作成しておきます 退職者が出るたびに 退職者テーブル用のフォームに 従業員番号を入力すると フォーム上にその人の名前・支社名・営業所名が表示され それを確認してから その他のデータをその同じフォームに 入力したいのです 今、試しに作ったのは テーブルに一度上書きしないとデータを引っ張ってこないの不便なのです よろしくお願いします

  • Access2003でフォームにあるコマンドボタンで更にフォームを開く

    Access2003でフォームにあるコマンドボタンで更にフォームを開くときのVBA記述で困っています。 Access2003で社員情報管理のデータベースを作成中です。 社員の情報を入力するにあたり、【基本情報】と【詳細情報】とでフォームを分けてあり、【詳細情報】を入力したい場合は、"基本情報フォーム"にあるコマンドボタンをクリックして"詳細情報フォーム"を開くようになっています。 この際、"基本情報フォーム"で開いている社員の【社員番号】を"詳細情報フォーム"の【社員番号】欄にも自動的に表示させるため、以下のようなVBAを記述しました。 Private Sub コマンドボタン_Click() DoCmd.OpenForm "詳細情報フォーム" Forms![詳細情報フォーム![社員番号].DefaultValue = Me![社員番号] End Sub 【社員番号】は7ケタの半角英数で、社員によって、数字だけの場合と、英数混じっている場合とがあります(データ型はテキスト型にしてあります)。 困っているのは、 1.上記を実行した際に、数字だけの社員番号は問題ないのですが、英数混じりの場合だと"社員番号"テキストボックスが「#Name?」という表示になってしまう 2."基本情報フォーム"のコマンドボタンをクリックして新規の"詳細情報フォーム"を開き(社員番号のみが反映され、他の項目は空欄の状態)、詳細情報を入力→保存したあと、別の社員番号で"基本情報フォーム"を開き、コマンドボタンで"詳細情報フォーム"を開くと、前に入力した社員の情報が出てきてしまう。 (つまり、"詳細情報フォーム"のもととなるテーブルに、1行でもレコードがあると、それが出てきてしまう。) 【詳細情報】は、 1.データを入力する社員としない社員とがいる 2.新規でレコードを作成する場合と、既存のレコードを上書きする場合とがある ので、もととなる"詳細情報テーブル"にその【社員番号の】レコードがなければ新規入力画面を、レコードがあればそのレコードを呼び出す形にしたいのですが、英数混じりの表示の件も含め、どうすれば、正しく表示されるか教えていただきたいです。 ぜひぜひよろしくお願いします。

  • accessのクエリ

    こんにちわ。 いまaccess2000を使っています。 あるフォームのコントロールソースとして ある選択クエリを指定しました。 そのクエリは元になるトランザクションテーブルと それに関連するマスタテーブルから構成されています。 そこでこのフォームの詳細セクションでデータを入力すると, トランザクションテーブルにそのまま登録されるように なっていますが,なぜか関連するマスタにまでデータが 登録されてしまいます。 なおそのときはマスタの名称項目のみに登録され, コード項目には何も登録されません。 トランのみに反映しマスタには反映しないようにしたいのですが, どうすれば良いでしょうか? 教えてください。お願いします。

専門家に質問してみよう