Access VBA質問箱 IV

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

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


2338 / 9994 ←次へ | 前へ→

【10931】Re:レコードを1件ずつ読み込む
回答  neptune  - 09/1/11(日) 10:54 -

引用なし
パスワード
   ▼聡 さん:
こんにちは

必要情報が揃うまで時間がかかりましたね。次回から質問するときの
教訓にしましょう。

さて、本題ですが、先ずこれから記載するコード類は全て
・未検証です。
・エラー処理、不適正なデータのチェックは考慮していない。
のでお断りしておきます。
・・・同じ環境作るの面倒くさいので。

以下私ならこうするという例
(これがBestと言う気はさらさら無いですが、非連結なら似たような方法になるはずです。)
DAOは既に枯れたもので安定はしているんでしょうが、これから書くなら
ADOで書いた方がサンプル等の参考文献も多いのでADOで書く事をお勧めします。
DAOの進歩は、10年前に終わりましたので。

以下のSQLで「Q_伝票入力」を作成・・・・(INSERT T_伝票入力 SET (商品名、商品コード) VALUES([Param1],[Param2]);

以下のSQLで「Q_商品グループ番号」を作成
SELECT T_商品マスタ.商品グループ番号, T_商品マスタ.商品コード, T_商品マスタ.商品名 FROM T_商品マスタ ORDER BY T_商品マスタ.商品グループ番号, T_商品マスタ.商品コード;

新規Form作成 以下構成 全て非連結
combobox        オブジェクト名 cboKey    非連結 値集合ソース 「Q_商品グループ番号」
commandbutton   オブジェクト名 cmdAddNew 非連結
textbox           オブジェクト名 txtName    非連結
textbox           オブジェクト名 txtCode    非連結

※ADO2.6以降に参照設定必須

'データ登録ボタン
Private Sub cmdAddNew_Click()
  Dim cn As ADODB.Connection
  Dim cmd As ADODB.Command
  Dim prm As ADODB.Parameter
  Dim param1value As String
  Dim param2value As String
  
  'データ取得
  param1value = Me.txtName.Text
  param2value = Me.txtCode.Text
  
  Set cn = CurrentProject.Connection
  Set cmd = New ADODB.Command
  Set prm = New ADODB.Parameter
  
  With cmd
    .ActiveConnection = cn
    .CommandText = Q_Name
    .CommandType = adCmdStoredProc
    'パラメータ追加
    Set prm = .CreateParameter("Param1", adChar, adParamInput, , param1value)
    .Parameters.Append (prm)
    Set prm = .CreateParameter("Param2", adChar, adParamInput, , param2value)
    .Parameters.Append (prm)
    .Parameters.Refresh
    '実行
    .Execute
  End With
  
  Set prm = Nothing
  Set cmd = Nothing
  cn.Close
  Set cn = Nothing

End Sub

と、ここまで書いたら根性が尽きたので、
textbox等への入力補助については根性が復活するのを待ってね。

後、comboboxのチェンジイベント?でパラメータクエリ(作成必要)を
キックして、必要データを取得、textboxに表示させようかなと思っています。
出来たらやってみて下さい。パラメータクエリでなくてもSQLを直接投げても
OKです。でもパラメータクエリを作った方が、Accessがクエリを作って
くれるので楽チン。
897 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 回答[未読]

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