Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/08/2008, 12:43
Avatar de Txoco
Txoco
 
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 16 años, 11 meses
Puntos: 7
Respuesta: [access2000] Extraer un dato a una variable

Hola!

Hazlo con un recordset como te dice Asbraha, pero no declares las variables como Variant, decláralas con su tipo correspondiente para ganar en rendimiento y prevenir errores (usa Variant única y exclusivamente cuando no puedas declararlas con otro tipo):

Código:
Dim CON As New ADODB.Connection  ' Así, además, te ahorras tener que llamar a CreateObject
Dim RS As ADODB.Recordset
El recordset tiene la propiedad Fields, que es una colección de los campos que devuelve la consulta. En el ejemplo que ha puesto nuestro colega, RS.Fields(0) equivale a los datos del primer campo que devuelva la consulta. Si sabes los nombres de los campos, también puedes invocarlo con RS.Fields("<nombre del campo>").

Puedes obtener información sobre el campo con las propiedades del objeto Field, y las que más te pueden ayudar son (hay más, échales un ojo a ver qué encuentras interesante ):
- Name(para el nombre del campo, o el alias, si especificas uno en la SELECT)
- Value(para ver el valor del campo en la fila actual)
- Type(para ver el tipo de datos con el que se ha declarado esa columna

Si lo que quieres es llamar a los campos más rápidamente, RS!<nombrecampo> es lo mismo que RS.Fields("<nombrecampo>") o RS.Fields("<nombrecampo>").Value.Más aún, si vas a trabajar exclusivamente dentro de Access (no utilizas un programa en VB para acceder a los datos), puedes ahorrarte todas las declaraciones si usas estas dos líneas (en este caso se usa acceso por DAO, no ADO, como sugiere Asbraha):

Código:
Dim RS As Recordset

Set RS = CurrentDb.OpenRecordset("<instrucción SELECT>")
Y ya puedes utilizar el recordset como te indicamos arriba.
__________________
wile sona li mute e sona

Última edición por Txoco; 13/08/2008 a las 15:01