estoy creando un programita en excel, el cual esta conectado mediante DAO a una base de datos en Access, dicho programa contiene 4 textbox donde el usuario introduce la información que quiere visionar, bien, el problema lo tengo que cuando la información de uno de los cuadros de texto no es correcta y no se encuentra en la base de datos, el volcado de datos en pantalla se me para sin saltar al siguiente textbox, a ver si alguien me pude ayudar.
Adjunto el código:
Set bd = DAO.OpenDatabase("\\bds\bfd.mdb")
celd = 12 ' numero de celda donde empieza a escribir
If Worksheets(1).TextBox1.Text = "" Then
MsgBox "Intruduzca Consulta", vbCritical, "Error"
Else
sql = "select * from pq25 where prs like '*" & Worksheets(1).TextBox1.Text & "*' order by prs"
Set rec = bd.OpenRecordset(sql, dbOpenSnapshot)
If rec.BOF = False Then
Worksheets(1).Cells(celd, 3).CopyFromRecordset rec
While Worksheets(1).Range("c" & (celd) & "") <> ""
Worksheets(1).Range("C" & (celd) & ":k" & (celd) & "").Select
Call formato
celd = celd + 1
Wend
If Worksheets(1).TextBox2.Text <> "" Then
celd = celd + 1
sql2 = "select * from pq25 where prs like '*" & Worksheets(1).TextBox2.Text & "*' order by prs"
Set rec2 = bd.OpenRecordset(sql2, dbOpenSnapshot)
If rec2.BOF = False Then
Worksheets(1).Cells(celd, 3).CopyFromRecordset rec2
While Worksheets(1).Range("c" & (celd) & "") <> ""
Worksheets(1).Range("C" & (celd) & ":k" & (celd) & "").Select
Call formato
celd = celd + 1
Wend
If Worksheets(1).TextBox3.Text <> "" Then
celd = celd + 1
sql3 = "select * from pq25 where prs like '*" & Worksheets(1).TextBox3.Text & "*' order by prs"
Set rec3 = bd.OpenRecordset(sql3, dbOpenSnapshot)
If rec3.BOF = False Then
Worksheets(1).Cells(celd, 3).CopyFromRecordset rec3
While Worksheets(1).Range("c" & (celd) & "") <> ""
Worksheets(1).Range("C" & (celd) & ":k" & (celd) & "").Select
Call formato
celd = celd + 1
Wend
If Worksheets(1).TextBox4.Text <> "" Then
celd = celd + 1
sql4 = "select * from pq25 where prs like '*" & Worksheets(1).TextBox4.Text & "*' order by prs"
Set rec4 = bd.OpenRecordset(sql4, dbOpenSnapshot)
If rec4.BOF = False Then
Worksheets(1).Cells(celd, 3).CopyFromRecordset rec4
While Worksheets(1).Range("c" & (celd) & "") <> ""
Worksheets(1).Range("C" & (celd) & ":k" & (celd) & "").Select
Call formato
celd = celd + 1
Wend
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Gracias!