あるファイル(ABC.csv)を取り込む時には、
手数料種別の登録を行わず、代理店登録に飛びたい場合は
どのようにしたら良いでしょうか?
教えて下さい。(読みづらくて申し訳ありません。)
Public Function F_新規マスタデータ登録(StrFName As String)
On Error GoTo Err
Dim StrSal As String
F_新規マスタデータ登録 = False
'手数料種別の登録
StrSql = "INSERT INTO TW_手数料種別マスタ ( "
StrSql = StrSql & "手数料種別, "
StrSql = StrSql & "手数料種別名称) "
StrSql = StrSql & "SELECT "
StrSql = StrSql & StrFName & ".手数料種別, "
StrSql = StrSql & StrFName & ".手数料種別名称 "
StrSql = StrSql & "FROM " & StrFName & " "
StrSql = StrSql & "LEFT JOIN T_手数料種別マスタ "
StrSql = StrSql & "ON " & StrFName & ".手数料種別 = T_手数料種別マスタ.手数料種別 "
StrSql = StrSql & "WHERE T_手数料種別マスタ.手数料種別 Is Null "
StrSql = StrSql & "GROUP BY "
StrSql = StrSql & StrFName & ".手数料種別, "
StrSql = StrSql & StrFName & ".手数料種別名称 "
CurrentDb.Execute StrSql
'新規代理店の登録
StrSql = "INSERT INTO TW_代理店マスタ ( "
StrSql = StrSql & "代理店, "
StrSql = StrSql & "代理店名称, "
StrSql = StrSql & "新規データ, "
StrSql = StrSql & "全件出力, "
StrSql = StrSql & "選択出力) "
StrSql = StrSql & "SELECT "
StrSql = StrSql & StrFName & ".代理店, "
StrSql = StrSql & StrFName & ".代理店名称, "
StrSql = StrSql & "True, "
StrSql = StrSql & "False, "
StrSql = StrSql & "False "
StrSql = StrSql & "FROM " & StrFName & " "
StrSql = StrSql & "LEFT JOIN T_代理店マスタ "
StrSql = StrSql & "ON " & StrFName & ".代理店 = T_代理店マスタ.代理店 "
StrSql = StrSql & "WHERE T_代理店マスタ.代理店 Is Null "
StrSql = StrSql & "GROUP BY "
StrSql = StrSql & StrFName & ".代理店, "
StrSql = StrSql & StrFName & ".代理店名称, "
StrSql = StrSql & "True "
CurrentDb.Execute StrSql
No.1ベストアンサー
- 回答日時:
Public Function F_新規マスタデータ登録(strFName As String)
On Error GoTo Err_F_新規マスタデータ登録
Dim strSQL(1) As String
' ------------------
' 手数料種別の登録
' ------------------
strSQL(0) = "INSERT INTO TW_手数料種別マスタ (手数料種別, 手数料種別名称) " & _
"SELECT XXX.手数料種別, XXX.手数料種別名称 FROM XXX " & _
"LEFT JOIN T_手数料種別マスタ ON XXX.手数料種別 = T_手数料種別マスタ.手数料種別 " & _
"WHERE T_手数料種別マスタ.手数料種別 Is Null " & _
"GROUP BY XXX.手数料種別, XXX.手数料種別名称 "
' ------------------
' 新規代理店の登録
' ------------------
strSQL(1) = "INSERT INTO TW_代理店マスタ (代理店, 代理店名称, 新規データ, 全件出力, 選択出力) " & _
"SELECT XXX.代理店, XXX.代理店名称, True, False, False FROM XXX " & _
"LEFT JOIN T_代理店マスタ ON XXX.代理店 = T_代理店マスタ.代理店 " & _
"WHERE T_代理店マスタ.代理店 Is Null " & _
"GROUP BY XXX.代理店, XXX.代理店名称, True "
' -----------------
' strSQL() の整形
' -----------------
strSQL(0) = Replace(strSQL(0), "XXX", strFName)
strSQL(1) = Replace(strSQL(0), "XXX", strFName)
' -------------
' SQL文の実行
' -------------
If Not F_新規マスタデータ登録 Then
CurrentDb.Execute strSQL(0)
End If
CurrentDb.Execute strSQL(1)
Exit_F_新規マスタデータ登録:
Exit Function
Err_F_新規マスタデータ登録:
MsgBox "プログラムエラーが発生しました。システム管理者に報告して下さい。(新規マスタデータ登録)", _
vbExclamation, " 関数エラーメッセージ"
Resume Exit_F_新規マスタデータ登録
End Function
生成しているSQL文が一目瞭然でなかったのを修正しています。
エラートラップも標準に変更しています。
実行時に IF THEN 文で実行するSQL文を選択しています。
ただ、これでも SQL文のエラー管理が抜けています。
ここんとこをどうするかは、まあ、作法というか好みの問題です。
No.2
- 回答日時:
strSQL(0) = Replace(strSQL(0), "XXX", strFName)
strSQL(1) = Replace(strSQL(1), "XXX", strFName)
まあ、試せる質問じゃないのでタイプミスはそれはそれで・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- 財務・会計・経理 【仕訳】集計されて引かれる販売手数料について 5 2023/04/26 15:32
- 求人情報・採用情報 ●正社員採用で、「知名度がない•看板もない、古びた建物(倉庫)で、全国に支店が3か所有り、全従業員数 2 2022/06/10 14:49
- その他(買い物・ショッピング) こう言う小銭入れ(コインケース)はどこで買えますか? 4 2022/07/26 09:14
- クレジットカード 訪日客がカード使うと日本のカード会社は赤字になるって本当ですか? 2 2023/08/17 18:48
- 車検・修理・メンテナンス ユーザー車検後別の店舗(ディーラー等)で定期点検は可能ですか 8 2023/01/06 12:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームで検索 エラーの表示...
-
Excel 2019 のピボットテーブル...
-
Accessで、固定アルファベット+...
-
Access IF文でテーブルに存在し...
-
Access テキスト型に対する指定...
-
エクセルVBAで5行目からオート...
-
Joy To Keyのマウスやキーボー...
-
Accessでテーブルの値をテキス...
-
accessでの請求管理について
-
IT用語について質問です。 以前...
-
ACCESSでオートナンバーを任意...
-
accessでのフォームの連携について
-
DBのタイプの指定とサイズにつ...
-
access2000:フォームで入力し...
-
列が存在しないと言われる
-
Access 既に開いているフォー...
-
必須入力項目と入力必須項目
-
Accessのクエリでデータの入力...
-
ACCESS2003 Aアクロバットを介...
-
Accessでコードを入れると名前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLでグループ化した結果の件数...
-
ORA-01722: 数値が無効です
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
フォームで検索 エラーの表示...
-
オラクルSQLの累計値取得方法に...
-
列名無効について
-
【 困 】 ストアドプロシージャ
-
Accessで期間指定の売上合計と...
-
♪Oracle SQL 処理が成功した時...
-
アクセスのクエリについて(前...
-
外部結合のSQLの書き方について
-
SQL文 2つのテーブルから、グ...
-
Accessで複数テーブルのJoin
-
SQLを教えてください
-
各店舗毎の最大売上の項目を取...
-
SQLを教えて下さい
-
以下のようなSQLについて教えて...
-
特殊なレコードの取得方法
-
改行コードを削除して取得する...
おすすめ情報