Publicado el Dejar un comentario

IEXCEL2 Importando base de datos directo de excel

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Sub Main()

    Set excelConnection = CreateObject("ADODB.Connection")
    excelConnection.ConnectionString = "driver={Microsoft Excel Driver (*.xls)};DBQ=c:\daniel\base1.xls;"
    excelConnection.Open    

    ImportaProductos excelConnection

End Sub


Public Sub ImportaProductos( excelConnection )
    Dim Progress

    Ambiente.Connection.Execute "DELETE FROM prods WHERE articulo <> 'SYS'"   
    Ambiente.Connection.Execute "DELETE FROM clavesadd WHERE articulo <> 'SYS'"   

    Set rstArticulos = CreaRecordSetEnCliente( "SELECT * FROM [RMaza-BASE$]", (excelConnection) )

    Set Query = NewQuery()
    Set Query.Connection = Ambiente.Connection 
    Query.ErrorOculto = True

    Set Progress = NewProgress()    

    if rstArticulos.RecordCount > 0 Then
       Progress.Anim rstArticulos.RecordCount, "Importando catálogo de artículos", Ambiente.Path & "\Images\Gears.Avi"    
    end if 

    n = 0

    While Not rstArticulos.EOF 

          n = n + 1

          Progress.Valor n, "Procesando: " & rstArticulos("articulo") & " " & rstArticulos("descrip")

          If Not clEmpty( "" & rstArticulos("articulo") ) Then

             Query.Reset           
             Query.AddField "PRODS", "articulo", rstArticulos("articulo")
             Query.AddField "PRODS", "descrip", rstArticulos("descrip")
             Query.AddField "PRODS", "linea", "SYS"
             Query.AddField "PRODS", "precio1", Val2(rstArticulos("precio1"))
             Query.AddField "PRODS", "marca", "SYS"
             Query.AddField "PRODS", "ubicacion", "SYS"
             Query.AddField "PRODS", "impuesto", "SYS"
             Query.AddField "PRODS", "paraventa", 1
             Query.AddField "PRODS", "invent", 1
             Query.strState = "INSERT"
             Query.CreateQuery
             Query.Execute 

          End If
          
          rstArticulos.MoveNext 
    Wend    

    if n > 0 Then
       Progress.Destroy
    end if

End Sub



Deja un comentario