why duplicate

S

sal21

if i re-import twice i have duplicate but i have insert a controll on column
S of the sheet and field SERVIZIO of the table...

http:/www.gssitaly.com/prova.zip
http://www.wopr.com/w3tfiles/5-423327-IMPORT_FILE.xls

sub ADO_CDI_50()
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
Dim rsFind As ADODB.Recordset

' connect to the Access database
Set cn = New ADODB.Connection

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data
Source=\\GCD01F4500\DATI\PUBBLICA\BOUASS\PROVA.MDB;"
' "Data Source=D:\PROVA\PROVA.MDB;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "CDI_50", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 7 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
If Not AlreadyExists(rs, "SERVIZIO", Range("S" & r).Text) Then
rs.AddNew ' create a new record
End If
With rs
'add values to each field in the record
Sheets("L0785_CDI_50").Select
..Fields("DATA_CONT") = Range("A" & r).Value
..Fields("DIP") = Range("B" & r).Value
..Fields("COD_BATCH") = Range("C" & r).Value
..Fields("C/C") = Range("D" & r).Value
..Fields("NOMINATIVO") = Range("E" & r).Value
..Fields("CAUS") = Range("F" & r).Value
..Fields("DARE") = Range("G" & r).Value
..Fields("AVERE") = Range("H" & r).Value
..Fields("VAL") = Range("I" & r).Value
..Fields("SPORT_MIT") = Range("J" & r).Value
..Fields("ANOM") = Range("K" & r).Value
..Fields("DESCR") = Range("L" & r).Value
..Fields("CRO") = Range("M" & r).Value
..Fields("ABI") = Range("N" & r).Value
..Fields("CAB") = Range("O" & r).Value
..Fields("PAG_IMP") = Range("P" & r).Value
..Fields("NR_ASS") = Range("Q" & r).Value
..Fields("MT") = Range("R" & r).Value
..Fields("SERVIZIO") = Range("S" & r).Value
..Fields("NOTE_BOU") = Range("T" & r).Value
..Fields("SPESE") = Range("U" & r).Value
..Fields("DATA_ATT") = Range("V" & r).Value
..Fields("COD") = Range("W" & r).Value
..Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub


===============

Public Function AlreadyExists(rstTemp As ADODB.Recordset, _
strField As String, strFilter As String) As Boolean

' Set a filter on the specified Recordset object
rstTemp.Filter = strField & " = '" & strFilter & "'"

If rstTemp.RecordCount > 0 Then AlreadyExists = True
rstTemp.Filter = ""

End Function
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top