Visual Basic - Ayuda con Consultas

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con Consultas

Publicado por mary (58 intervenciones) el 12/06/2007 15:40:20
Hola, Tengo Estae codigo, y me funciona bien, pero necesito hacer lo mismo recorriendo todo el archivo de excel, porque esto me funciona solo para la primera fila de mi lista, y necesito lo haga hasta que ya no hayan mas registros. Como puedo hacer para recorrer todas las filas del libro de excel??

Private Sub Command1_Click()
Dim appExcel As Excel.Application
Dim wbLibro As Workbook
strruta = txtRuta

Dim db As ADODB.Connection
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Confederado;DataSource=."
db.Open

Set appExcel = New Excel.Application
Set wbLibro = appExcel.Workbooks.Open(strruta)
Y = 0
Y = Y + 1
m = wbLibro.Worksheets(1).Range("B2").Value
Dim sql As String
sql = "SELECT Cedula,Apellido,Nombre,Direccion FROM Empleados WHERE Num_Telefonico= '" & m & "'"
Set rs = db.Execute(sql)
MSFlexGrid1.TextMatrix(Y, 0) = wbLibro.Worksheets(1).Range("B2").Value
MSFlexGrid1.TextMatrix(Y, 1) = rs!Cedula
MSFlexGrid1.TextMatrix(Y, 2) = rs!Apellido
MSFlexGrid1.TextMatrix(Y, 3) = rs!Nombre
MSFlexGrid1.TextMatrix(Y, 4) = rs!Direccion
MSFlexGrid1.TextMatrix(Y, 5) = wbLibro.Worksheets(1).Range("AD2").Value
wbLibro.Close
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con Consultas

Publicado por Charlie Slipknot (12 intervenciones) el 12/06/2007 15:48:18
Ya pes esta facil...

......
Dim i as Integer
i=1
Set rs = db.Execute(sql)
While Not rs.EOF
MSFlexGrid1.TextMatrix(i, 0) = wbLibro.Worksheets(1).Range("B2").Value
MSFlexGrid1.TextMatrix(i, 1) = rs!Cedula
MSFlexGrid1.TextMatrix(i, 2) = rs!Apellido
MSFlexGrid1.TextMatrix(i, 3) = rs!Nombre
MSFlexGrid1.TextMatrix(i, 4) = rs!Direccion
MSFlexGrid1.TextMatrix(i, 5) = wbLibro.Worksheets(1).Range("AD2").Value
i=i+1
rs.MoveNext
Wend
wbLibro.Close

Bueno espero que te sirva...chaufa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Consultas

Publicado por mary (58 intervenciones) el 12/06/2007 16:12:38
sip, lo que pasa es que tambien necesito incrementar el numero de la fila del libro de excel.
Si observas mi ejemplo tiene

wbLibro.Worksheets(1).Range("B2").Value

necesito ir leyendo el wbLibro.Worksheets(1).Range("B3").Value
wbLibro.Worksheets(1).Range("B4").Value
wbLibro.Worksheets(1).Range("B5").Value

y asi sucesivamente.... pero no se como hacer para incrementar ese valor. utilice un contador X pero al colocarlo en sustituión del numero me da un error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Consultas

Publicado por Ayudante (62 intervenciones) el 12/06/2007 16:20:10
Para ir incrementando el renglón, lo tendrás que hacer en un ciclo.

inLinea = 2 ' La inicializas al renglón que quieras.
Do
stCelda = wbLibro.Worksheets(1).Range("B" & inLinea).Value
' La procesas o haces lo que necesites.
inLinea = inLinea +1
Loop

Es más o menos lo que te habíamos dicho en las respuestas anteriores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con Consultas

Publicado por Charlie Slipknot (12 intervenciones) el 12/06/2007 16:23:41
A ver si te entendi, deberias hacer esto....

Dim n as Integer
n=1
Do, While, For - El bucle que quieras....
wbLibro.Worksheets(1).Range("B" & cstr(n)).Value
.....

Espero q te sirva....chaufa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias Chicos

Publicado por mary (58 intervenciones) el 12/06/2007 16:53:13
Muchas Gracias, me funciono perfecto, justo lo que necesitaba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar