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.
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 de deathwatch
1