Retroceder   Foros del Web > Temas generales de computación > Ofimática

Respuesta
 
Herramientas Desplegado
Antiguo 21-jul-2006, 13:36   #1 (permalink)
karla_gemi ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 4
Busqueda Como saber si un txt esta abierto desde una macros en excel?

Tengo un formulario con varios combobox todos se actualizan y llenan con la info de un txt. al abrir el formulario.
El txt tiene la info de los Rut, Razon Social/Apellido Paterno, Apellido Materno, Nombre y diversas claves.

Cada combobox tiene su propia información del txt y mi idea es que al seleccionar algun dato del combobox1 que contiene la info del rut, en los siguientes como combobox2 me aparezca el dato de la razon social, y asi sucesivamente hasta llegar a las claves que se llenan en unos textbox, les muestro la sintaxis del combobox1

Private Sub RUT_Click()
RUT.Value = UCase(RUT.Value)
If Len(Dir$("C:\Claves\Claves Clientes.txt")) Then
Open "C:\Claves\Claves Clientes.txt" For Input Access Read As 1
Do While Not EOF(1)
Input #1, RUTS, APP_RAZ, APM, NOMBRES, CLAVE, SII, CLAVE_TESORERIA, clave_afc
If RUT.Value = RUTS Then
Buscar.Razon.Text = APP_RAZ
Buscar.Materno.Text = APM
Buscar.Nombre.Text = NOMBRES
Textbox1.text = CLAVE
End If
Loop
Close #1
End If
End Sub

De esta manera me funciona bien, sin embargo cuando no se sabe el rut quiero que puedan buscar por el nombre o apellido materno o razon social, y al poner la misma sintaxis cambiando desde luego el resultado de los datos y eso... pues siempre me sale que el archivo ya esta abierto.

Por eso necesito saber de que manera puedo comprobar si el archivo se encuentra abierto, para poder cerrarlo y que cumpla con la busqueda que necesito.

La sintaxis es bastante ambigua pero no se mucho del tema, soy bastante nueva, y además tiene que funcionar en el VB de Excel.

Les explicare con más detalle por que uso combobox y no cuadros de texto.
La razon es simple por que quiero que al ingresar por ejemplo los primeros numeros o letras comienze a buscar si hay alguien con esos datos, es decir... por ejemplo
al teclear 15... el combobox me rellena con el primer rut que tiene que comienza con 155555541-1, y que al mismo tiempo me arroje de inmediato los datos a los demás combobox....
Por que uso combobox en los demás... por que la consulta no siempre será sabiendo el rut, puede que solo sepan el nombre, o la razon social, o el apellido materno... al darle la misma aplicación a todos puedo buscar por la info segun el dato que tenga...
Lo unico que me interesaria poner en textbox serian las claves, ya que es lo que ando buscando.
Al darle la misma atribución a todos los combobox procedo a abrir el archivo txt, con la misma sintaxis que te explique al comienzo.
Si es posible saber si el archivo esta abierto, de que manera le puedo dar la instrucción para que me compruebe que los datos que tecleo en el combobox estan en el txt...
Por eso pensaba en que asi como le doy la instrucción de revisar si existe o no el archivo txt... tal vez tambien se podia dar la instrucción para saber si el archivo estaba abierto o cerrado.
He cambiado la numeración de 1 a FreeFile y no hay mejoras siempre da el error 52 o 55.
Alguien tiene una sugerencia que no implique usar controles para confirmar la busqueda, o hacer una base de datos en access?
De antemano se agradece cualquier buena respuesta.
karla_gemi está desconectado   Responder Citando
Antiguo 23-jul-2006, 08:47   #2 (permalink)
desertor sólo puede mejorar
 
Fecha de Ingreso: octubre-2005
Mensajes: 296
Enviar un mensaje por MSN a desertor
hjajajajjaja no caxo niuna compadre
__________________
¿Quién es ésta que se muestra como el alba,
Hermosa como la luna,
Esclarecida como el sol,
Imponente como ejércitos en orden?
desertor está desconectado   Responder Citando
Antiguo 24-jul-2006, 01:49   #3 (permalink)
Colaborador
3pies tiene algunos puntos positivos de karma
 
Avatar de 3pies
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 1.800
Aquí va una opción:
Código:
'Creamos la variable global llamada "fichero_abierto", que puede tomar valor verdadero (true) o falso (false)
Public fichero_abierto As Boolean
Inmediatamente después de abrir el fichero de texto, añades esta línea:
Código:
fichero_abierto = true
Cuando hayas acabado de trabajar con el fichero, y justo después de cerrarlo, le pones el valor a false:
Código:
fichero_abierto = false
Para que no te salga el mensaje de que el fichero ya está abierto, antes haces una comprobación del estado de la variable global:
Código:
if fichero_abierto = false then
    'Abres el fichero y trabajas con él, porque está cerrado
end if
Salu2
3pies está desconectado   Responder Citando
Antiguo 25-jul-2006, 15:55   #4 (permalink)
karla_gemi ha deshabilitado el karma
 
Fecha de Ingreso: julio-2006
Mensajes: 4
Parpadear

Gracias por la respuesta, es justo lo que necesitaba, solo que ahora me da otro problema... me manda error 52, y por el momento estoy casi igual que al principio
karla_gemi está desconectado   Responder Citando
Antiguo 26-jul-2006, 00:27   #5 (permalink)
Colaborador
3pies tiene algunos puntos positivos de karma
 
Avatar de 3pies
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 1.800
Si pudieras especificar un poco más...

Editado:
Mira lo que pone aquí respecto al error 52.

Última edición por 3pies; 26-jul-2006 a las 04:48.
3pies está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:50.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93