Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2339 / 9994 ←次へ | 前へ→

【10930】Re:レコードを1件ずつ読み込む
発言    - 09/1/10(土) 20:09 -

引用なし
パスワード
   ▼neptune さん:
こんにちは
>情報なしでは考える事も出来ませんから。
すみません。お手数をお掛けしております。

>><テーブル>
>>T_商品マスタには商品グループ番号、商品コード、商品名
>>T_伝票入力には商品コード、商品名
>>となっており
>><フォーム>
>>F_伝票入力には商品コード、商品名(T_伝票入力を基に作成しました)
>ここで質問
>・商品コードのコントロールはComboBox?
いいえ。テキストボックスです。
>・商品名 のコントロールはTextBox?
はい。テキストボックスです。
>この2つのコントロールはいずれも非連結?
最初はT_伝票入力と連結しておりましたが、現在は何れも非連結になっています。
>・他にコントロールは?
フォームヘッダーの部分に、非連結のコンボックスでtxtキーというものがあります。↓の内容です。
>>1、F_伝票入力上にあるコンボックス(txtキー)から選択された商品グループ番号を基にT_商品マスタの内容を
>>F_伝票入力に表示させる。(毎回決まった注文に対応)
>・comboboxのコントロール名がtxtキー
そうなんです。書籍のサンプルを参考にしている為、このような名前になってます
>>1、については表示する事が出来ました。
>・どのようにして?
フォームヘッダーにある非連結のコンボックスであるtxtキーで商品グループ番号を選択して。
>>3については登録ボタンが考慮されておらず1、で表示と同時に即、T_伝票入力に反映してしまっています。
>非連結ならそのような事はありえないと思いますが?連結している????
すいません。連結にしておりました。非連結にして試してみましたが、コードの記述にそもそも登録ボタンの処理を入れていない為、即、T_伝票入力に反映しております。最終的にはフォームフッターにある登録ボタンの処理を入れたいと考えております。

>で、最初に帰って、私なりに整理してみると以下のようになります。
>使用するテーブルとその構造は以下。但し、データ型の情報が欠如している
>>T_商品マスタには商品グループ番号、商品コード、商品名
>>T_伝票入力には商品コード、商品名
はい。テーブルは、現在そのようになっております。
>form 非連結上に、combobox 1個、textbox 1個、commandbutton 1個を配置、
form 非連結上にcombobox×1(フォームヘッダーの部分に商品グループ番号を選択するコンボックス)
txtbox×2(フォーム詳細の部分に商品コードと商品名)
commandbutton×1(フォームフッターの部分に登録ボタン)
>combobox  コントロール名(txtキー):商品グループ番号フィールドのデータを全て表示
このコンボックスは、フォームヘッダーにあり、コンボツクをクリックすると商品グループ番号と商品コード、商品名の一覧を表示しています。txtキーのプロパティの値集合ソースには、
SELECT T_商品マスタ.商品グループ番号, T_商品マスタ.商品コード, T_商品マスタ.商品名 FROM T_商品マスタ ORDER BY T_商品マスタ.商品グループ番号, T_商品マスタ.商品コード;
と設定してあります。これはうまく動いております。
>textbox  コントロール名(不明):手入力
フォーム詳細にあり、商品コード(非連結)、商品名(非連結)の2つ。フォームヘッダーにあるコンボックスで選択した商品グループ番号に対応した商品コード、商品名を表示しております。
フォームヘッダーにあるコンボックを使わず、手入力する事も想定しております。現在は、フォームヘッダーにあるコンボックス(txtキー)から商品グループ番号を選択してフォーム詳細にある商品コード、商品名に自動的に表示した後、続けて次のレコード欄に手入力で商品コード、商品名を入力すると、何故かT_商品マスタにデータが登録されてしまっております。
これが何故かわかりません。
>commandbutton  コントロール名(商品マスタ全て読込)
>    商品マスタ全て読込をクリックする事で、T_伝票入力にcombobox とtextbox のデータを追加したい。
フォームフッターにある登録ボタンをクリックすると、フォームヘッダーにあるコンボックス(txtキー)から選択し、フォーム詳細上に表示さた商品コード、商品名と合わせてフォーム詳細上で手入力(追加)した商品名、商品コードをT_伝票入力にデータが反映するようにしたい。(現在は出来ていません)

フォームフッターにある登録ボタンをクリックする事により、フォームヘッダーにあるコンボックスから選択したデータと追加入力したデータを合わせてT_伝票入力に格納したいのです。
つまりフォームヘッダーにあるコンボックスから定型注文分を選択し、フォーム詳細に表示して、続けて追加注文を手入力(F_伝票入力上に表示されているデータ)登録ボタンでT_伝票入力に格納したい。という事なのですが。。。

こんな感じの説明でご理解頂けますでしょうか?
つたない説明で申し訳ないです。

Private Sub txtキー_AfterUpdate()
  Dim db As DAO.Database
  Dim db2 As DAO.Database
  
  Dim rs As DAO.Recordset
  Dim rs2 As DAO.Recordset
  
  Dim mySQL As String

  Set db = CurrentDb()
  Set db2 = CurrentDb()
  
  mySQL = "SELECT * FROM T_商品マスタ " _
     & "WHERE 商品グループ番号 = '" & Me!txtキー & "'"
  
  Set rs = db.OpenRecordset(mySQL)
  Set rs2 = db2.OpenRecordset("t_伝票入力", dbOpenTable)
  
  Set Me.Recordset = rs
  
  Me!商品コード.ControlSource = "商品コード"
  Me!商品名.ControlSource = "商品名"
  
  rs.MoveFirst
  
  Do Until rs.EOF
  
  With rs2
    .AddNew
    rs2!商品コード = rs!商品コード
    rs2!商品名 = rs!商品名
    .Update
  End With
   rs.MoveNext
  Loop
  
  Set rs = Nothing
  Set db = Nothing
End Sub

848 hits

【10918】レコードを1件ずつ読み込む 09/1/8(木) 17:24 質問[未読]
【10919】Re:レコードを1件ずつ読み込む neptune 09/1/8(木) 22:56 回答[未読]
【10920】Re:レコードを1件ずつ読み込む みかん 09/1/8(木) 23:19 質問[未読]
【10922】Re:レコードを1件ずつ読み込む neptune 09/1/9(金) 10:47 回答[未読]
【10927】Re:レコードを1件ずつ読み込む 09/1/9(金) 22:35 発言[未読]
【10928】Re:レコードを1件ずつ読み込む neptune 09/1/10(土) 12:42 発言[未読]
【10930】Re:レコードを1件ずつ読み込む 09/1/10(土) 20:09 発言[未読]
【10931】Re:レコードを1件ずつ読み込む neptune 09/1/11(日) 10:54 回答[未読]
【10934】Re:レコードを1件ずつ読み込む 09/1/11(日) 22:21 発言[未読]
【10935】Re:レコードを1件ずつ読み込む neptune 09/1/11(日) 22:31 回答[未読]
【10932】Re:レコードを1件ずつ読み込む neptune 09/1/11(日) 21:50 回答[未読]
【10933】Re:レコードを1件ずつ読み込む neptune 09/1/11(日) 22:00 回答[未読]
【10936】Re:レコードを1件ずつ読み込む 09/1/12(月) 0:04 発言[未読]
【10937】Re:レコードを1件ずつ読み込む neptune 09/1/12(月) 9:25 回答[未読]

2339 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078198
(SS)C-BOARD v3.8 is Free