Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/09/2014, 14:47
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 9 meses
Puntos: 2237
Respuesta: insertar datos excel en sql

Ya tienes la conexión a la base de datos?

Suponiendo que sí, en la misma hoja donde tienes la información agrega un botón de comando y, en el código VB (en la misma hoja, no en módulos) la siguiente rutina:

Código vb:
Ver original
  1. Sub insertaDatos()
  2.     Dim con As New ADODB.Connection
  3.     Dim com As New ADODB.Command
  4.     Dim rs As ADODB.Recordset ' Este se usa solo para lectura
  5.    Dim nombre as String, apellidos as String, dni as String
  6.  
  7.     Set con = New ADODB.Connection
  8.     con.Open "DSN=tu_conexion_a_SQL2008" ' Debe estar definida en fuentes de datos
  9.    If con.State = 1 Then
  10.         com.ActiveConnection = con
  11.         com.CommandType = adCmdText
  12.     Else
  13.         MsgBox "No se pudo conectar a base de datos"
  14.         End
  15.     End If
  16.     nombre = Cells(1, 1)
  17.     apellidos = Cells(1, 2)
  18.     dni = Cells(1, 3)
  19.     ' Supongo que la consulta sería en el mismo formato que en MySQL
  20.    com.CommandText = "INSERT INTO TB_PRUEBA SET NOMBRE = '" & nombre & "', " _
  21.         & "APELLIDOS = '" & apellidos & "', DNI = '" & dni & "'"
  22.     ' Ejecutas
  23.    com.Execute
  24.     ' Cierras la conexión
  25.    con.Close
  26. End Sub

Necesitas investigar cómo escapar los datos para evitar errores, por ejemplo, cuando se use un apellido como O'Brien, porque la comilla simple finalizaría la cadena.

También deberías validar que los campos no estén en blanco.
__________________
- León, Guanajuato
- GV-Foto