SQL VBScript check database first before appending new record
Posted on 2007-10-14
I need the SQL in this script to check before appending the database, if exist a record with the same date in field F1 (which is the date field) AND is = to F2 to quit instead of adding another record with the same data.
SQL would think like this - Hey, this guy has a habit of clicking on this script several times a day and he gets duplicate entries, so lets check the database against the .csv file first, we may not have to do anything. Along with F1 the date we will check F2 because F2 is never the same. If we find a identical record we will terminate without even informing him. If all is ok we will append the database with a new record.
Dim oJet 'As DAO.DBEngine
Dim oDB 'As DAO.Database
Dim oTDef 'As DAO.TableDef
Dim blTExists 'As Boolean
Dim strSQL 'As String
Const DB_NAME = "C:\rubyfiles\tanks\gasdata.mdb"
Const TBL_NAME = "Reg_VR_data"
Const DATA_SOURCE = "[Text;HDR=NO;FMT=Delimited;Database=C:\rubyfiles\tanks\;].regular_data.csv"
Set oJet = CreateObject("DAO.DBEngine.36")
Set oDB = oJet.OpenDatabase(DB_NAME)
For Each oTDef In oDB.TableDefs
If oTDef.Name = TBL_NAME Then
blTExists = True
If blTExists Then
strSQL = "INSERT INTO " & TBL_NAME _
& " SELECT * FROM " & DATA_SOURCE & ";"
strSQL = "SELECT * INTO " & TBL_NAME _
& " FROM " & DATA_SOURCE & ";"