在庫更新データをCSV出力
フォームF_ItemRegistから実行できるように、ショップ選択コントロールとCSV出力の実行ボタンをフォームF_ItemRegistに作成 。
在庫数更新用テーブルへの書き込みとCSVファイルへの出力
・CSV出力の実行ボタンをフォームF_ItemRegistに作成
クエリQ_Updateを作成
使用テーブル:T_Putup(メイン)、T_Detai
レコード抽出してCSVファイルに出力する
抽出レコードを出力用テーブルに書き込む
標準モジュール
使用変数
Dim rsQuantity As New ADODB.Recordset Dim rsQPutup As New ADODB.Recordset Dim rsTItem As New ADODB.Recordset Dim intSID As Integer Dim strTblName As String
レコードセットを生成
Q_Updateのレコードセット、SIDで絞り込む
intSID = Forms!F_ItemRegist.ShopID With Application.CurrentProject rsQPutup.Open "select * from Q_Update where SID=" & intSID, .Connection _ , adOpenStatic, adLockOptimistic End With
T_Itemテーブルのレコードセット
With Application.CurrentProject rsTItem.Open "select * from T_Item", .Connection _ , adOpenStatic, adLockOptimistic End With
アップデート先によって処理を分岐させる
Select Case intSID Case 1: ショップ1の処理 Case 2: ショップ2の処理 Case 3: ショップ3の処理 End Select
テーブルへデータの書き込み
テーブルの全レコードを削除
strTblName = "<テーブル名>" All_DataDel strTblName
数量更新用ショップテーブルのレコードセット
With Application.CurrentProject rsQuantity.Open "select * from T_EasyQuantity", .Connection _ , adOpenStatic, adLockOptimistic End With Do Until rsQPutup.EOF rsTItem.Filter = "GroupNo=" & rsQPutup("GroupNo") cnt = rsTItem.RecordCount If cnt = 1 Then rsQuantity.AddNew rsQuantity("code") = rsTItem("GroupNo") rsQuantity("quantity") = rsTItem("Quantity") rsQuantity.Update Else Do Until rsTItem.EOF rsQuantity.AddNew rsQuantity("code") = rsTItem("GroupNo") If rsQPutup("VID") = 1 Then rsQuantity("sub-code") = "ds-" & rsTItem("ItemNo") Else rsQuantity("sub-code") = rsTItem("ItemNo") End If rsQuantity("quantity") = rsTItem("Quantity") rsQuantity.Update rsTItem.MoveNext Loop End If rsQPutup.MoveNext Loop
CSVファイルに出力
標準モジュールSub ExportData(TblName As String)
ダイアログを開いて任意のファイル選択
Dim filePath As Variant filePath = GetDocPath & "\" & GetFName DoCmd.TransferText _ transfertype:=acExportDelim, _ tableName:=TblName, _ FileName:=filePath, _ HasFieldNames:=True