es que si la intentara leer fuera del IF ya no le dejaría ni debugar...A veces puede pasar por despiste que declares una variable, por ej. dentro de un Try, y luego la quieres leer fuera, y ya te da error antes de debugar...
Si mal no he entendido, él no puede leerla ni al momento ¿correcto? Es decir aquí:
Dim miTarifa As String = dR("Tarifa")
Yo es que he probado su mismo código, es más tengo aplicaciones con variables declaradas así, y funciona bien...
Lo he probado incluso en VB2005, por si era alguna particularidad de esta versión, y me funciona igualmente bien. He creado un módulo con una función y he declarado la varibale dentro del IF:
Cita: Dim dR As OleDb.OleDbDataReader = miCM.ExecuteReader
If dR.Read Then
Dim miTarifa As String = dR("Tarifa")
Dim miGrupoDescuento As String = dR("GrupoDescuento")
Return miTarifa
Else
miConn.Dispose()
Throw New Exception("El cliente especificado no existe.")
End If
Entra y devuleve bien el valor....
¿tienes el VB2005 con las últimas actualizaciones? Es por descartar...porque es muy raro. A mi me habían pasado cosas raras en VB2003 y era porque me faltaba una actualización.
saludos