Duda sobre Recordset
Publicado por Jesús (3 intervenciones) el 12/06/2007 09:37:43
Hola a todos:
Tengo una duda sobre el funcionamiento de un Recordset
Cuando no tengo la instrucción Option Explicit y defino un recordset en el que alguno de los campos tienen “alias” (en el ejemplo “U” y “N”), puedo utilizar estos alias para referirme a los campos.
Option Compare Database
Private Sub Comando0_Click()
Set rs = CurrentDb.OpenRecordset("SELECT Bancos.NUMBAN AS U, " _
& "Bancos.NOMBAN AS N " _
& "FROM Bancos;")
Do While Not rs.EOF
MsgBox rs.U & "/" & rs.N
rs.MoveNext
Loop
End Sub
Sin embargo si utilizo la instrucción Option Explicit, además de tener que definir la variable como recordset, no me permite referirme a los campos por el alias y hay que utilizar la propiedad fields indicando el número de orden del campo, lo que me parece más confuso a la hora de programar.
Option Compare Database
Option Explicit
Dim rs As Recordset
Private Sub Comando0_Click()
Set rs = CurrentDb.OpenRecordset("SELECT Bancos.NUMBAN AS U, " _
& "Bancos.NOMBAN AS N " _
& "FROM Bancos;")
Do While Not rs.EOF
MsgBox rs.Fields(0) & "/" & rs.Fields(1)
rs.MoveNext
Loop
End Sub
¿Alguno sabe porque es esto?
¿Hay algo que no sepa y este haciendo mal?
Agradeceré vuestros comentarios
Tengo una duda sobre el funcionamiento de un Recordset
Cuando no tengo la instrucción Option Explicit y defino un recordset en el que alguno de los campos tienen “alias” (en el ejemplo “U” y “N”), puedo utilizar estos alias para referirme a los campos.
Option Compare Database
Private Sub Comando0_Click()
Set rs = CurrentDb.OpenRecordset("SELECT Bancos.NUMBAN AS U, " _
& "Bancos.NOMBAN AS N " _
& "FROM Bancos;")
Do While Not rs.EOF
MsgBox rs.U & "/" & rs.N
rs.MoveNext
Loop
End Sub
Sin embargo si utilizo la instrucción Option Explicit, además de tener que definir la variable como recordset, no me permite referirme a los campos por el alias y hay que utilizar la propiedad fields indicando el número de orden del campo, lo que me parece más confuso a la hora de programar.
Option Compare Database
Option Explicit
Dim rs As Recordset
Private Sub Comando0_Click()
Set rs = CurrentDb.OpenRecordset("SELECT Bancos.NUMBAN AS U, " _
& "Bancos.NOMBAN AS N " _
& "FROM Bancos;")
Do While Not rs.EOF
MsgBox rs.Fields(0) & "/" & rs.Fields(1)
rs.MoveNext
Loop
End Sub
¿Alguno sabe porque es esto?
¿Hay algo que no sepa y este haciendo mal?
Agradeceré vuestros comentarios
Valora esta pregunta


0