yo creo que el problema de Diego, en estos momentos, es que tiene un montón
de alternativas, jajajaja

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Carlos
Bernardo Maggiotti
Enviado el: jueves, 23 de agosto de 2007 22:12
Para: vbusers List Member
Asunto: [vbusers] Navegar un Recordset


Y porque no mejor una coleccion que puede ademas almacear las key que el
esta necesitando?

Saludos
CarlosMag



  _____  

From: [EMAIL PROTECTED]
To: [email protected]
Subject: [vbusers] Navegar un Recordset
Date: Thu, 23 Aug 2007 21:58:39 +0200


podrías convertir el recordset en un arraylist (un array de objetos de tu
clase Empleado, por ejemplo)
 
'primero definir la clase
Class Empleado
 integer Codigo
 string Nombre
 string Direccion
 Sub New(pCodigo,pNombre,pDireccion)
   Codigo=pCodigo
   Nombre=pNombre
   Direccion=pDireccion
 EndSub
EndClass
 
'luego transformar el recordset en mi clase
while rs.MoveNext
   miArrayList.Add( New  Empleado( rs("Codigo"), rs("Nombre"),
rs("Direccion") )   )
 
'ahora puedo trabajar directamente sobre mi array de objetos de la clase
Empleado
'y puedo preguntar por miArrayList(2).Nombre
 
Está todo en pseudo-codigo, es solo un ejemplo para que se entienda la idea.
 
Pata.
 
 


  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Campos
Enviado el: jueves, 23 de agosto de 2007 20:52
Para: vbusers List Member
Asunto: [vbusers] Navegar un Recordset


Pata,
gracias por el dato.

Esto funciona y esta piola.
Igualmente pregunto...

No hay alfuna forma de lo que se obtenga sea tambien referenciando a los
nombre de columnas...
Para poder hacer referencias por nombre y no por indices ya que como tengo
unos varios campos... es medio tedioso y propenso a errores ya que si cambia
algo en el orden
de las columnas del recorset de origen...algo se rompe.
Si iría por descripcion no.


Se que es pedir mucho..pero bue...

Gracias por todo.

Diego.-


Pata del Santo wrote: 

'esto te genera una matriz en memoria
arrResultSet = oRecordSet.GetRows()

'así averiguamos cuántos registros tengo
iLastRow = ubound(arrResultSet,2)

'luego podríamos hacer
For iCounter=0 to iLastRow
 
  aqui dentro jugamos con iCounter (Actual)  y con iCounter+1 (Siguiente)
 
Next 


  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Campos
Enviado el: jueves, 23 de agosto de 2007 17:53
Para: vbusers List Member
Asunto: [vbusers] Navegar un Recordset


Estuve intentando lo siguiente:

rs as adodb.recordset
rs1 as adodb.recordset

set rs = commando.execute

OP1
    Set rs1 = rs.Clone 
    Error: Current Recordset does not support bookmarks. This may be a
limitation of the provider or of the selected cursortype.

OP2
    Set rs1 = rs
    No da error pero ambos recordset se mueven conjuntamente... y no me
sirve.

OP3
    rec as adodb.record
    rec.open rs
    Error: Object or provider is not capable of performing requested
operation.


Alguna idea ??


Gracias.-


Pata del Santo wrote: 

Se me ocurre más o menos así :
 
- me paro en el primero
- oActual = registro
- si hay más de uno
      - avanzo uno, hasta el segundo
      - mientras no se acabe

           - oSiguiente = registro
           - procesar oActual (espiando oSiguiente)
           - oActual=oSiguiente
- procesar oActual (teniendo en cuenta que ya no hay oSiguiente)
 
ojo, porque todo el tiempo estarás parado en el "siguiente"
 
Pata.

  _____  

De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Campos
Enviado el: jueves, 23 de agosto de 2007 16:43
Para: vbusers List Member
Asunto: [vbusers] Navegar un Recordset


Otra aclaración...

Estoy necesitando poder leer en avance la proxima línea para obtener algunos
datos y luego continuar la lectura de la línea actual..

Se entiende ?

Gracias y disculpén si no me explique bien.

Saludos.-


Diego Campos wrote: 

Hola,

Estoy trabajando con unos recordset que se cargan atravez de la ejecución de
un ADODB.Command.
Este tipo de Recordset es del tipo forwardonly...por lo que pude ver..
Hay alguna posibilidad de clonarlo/transformarlo en otro tipo de recordset
(adOpenDynamic, etc) ??

Utilizo VB 6 sp 5.

Codigo.

Set Comando = New ADODB.Command
Set rsGL = New ADODB.Recordset

With Comando
  .ActiveConnection = CN
  .CommandText = "spFESA01GL_VB"
  .CommandType = adCmdStoredProc
  .CommandTimeout = TimeOut
End With

Set rsGL = Comando.Execute

rsGL.MoveFirst








  _____  

Comunícate al instante con Windows Live Messenger Windows Live Messenger
<http://imagine-msn.com/messenger/launch80/default.aspx?locale=es-us&source=
joinmsncom/messenger>  

Responder a