Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

SQL para toda una tabla, registro a registro

Estas en el tema de SQL para toda una tabla, registro a registro en el foro de Visual Basic clásico en Foros del Web. Quiero realizar una consulta a toda una tabla completa registro a registro, pero no me funciona la siguiente instruccion que hago: Do while not eof ...
  #1 (permalink)  
Antiguo 21/07/2005, 09:46
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
SQL para toda una tabla, registro a registro

Quiero realizar una consulta a toda una tabla completa registro a registro, pero no me funciona la siguiente instruccion que hago:

Do while not eof
...
SQL="..."
...
End do

¿Alguien podría decirme que instruccion pongo?
  #2 (permalink)  
Antiguo 21/07/2005, 09:54
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Mmmm. No entiendo, ¿Lo que queres es que te devuelva todos los registros de la tabla? O sea ¿un Select * From Tabla? ¿Sera eso?

Saludos. Lucas
  #3 (permalink)  
Antiguo 21/07/2005, 10:03
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
No, quiero que se ejecute una SQL en toda la tabla, pero registro a registro, por eso obligo al programa a pasar uno a uno por todos los registros. Lo que me falla es la intruccion Do While not EOF/Loop
  #4 (permalink)  
Antiguo 21/07/2005, 10:39
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Aaah! Pero el error esta entonces en el do while, yo creí que en el select. Tal vez si colocas el código se te puede ayudar mejor.

Saludos. Lucas
  #5 (permalink)  
Antiguo 21/07/2005, 10:43
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
Do While Not EOF
N_1 = (E1 + 2 * E2) / 3
NF_1 = N_1 * 0.8 + H1 / T1 + (I1 + G1) / 2 * 0.1

strSQL = "UPDATE ..."
CurrentDb.Execute strSQL
Loop
End sub
  #6 (permalink)  
Antiguo 21/07/2005, 10:56
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Cita:
Iniciado por Juan Fco.
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
Do While Not EOF
N_1 = (E1 + 2 * E2) / 3
NF_1 = N_1 * 0.8 + H1 / T1 + (I1 + G1) / 2 * 0.1

strSQL = "UPDATE ..."
CurrentDb.Execute strSQL
Loop
End sub
Bueno, los numeritos mucho no los entiendo, je. Pero el Do while sería asi:

Código:
Do While RecordSet.EOF <> True
				'Código
				RecordSet.MoveNext
			Loop
Te falta el nombre del recordset en el do while y el movenext ¿Sera ese el problema?

Saludos. Lucas
  #7 (permalink)  
Antiguo 21/07/2005, 11:04
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
no si ya te respondieron esta pregunta con este mismo post..

http://www.forosdelweb.com/f21/contar-registros-tabla-318635/

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #8 (permalink)  
Antiguo 21/07/2005, 11:31
 
Fecha de Ingreso: julio-2005
Mensajes: 59
Antigüedad: 18 años, 9 meses
Puntos: 0
El código que no da error es:

Do While Not RecordSet.EOF

...Código...

Loop

pero poniendo Movenext, me da el error: "Esta acción fue cancelada por el objeto asociado", y sin poner movenext, entra en un ciclo cerrado que no acaba nunca, es como si no reconociese cuando llega al final de la tabla (cuando Not EOF es false). No entiendo que puede pasar.
  #9 (permalink)  
Antiguo 19/07/2008, 08:22
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Respuesta: SQL para toda una tabla, registro a registro

Buenos dias ante todo, y ante manos le doy las gracias al que me pueda ayudar. Hice una consulta de una tabla llamada clientes, para que se muestren los datos que tengo, en un MSFlexGrid pero no me funciona la siguiente instruccion que hago: ¿Me sale un Error en la parte? While Not ("clientes.EOF")

Private Sub Command1_Click()
Dim Rcli As New ADODB.Recordset
sql = "select IdCliente,Nombre,Direccion from clientes "
Rcli.Open sql, db
If Rcli.EOF And Rcli.BOF Then
MsgBox "No hay registro"
Else
Fila = 1
Rcli.MoveFirst
While Not ("clientes.EOF")
Fila = Fila + 1
Flex.Rows = Fila
Flex.Row = Fila - 1
Flex.Col = 0
Flex.Text = Rcli.Fields("IdCliente")
Flex.Col = 1
Flex.Text = Rcli.Fields("Nombre")
Flex.Col = 2
Flex.Text = Rcli(2)
Rcli.MoveNext
Wend
End If
End Sub
  #10 (permalink)  
Antiguo 19/07/2008, 08:25
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
¿Como? Pasar Datos a un MSFlexGrid

Buenos dias ante todo, y ante mano le doy las gracias al que me pueda ayudar. Hice una consulta de una tabla llamada clientes, para que se muestren los datos que tengo, en un MSFlexGrid pero no me funciona la siguiente instruccion que hago: ¿Me sale un Error en la parte? While Not ("clientes.EOF")

Private Sub Command1_Click()
Dim Rcli As New ADODB.Recordset
sql = "select IdCliente,Nombre,Direccion from clientes "
Rcli.Open sql, db
If Rcli.EOF And Rcli.BOF Then
MsgBox "No hay registro"
Else
Fila = 1
Rcli.MoveFirst
While Not ("clientes.EOF")
Fila = Fila + 1
Flex.Rows = Fila
Flex.Row = Fila - 1
Flex.Col = 0
Flex.Text = Rcli.Fields("IdCliente")
Flex.Col = 1
Flex.Text = Rcli.Fields("Nombre")
Flex.Col = 2
Flex.Text = Rcli(2)
Rcli.MoveNext
Wend
End If
End Sub
  #11 (permalink)  
Antiguo 19/07/2008, 09:52
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: SQL para toda una tabla, registro a registro

sacale las comillas y los parentesis,es una propiedad no puede ir como si fuera un simple String...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #12 (permalink)  
Antiguo 19/07/2008, 12:12
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: ¿Como? Pasar Datos a un MSFlexGrid

Cita:
Iniciado por Civic Ver Mensaje
Buenos dias ante todo, y ante mano le doy las gracias al que me pueda ayudar. Hice una consulta de una tabla llamada clientes, para que se muestren los datos que tengo, en un MSFlexGrid pero no me funciona la siguiente instruccion que hago: ¿Me sale un Error en la parte? While Not ("clientes.EOF")

Private Sub Command1_Click()
Dim Rcli As New ADODB.Recordset
sql = "select IdCliente,Nombre,Direccion from clientes "
Rcli.Open sql, db
If Rcli.EOF And Rcli.BOF Then
MsgBox "No hay registro"
Else
Fila = 1
Rcli.MoveFirst
While Not ("clientes.EOF")
Fila = Fila + 1
Flex.Rows = Fila
Flex.Row = Fila - 1
Flex.Col = 0
Flex.Text = Rcli.Fields("IdCliente")
Flex.Col = 1
Flex.Text = Rcli.Fields("Nombre")
Flex.Col = 2
Flex.Text = Rcli(2)
Rcli.MoveNext
Wend
End If
End Sub
Sustituye la línea marcada en rojo por esta otra:

While Not Rcli.EOF

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:37.