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

error 75

Estas en el tema de error 75 en el foro de Visual Basic clásico en Foros del Web. Hola buenas! Tengo un problema tonto y no soy capaz de ver el error, ¿Puede alguien echarme una mano? Tengo una rutina donde me abre ...
  #1 (permalink)  
Antiguo 04/05/2010, 07:48
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 16 años, 4 meses
Puntos: 0
error 75

Hola buenas!

Tengo un problema tonto y no soy capaz de ver el error, ¿Puede alguien echarme una mano?
Tengo una rutina donde me abre archivos hasta ahora le daba el nombre del archivo y no tenia problemas pero he cambiado la forma para poder abrir un archivo con un nombre solo conocido al ejecutarse el programa y me sale este error "error 75" y no le veo el fallo. aqui esta el codigo por pasos .:

Código vb:
Ver original
  1. Private Sub Form_Load()
  2. Dim Fichero As String
  3.  
  4. Fichero = InputBox("Número de pedido") & ".dat"
  5.  
  6. End Sub
  7. ' --------------------------------------------------------------------------
  8. ' \\ -- Subrutina para abrir el archivo Horas.dat.
  9. ' --------------------------------------------------------------------------
  10. Private Sub AbrirArchivo()
  11.  
  12. Numero = FreeFile
  13. Open Fichero For Random As Numero Len = 94
  14.  
  15. RegActual = 1
  16. ' Almacenamos la posición del último registro
  17. RegUltimo = LOF(Numero) / 94
  18.  
  19. If RegUltimo = 0 Then
  20. RegUltimo = RegActual
  21. End If
  22.  
  23. End Sub

Podria alguien decidme domde estoy cometiendo el error. Se que es algo tonto pero soy incapaz de verlo por muchas vueltas que le doy.

Un saludo
  #2 (permalink)  
Antiguo 04/05/2010, 08:33
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 12 años, 8 meses
Puntos: 53
Respuesta: error 75

Hola de nuevo, me da la sensación de que has definido mal la variable ya que si te fijas bien verás que Fichero está definido dentro del Load con lo cual aunque la tenga tenga como Pública VB considera que no es la misma, si no me crees (es broma) prueba lo siguiente, poniendo un command1 sobre un formulario

Código:
Option Explicit

Dim Fichero As String

Private Sub Command1_Click()
  MsgBox Fichero
End Sub

Private Sub Form_Load()
  ' Si lo dejas aquí tal como está cuando le des al Command Fichero = ""
  ' Si quitas la instrucción Dim o le pones la comilla delante Fichero = "Pepe"
  Dim Fichero As String
  Fichero = "Pepe"
End Sub
Venga, un saludo.
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 04/05/2010, 09:01
Avatar de XYON126  
Fecha de Ingreso: abril-2006
Mensajes: 272
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: error 75

Ok! Muchas gracias.

La he cambiado y me ha funcionado, yo pensaba que lo que estaba en el Load era igual que lo que esta despues del Option Explicit y veo que no es asi por lo que entiendo que para declarar una variable publica para todo el programa debe estar o en un modulo.bas o en el Option Explicit. ¿Es asi?


Un saludo
  #4 (permalink)  
Antiguo 04/05/2010, 09:19
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 12 años, 8 meses
Puntos: 53
Respuesta: error 75

Una variable Publica para TODO el programa, aunque tenga tropecientos formularios debe estar en un MODULO y si es Pública para todos las Funciones y Procedimientos de un Formulario debe estar antes de ningún procedimiento, normalmente después del Option Explicit en el código de Formulario.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...

Etiquetas: Ninguno
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 20:56.