locked
query para tomar datos del excel y guardarlos en el mismo excel RRS feed

  • Pregunta

  • Buenos dias, lo que estoy queriendo hacer es lo siguiente, yo tengo un excel con 2000 registros (nros de clientes) y necesito consultar en una base de datos para traer el email de cada uno de los registros y a los 2000 emails guardarlos en una columna nueva de el mismo excel.

    Me podrian ayudar con esto.

    Gracias por todo

    Saludos.

    miércoles, 15 de junio de 2016 14:36

Respuestas

  • hola cristian la query 

    Instruccion = "Select [f_01_Usuario], [f_01_Perfil] from [m_01_Usuarios]"

    lo podrias hacer o si necesitas con parametros utiliza lo siguiente:

    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = ("insert_questions") ;
    cmd.Parameters.AddWithValue("@value", valueHere);
    cmd.Parameters.AddWithValue("@value2", valueHere);
    espero te sirva

    • Marcado como respuesta José De Alva miércoles, 29 de junio de 2016 20:48
    miércoles, 15 de junio de 2016 15:29
  • ya lo resolvi !!

    con estas lineas llamo la base de datos y la inserto en la hoja de calculo de excel

    Sub Conectar()
    Dim Conexion As ADODB.Connection
    Dim Comando As ADODB.Command
    Dim rdSet As ADODB.Recordset
    Dim Instruccion As String
    Dim strConex As String
    Dim contReg As Long
    
    Set Conexion = New ADODB.Connection
    
    strConex = "Provider=SQLOLEDB;Data Source=xxxxx;Initial Catalog=xxxxx;User ID=sa;Password=xxxxx;"
    
    Conexion.Open strConex
    
    Instruccion = "Select [f_01_Usuario], [f_01_Perfil] from [xxxxx].[dbo].[m_01_Usuarios]"
    
    Set Comando = New ADODB.Command
    
    With Comando
    '.CreateCommand() = Conexion adCmdTable '
    .ActiveConnection = Conexion
    .CommandText = Instruccion
    .CommandType = adCmdText
    Set rdSet = .Execute
    End With
    
    
    'contReg = rdSet.RecordCount
    
       
    While Not rdSet.EOF
     Range("A1").Offset(contReg, 0).Value = rdSet.Fields(0).Value
     Range("A1").Offset(contReg, 1).Value = rdSet.Fields(1).Value
     contReg = contReg + 1
    ' Range("$A$1").Value = rdSet.Fields(0).Value
    ' Range("$B$1").Value = rdSet.Fields(1).Value
     rdSet.MoveNext
    Wend
    
    rdSet.Close
    
    Set rdSet = Nothing
    Set Comando = Nothing
    
    Conexion.Close
    Set Conexion = Nothing
    Dim a As Integer
    
    End Sub


    • Propuesto como respuesta greg_dorian miércoles, 15 de junio de 2016 14:47
    • Editado greg_dorian miércoles, 15 de junio de 2016 15:30
    • Marcado como respuesta José De Alva miércoles, 29 de junio de 2016 20:48
    miércoles, 15 de junio de 2016 14:47

Todas las respuestas

  • ya lo resolvi !!

    con estas lineas llamo la base de datos y la inserto en la hoja de calculo de excel

    Sub Conectar()
    Dim Conexion As ADODB.Connection
    Dim Comando As ADODB.Command
    Dim rdSet As ADODB.Recordset
    Dim Instruccion As String
    Dim strConex As String
    Dim contReg As Long
    
    Set Conexion = New ADODB.Connection
    
    strConex = "Provider=SQLOLEDB;Data Source=xxxxx;Initial Catalog=xxxxx;User ID=sa;Password=xxxxx;"
    
    Conexion.Open strConex
    
    Instruccion = "Select [f_01_Usuario], [f_01_Perfil] from [xxxxx].[dbo].[m_01_Usuarios]"
    
    Set Comando = New ADODB.Command
    
    With Comando
    '.CreateCommand() = Conexion adCmdTable '
    .ActiveConnection = Conexion
    .CommandText = Instruccion
    .CommandType = adCmdText
    Set rdSet = .Execute
    End With
    
    
    'contReg = rdSet.RecordCount
    
       
    While Not rdSet.EOF
     Range("A1").Offset(contReg, 0).Value = rdSet.Fields(0).Value
     Range("A1").Offset(contReg, 1).Value = rdSet.Fields(1).Value
     contReg = contReg + 1
    ' Range("$A$1").Value = rdSet.Fields(0).Value
    ' Range("$B$1").Value = rdSet.Fields(1).Value
     rdSet.MoveNext
    Wend
    
    rdSet.Close
    
    Set rdSet = Nothing
    Set Comando = Nothing
    
    Conexion.Close
    Set Conexion = Nothing
    Dim a As Integer
    
    End Sub


    • Propuesto como respuesta greg_dorian miércoles, 15 de junio de 2016 14:47
    • Editado greg_dorian miércoles, 15 de junio de 2016 15:30
    • Marcado como respuesta José De Alva miércoles, 29 de junio de 2016 20:48
    miércoles, 15 de junio de 2016 14:47
  • lo necesito hacer desde una query de sql, gracias igualmente, si podrias ayudarme cn esto te lo agradeceria.

    Saludos

    miércoles, 15 de junio de 2016 14:53
  • hola cristian la query 

    Instruccion = "Select [f_01_Usuario], [f_01_Perfil] from [m_01_Usuarios]"

    lo podrias hacer o si necesitas con parametros utiliza lo siguiente:

    cmd.CommandType = CommandType.StoredProcedure;
    cmd.CommandText = ("insert_questions") ;
    cmd.Parameters.AddWithValue("@value", valueHere);
    cmd.Parameters.AddWithValue("@value2", valueHere);
    espero te sirva

    • Marcado como respuesta José De Alva miércoles, 29 de junio de 2016 20:48
    miércoles, 15 de junio de 2016 15:29