![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
あるファイル(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ランキング
-
SQL文 2つのテーブルから、グ...
-
♪Oracle SQL 処理が成功した時...
-
Accessで複数テーブルのJoin
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
Excel 2019 のピボットテーブル...
-
IT用語について質問です。 以前...
-
エクセルVBAで5行目からオート...
-
Excelの表、重複データ2行を1...
-
アンドロイド おサイフケータイ...
-
Accessでテーブルからテーブル...
-
1ヶ月に土日は何日あるか
-
VBA 得意先ごと且つ日付ごとに...
-
顧客・売上管理のツールをさが...
-
アクセスのテーブルを分ける理...
-
アクセス・クエリ内のフィール...
-
Accessにて検索結果の一覧表示...
-
「直需」の意味を教えてください
-
Accessでコードを入れると名前...
-
Accessのフィールド数が255しか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
SQLでグループ化した結果の件数...
-
オラクルSQLの累計値取得方法に...
-
ORA-01722: 数値が無効です
-
SQL文 2つのテーブルから、グ...
-
列名無効について
-
フォームで検索 エラーの表示...
-
改行コードを削除して取得する...
-
3つのテーブルの結合
-
Accessで期間指定の売上合計と...
-
各店舗毎の最大売上の項目を取...
-
インサート文での条件の指定に...
-
GROUP BYの記述方法について
-
SQL文のエラーについて
-
SQL抽出方法に悩んでいます。 S...
-
AccessVBA コードをスキップし...
-
UPDATE文を教えて頂けな...
-
データベースから抽出した一覧...
-
Oracleでテーブルの結合について
おすすめ情報