Excel con base de datos Access

Hola espero que estes 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
Como te escribia en tu pregunta anterior, agrega un
Msgbox ThisWorkbook.Path
Y checas si la ruta que te muestra es donde se encuentra tu base de datos
Por otro lado, tambien estoy pensando si no estara dañado tu archivo de base de datos. ¿Tienes una copia de seguridad? Has una copia de esa copia y trabaja sobre esa, para que no trabajes sobre la original, para confirmar si es el archivo u otra coas
Por otro lado, ¿cambiaste tu office? ¿Qué hayas creado el archivo de excel y la base de datos en office 2003 y ahora lo estes ejecuando en office 2007?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas