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
Public Sub carga_ordenes_MBVE() Dim cn1 As Object Dim rst1 As Object Dim vtSql1$ Dim Hoja$ Dim x Dim xfecha, xrenglon Select Case Sheets("EDO RES").Range("E7").Value Case 1 Hoja = "ENE" Case 2 Hoja = "FEB" Case 3 Hoja = "MAR" Case 4 Hoja = "ABR" Case 5 Hoja = "MAY" Case 6 Hoja = "JUN" Case 7 Hoja = "JUL" Case 8 Hoja = "AGO" Case 9 Hoja = "SEP" Case 10 Hoja = "OCT" Case 11 Hoja = "NOV" Case 12 Hoja = "DIC" End Select Set cn1 = CreateObject("ADODB.Connection") Set rst1 = CreateObject("ADODB.Recordset") cn1.ConnectionString = "dsn=gbmacropro;uid=gbmacropro;pwd=gb866982;" Sheets(Hoja).Range("J34").Value = 0 Sheets(Hoja).Range("J35").Value = 0 Sheets(Hoja).Range("J36").Value = 0 Sheets(Hoja).Range("K34").Value = 0 Sheets(Hoja).Range("K35").Value = 0 Sheets(Hoja).Range("K36").Value = 0 Dim ceros Dim xmes, xlong xmes = Sheets("EDO RES").Range("E7").Value xlong = Len(CStr(Sheets("EDO RES").Range("E7").Value)) ceros = "" If Len(CStr(Sheets("EDO RES").Range("E7").Value)) = 1 Then ceros = Replicate((2 - xlong), "0") End If xfecha = ceros & Sheets("EDO RES").Range("E7").Value ' "PROCESO PARA ORDENES ABIERTA" vtSql1 = "SELECT " vtSql1 = vtSql1 & "COUNT(gbtdsord.tord_fol) AS 'ORD_ABIERTAS' " vtSql1 = vtSql1 & "FROM `gbmacropro`.`gbtdsord` INNER JOIN `gbmacropro`.`gbvencli` " vtSql1 = vtSql1 & "ON gbtdsord.tord_cli = gbvencli.cli_llave " vtSql1 = vtSql1 & "WHERE gbtdsord.tord_stat = 'A' " vtSql1 = vtSql1 & "AND gbtdsord.tord_ope = '1' " vtSql1 = vtSql1 & "AND gbtdsord.tord_almacen = '0' " '/*CLAVE PARA MB VERACRUZ*/ '/*ESTE tord_tipo ES PARA TALLER*/ " vtSql1 = vtSql1 & "AND gbtdsord.tord_tipo in('1', '3', '5', '10', '11', '12', '13', '14', '15', '16', '18', '20', '21', '22') " '/*ESTE tord_tipo ES PARA GARANTIAS*/ " vtSql1 = vtSql1 & "AND gbtdsord.tord_tipo in('2','4','7','9','17','19') " vtSql1 = vtSql1 & "AND Month(gbtdsord.tord_fch_ent) = '" & xfecha & "' " vtSql1 = vtSql1 & "AND Year(gbtdsord.tord_fch_ent) = '" & Sheets("EDO RES").Range("E6").Value & "' " cn1.Open rst1.Open vtSql1, cn1, 1, 3 Sheets(Hoja).Range("J34").Value = rst1.Fields(0) 'ORDENES ABIERTAS TALLER cn1.Close 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!!