Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2013, 09:48
ayhoria
 
Fecha de Ingreso: abril-2013
Ubicación: Veracruz
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Conectar Excel a MySql

Buen día compañeros;

Estoy extrallendo datos de una base de datos MySql a excel pero a la hora de conectar me marca error, entonces me imagine que habia que poner el odbc de MySql, entonces al darlo de alta me marca error, aunque si es necesario tener pago mims paso que segui primero ejecuto mi codigo es este:

Código vb:
Ver original
  1. Public Sub carga_ordenes_MBVE()
  2.     Dim cn1 As Object
  3.     Dim rst1 As Object
  4.     Dim vtSql1$
  5.     Dim Hoja$
  6.     Dim x
  7.     Dim xfecha, xrenglon
  8.     Select Case Sheets("EDO RES").Range("E7").Value
  9.         Case 1
  10.             Hoja = "ENE"
  11.         Case 2
  12.             Hoja = "FEB"
  13.         Case 3
  14.             Hoja = "MAR"
  15.         Case 4
  16.             Hoja = "ABR"
  17.         Case 5
  18.             Hoja = "MAY"
  19.         Case 6
  20.             Hoja = "JUN"
  21.         Case 7
  22.             Hoja = "JUL"
  23.         Case 8
  24.             Hoja = "AGO"
  25.         Case 9
  26.             Hoja = "SEP"
  27.         Case 10
  28.             Hoja = "OCT"
  29.         Case 11
  30.             Hoja = "NOV"
  31.         Case 12
  32.             Hoja = "DIC"
  33.     End Select
  34.    
  35.     Set cn1 = CreateObject("ADODB.Connection")
  36.     Set rst1 = CreateObject("ADODB.Recordset")
  37.    
  38.     cn1.ConnectionString = "dsn=gbmacropro;uid=gbmacropro;pwd=gb866982;"
  39.        
  40.     Sheets(Hoja).Range("J34").Value = 0
  41.     Sheets(Hoja).Range("J35").Value = 0
  42.     Sheets(Hoja).Range("J36").Value = 0
  43.     Sheets(Hoja).Range("K34").Value = 0
  44.     Sheets(Hoja).Range("K35").Value = 0
  45.     Sheets(Hoja).Range("K36").Value = 0
  46.    
  47.     Dim ceros
  48.     Dim xmes, xlong
  49.     xmes = Sheets("EDO RES").Range("E7").Value
  50.     xlong = Len(CStr(Sheets("EDO RES").Range("E7").Value))
  51.     ceros = ""
  52.     If Len(CStr(Sheets("EDO RES").Range("E7").Value)) = 1 Then
  53.         ceros = Replicate((2 - xlong), "0")
  54.     End If
  55.     xfecha = ceros & Sheets("EDO RES").Range("E7").Value
  56.  
  57.           '  "PROCESO PARA ORDENES ABIERTA"
  58.    vtSql1 = "SELECT "
  59.     vtSql1 = vtSql1 & "COUNT(gbtdsord.tord_fol) AS 'ORD_ABIERTAS' "
  60.     vtSql1 = vtSql1 & "FROM `gbmacropro`.`gbtdsord` INNER JOIN `gbmacropro`.`gbvencli` "
  61.     vtSql1 = vtSql1 & "ON gbtdsord.tord_cli = gbvencli.cli_llave "
  62.     vtSql1 = vtSql1 & "WHERE gbtdsord.tord_stat = 'A' "
  63.     vtSql1 = vtSql1 & "AND gbtdsord.tord_ope = '1' "
  64.     vtSql1 = vtSql1 & "AND gbtdsord.tord_almacen = '0' " '/*CLAVE PARA MB VERACRUZ*/
  65.    '/*ESTE tord_tipo ES PARA TALLER*/ "
  66.    vtSql1 = vtSql1 & "AND gbtdsord.tord_tipo in('1', '3', '5', '10', '11', '12', '13', '14', '15', '16', '18', '20', '21', '22') "
  67.     '/*ESTE tord_tipo ES PARA GARANTIAS*/ "
  68.    vtSql1 = vtSql1 & "AND gbtdsord.tord_tipo in('2','4','7','9','17','19') "
  69.     vtSql1 = vtSql1 & "AND Month(gbtdsord.tord_fch_ent) = '" & xfecha & "' "
  70.     vtSql1 = vtSql1 & "AND Year(gbtdsord.tord_fch_ent) = '" & Sheets("EDO RES").Range("E6").Value & "' "
  71.            
  72.          cn1.Open
  73.               rst1.Open vtSql1, cn1, 1, 3
  74.                    Sheets(Hoja).Range("J34").Value = rst1.Fields(0) 'ORDENES ABIERTAS TALLER
  75.         cn1.Close
  76.  
  77. End Sub

al depurarlo me marca el error siguiente:



Este error es de conexion entonces descarge el odbc de Mysql y lo configure y quedo correcto esta es la imagen:



Quedo bien pero el problema es al agregar la conexion al Excel me da este error:



Haber si me pueden apoyar en este detallito jaja, Saludos!!