|
▼みう さん:
こんにちは。
>・取引先のテーブル
>・W_ワークテーブル
>・今回インポートしたいデータのテーブル
・取引先のテーブル
・W_ワークテーブル
・今回インポートしたいデータの「CSVファイル」
ですね。^^
流れとしては例えば
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
If DataImport = False Then
MsgBox "処理を中断します"
Exit Sub
End If
'--------------------
'後処理?
'--------------------
End Sub
Function DataImport() As Boolean
Dim strSQL As String
'W_ワークテーブルの初期化
strSQL = "DELETE FROM W_ワークテーブル"
CurrentDb.Execute strSQL, dbFailOnError
'------------------------------------
'インポート処理、その後重複がみつかる
'------------------------------------
If MsgBox("処理を中止しますか?", vbCritical + vbOKCancel) = vbCancel Then
DataImport = False
Else
'------------------------------
'本テーブルへの追加処理
'------------------------------
DataImport = True
End If
End Function
の様な感じで、
・コマンドボタンをクリックしたら処理開始
↓
・自作の処理、DataImportを呼び出す
DataImportは成功の場合、Trueを、失敗の場合はFalseを返す
↓
・返り値を判断して、Exitするかを決める
こんな感じでしょうか。
さて、重複のレコードがあるかの確認ですが、
クエリを作成する方法でいってみましょう。
クエリのSQLビューに下記SQLを貼り付けて
「Q_重複レコード」の名前で保存。
SELECT test.日付, test.社員番号
FROM test INNER JOIN W_ワークテーブル
ON (test.社員番号 = W_ワークテーブル.社員番号) AND
(test.日付 = W_ワークテーブル.日付);
SQLビューからの作り方が解らない場合は
h tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=6726;id=access
(こちらの掲示板では直リンクが禁止ですので、補完して下さい)
この辺を参照して下さい。
このクエリが0件かどうかで判断をする事になりますが、
今回はとりあえずここまで^^
|
|