Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2010, 12:21
baldus
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
error en programa vba excel

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!