Insertar 2 o más columnas en access des de excel
Mi duda es porque en este código al insertar los campos a mi base de datos me duplica el primer registro, es decir yo a la hora de realizar el registro dependiendo de cuantos contratos afecte sera la opción que se ejecute, en este caso el ejemplo es de 2 contratos como verán el código copia varios registros de diferentes celdas, y los guardara en diferente columna pero de la misma tabla.
Espero y puedan ayudarme ya que me urge...
Ya que no quiero que los registros se dupliquen para a la hora de exportarlos no se tengan que hacer más procedimientos de los requeridos.
Espero su ayuda
If OptionButton2.Value = True Then
On Error GoTo Fins
Dim cns As ADODB.Connection, rss As ADODB.Recordset, ns As Long
Dim nfilas As String
If Range("C12") <> "" Then
Set cns = New ADODB.Connection
cns.Open "provider=microsoft.jet.oledb.4.0; " & "data source=" & ThisWorkbook.Path & "\xxxxxxxxx.mdb;"
Set rss = New ADODB.Recordset
rss.Open "TABLA1", cns, adOpenKeyset, adLockOptimistic, adCmdTable
With rss
.AddNew
.Fields("CONTRATO") = Range("F11").Value
.Fields("FECHA_DE_ENVIO") = Range("C27").Value
.Fields("CLIENTE") = Range("D11").Value
.Fields("REMISION") = Range("C11").Value
.Fields("UNIDAD") = Range("N7").Value
.Fields("PLACAS") = Range("N10").Value
.Fields("COSTO_FLETE") = Range("N8").Value
.Fields("ORDEN") = "DEV"
.Fields("C_MENSUAL") = "0"
.Fields("TIPO") = "OTRO"
.AddNew
.Fields("CONTRATO") = Range("F12").Value
.Fields("FECHA_DE_ENVIO") = Range("C27").Value
.Fields("CLIENTE") = Range("D12").Value
.Fields("REMISION") = Range("C12").Value
.Fields("UNIDAD") = Range("N7").Value
.Fields("PLACAS") = Range("N10").Value
.Fields("COSTO_FLETE") = Range("N8").Value
.Fields("ORDEN") = "DEV"
.Fields("C_MENSUAL") = "0"
.Fields("TIPO") = "OTRO"
End With
With rss
.AddNew
.Fields("CONTRATO") = Range("F11").Value
.Fields("FECHA_DE_ENVIO") = Range("C27").Value
.Fields("CLIENTE") = Range("D11").Value
.Fields("REMISION") = Range("C11").Value
.Fields("UNIDAD") = Range("N7").Value
.Fields("PLACAS") = Range("N10").Value
.Fields("COSTO_FLETE") = Range("N8").Value
.Fields("ORDEN") = "DEV"
.Fields("C_MENSUAL") = "0"
.Fields("TIPO") = "OTRO"
.AddNew
.Fields("CONTRATO") = Range("F12").Value
.Fields("FECHA_DE_ENVIO") = Range("C27").Value
.Fields("CLIENTE") = Range("D12").Value
.Fields("REMISION") = Range("C12").Value
.Fields("UNIDAD") = Range("N7").Value
.Fields("PLACAS") = Range("N10").Value
.Fields("COSTO_FLETE") = Range("N8").Value
.Fields("ORDEN") = "DEV"
.Fields("C_MENSUAL") = "0"
.Fields("TIPO") = "OTRO"
End With
Set rss = Nothing
cns.Close
Set cns = Nothing
MsgBox prompt:="Los datos fueron enviados correctamente", Buttons:=vbOKOnly, Title:="DATOS EXPORTADOS"
Range("a2").Activate
Exit Sub
Fins:
MsgBox Err.Description & vbNewLine & vbNewLine & "El archivo debe estar en la misma ruta de la base de datos.", vbCritical, empresa
Else
MsgBox prompt:="No hay datos para exportar", Buttons:=vbOKOnly + vbCritical, Title:="Campos vacios"
Exit Sub
'MsgBox “Seleccionaste la alternativa 2”
End If
End If