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 originalPublic 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!!