Conexión hoja de calculo Exccon base de datos en Access

Hola espero que estés bien, deseo preguntarle lo siguiente:
Tengo el siguiente código de conexión de Excel a una base de datos en Access
Private Sub CommandButton1_Click()
Range("A10:BB5000").Clear
Dim rs1 As Recordset
Dim sEncuesta As String
Dim iUsuario As Integer
Dim iCampos As Integer
Dim iFila As Variant
Set bd1 = OpenDatabase(ThisWorkbook.Path & "\Encuestasininspectores1.mdb")
' Set rs1 = bd1.OpenRecordset("select * from HB1  where cargo = 'Auxiliar'", dbOpenDynaset)
'Set rs1 = bd1.OpenRecordset("select * from HB1  where cargo = 'Auxiliar'", dbOpenDynaset)
Set rs1 = bd1.OpenRecordset("SELECT p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, Area FROM hb1 GROUP BY Area, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60", dbOpenDynaset)
'Set rs1 = bd1.OpenRecordset("select * from HB1  where cargo ='AREASYCARGOS!$A$8'", dbOpenDynaset)
'    Set rs1 = bd1.OpenRecordset("select p1 from HB1 group by Area ", dbOpenDynaset)
''Set rs1 = bd1.OpenRecordset("SELECT AREA,P1,COUNT(P1) FROM HB1 GROUP BY AREA,P1", dbOpenDynaset)
iFila = 10
With rs1
Do While Not .EOF
For i = 0 To 51
If i < 26 Then
Range(Chr(Asc("A") + i) & iFila) = IIf(IsNull(.Fields(i).Value), "No contestado", .Fields(i).Value)
Else
Range("A" & (Chr(39 + i)) & iFila) = IIf(IsNull(.Fields(i).Value), "No contestado", .Fields(i).Value)
End If
Next
Range("AA" & iFila) = IIf(IsNull(.Fields(26).Value), "No contestado", .Fields(26).Value)
Range("AB" & iFila) = IIf(IsNull(.Fields(27).Value), "No contestado", .Fields(27).Value)
Range("AC" & iFila) = IIf(IsNull(.Fields(28).Value), "No contestado", .Fields(28).Value)
Range("AD" & iFila) = IIf(IsNull(.Fields(29).Value), "No contestado", .Fields(29).Value)
Range("AE" & iFila) = IIf(IsNull(.Fields(30).Value), "No contestado", .Fields(30).Value)
Range("AF" & iFila) = IIf(IsNull(.Fields(31).Value), "No contestado", .Fields(31).Value)
Range("AG" & iFila) = IIf(IsNull(.Fields(32).Value), "No contestado", .Fields(32).Value)
Range("AH" & iFila) = IIf(IsNull(.Fields(33).Value), "No contestado", .Fields(33).Value)
Range("AI" & iFila) = IIf(IsNull(.Fields(34).Value), "No contestado", .Fields(34).Value)
Range("AJ" & iFila) = IIf(IsNull(.Fields(35).Value), "No contestado", .Fields(35).Value)
Range("AK" & iFila) = IIf(IsNull(.Fields(36).Value), "No contestado", .Fields(36).Value)
Range("AL" & iFila) = IIf(IsNull(.Fields(37).Value), "No contestado", .Fields(37).Value)
Range("AM" & iFila) = IIf(IsNull(.Fields(38).Value), "No contestado", .Fields(38).Value)
Range("AN" & iFila) = IIf(IsNull(.Fields(39).Value), "No contestado", .Fields(39).Value)
Range("AO" & iFila) = IIf(IsNull(.Fields(40).Value), "No contestado", .Fields(40).Value)
Range("AP" & iFila) = IIf(IsNull(.Fields(41).Value), "No contestado", .Fields(41).Value)
Range("AQ" & iFila) = IIf(IsNull(.Fields(42).Value), "No contestado", .Fields(42).Value)
Range("AR" & iFila) = IIf(IsNull(.Fields(43).Value), "No contestado", .Fields(43).Value)
Range("AS" & iFila) = IIf(IsNull(.Fields(44).Value), "No contestado", .Fields(44).Value)
Range("AT" & iFila) = IIf(IsNull(.Fields(45).Value), "No contestado", .Fields(45).Value)
Range("AU" & iFila) = IIf(IsNull(.Fields(46).Value), "No contestado", .Fields(46).Value)
Range("AV" & iFila) = IIf(IsNull(.Fields(47).Value), "No contestado", .Fields(47).Value)
Range("AW" & iFila) = IIf(IsNull(.Fields(48).Value), "No contestado", .Fields(48).Value)
Range("AX" & iFila) = IIf(IsNull(.Fields(49).Value), "No contestado", .Fields(49).Value)
Range("AY" & iFila) = IIf(IsNull(.Fields(50).Value), "No contestado", .Fields(50).Value)
Range("AZ" & iFila) = IIf(IsNull(.Fields(51).Value), "No contestado", .Fields(51).Value)
Range("BA" & iFila) = IIf(IsNull(.Fields(52).Value), "No contestado", .Fields(52).Value)
Range("BB" & iFila) = IIf(IsNull(.Fields(53).Value), "No contestado", .Fields(53).Value)
Range("BC" & iFila) = IIf(IsNull(.Fields(54).Value), "No contestado", .Fields(54).Value)
Range("BD" & iFila) = IIf(IsNull(.Fields(55).Value), "No contestado", .Fields(55).Value)
Range("BE" & iFila) = IIf(IsNull(.Fields(56).Value), "No contestado", .Fields(56).Value)
Range("BF" & iFila) = IIf(IsNull(.Fields(57).Value), "No contestado", .Fields(57).Value)
Range("BG" & iFila) = IIf(IsNull(.Fields(58).Value), "No contestado", .Fields(58).Value)
Range("BH" & iFila) = IIf(IsNull(.Fields(59).Value), "No contestado", .Fields(59).Value)
Range("BI" & iFila) = IIf(IsNull(.Fields(60).Value), "No contestado", .Fields(60).Value)
Rem Range("BA" & iFila) = IIf(IsNull(.Fields(51).Value), "No contestado", .Fields(51).Value)
Rem  Range("BB" & iFila) = IIf(IsNull(.Fields(52).Value), "No contestado", .Fields(52).Value)
''  Range("E" & iFila) = IIf(IsNull(.Fields(1).Value), "No contestado", .Fields(1).Value)
iFila = iFila + 1
.MoveNext
Loop
End With
Rem
MsgBox "ök"
End Sub
Este código tiene una consulta para que vaya y me la muestre en Excel, hasta hace un tiempo me hacia bien todo, pero últimamente doy clic el botón en donde se encuentra dicho código y me sale el siguiente mensaje en una ventana:
"Error de compilación... No se puede encontrar el proyecto o la biblioteca" y me señala la variable bd1
Agradezco su atención y ayuda
Att. Hernán Camilo Martínez V.

1 Respuesta

Respuesta
1
Set bd1 = OpenDatabase(ThisWorkbook.Path & "\Encuestasininspectores1.mdb")
Estoq ue tienes en tu código lo que indica es que debes tener ese archivo en el mismo del .xls
De allí el error
Hola como esta,,,, la base de datos esta en la misma carpeta que el Archivo de excel en donde se encuentra la Macro..., ahora cuando corro la Macro me dice que no coincide los Tipos!
Que sera lo que le pasa a la aplicación, siendo que hace un mes si funcionaba, bien!
Gracias!
Eso quiere decir que se espera un numero y le estas enviando una letra por ejemplo.
Hola entonces como haría para que me acepte cualquier tipo de carácter!
Gracias!
Att. Hernán Camilo Martínez V.
Tienes que hacer la conversión de los datos tu en el código, cuando sea un entero conviertes el valor a entero, cuando sea fecha, a fecha y así, sucesivamente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas