• Lunes 23 de Diciembre de 2024, 10:51

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Brroz

Páginas: 1 ... 13 14 [15] 16 17 ... 43
351
Visual Basic 6.0 e inferiores / Re: Problemon Con Sql
« en: Jueves 20 de Mayo de 2004, 15:09 »
Código: Text
  1.  
  2. Dim strSQL as string
  3.  
  4. strSQL = "INSERT INTO tabla (campo1,campo2) " _
  5. & "VALUES( '" & replace(variableTexto,"'","''") & "' , " & variableNum & ")"
  6.  
  7.  
  8.  

Remplazar cada comilla simple ' por dos comillas simples ''.

Abur.

352
Visual Basic 6.0 e inferiores / Re: Carpetas Y Archivos
« en: Jueves 20 de Mayo de 2004, 15:05 »
Hola.

Para asociar una determinada extensión con una aplicación determinada, podéis echarle un ojo a http://foros.solocodigo.com/index.php?showtopic=6041.

Según el ejemplo, tenéis que tener en cuenta que la aplicación debe estar preparada para recibir como parámetro el nombre de archivo en cuestión.

Acerca de lo que jomace pretende, creo que la solución es ingenua: cambiarle la extensión al archivo en cuestión poco puede protejer (tal vez despistar un poco sí) el archivo de un uso indeseado. El ejecutable vb comprobaría la contraseña y a continuación abriría el archivo con la aplicación adecuada. El fallo es evidente, basta con saltarse la llamada al pgm vb cambiando la extensión por la correspondiente y abriédolo con la correspondiente aplicación.

La forma más sencilla que veo para hacer lo que pretendes es cambiando la estructura de los archivos en cuestión: Crear un nuevo archivo con, por ejemplo, determinada estructura de encabezamiento en el que se incluya de alguna forma la clave, a partir de un determinado offset grabar el contenido del archivo original y finalizar el archivo con algún otro dato. Cuando quieras reproducir/visualizar el archivo, el programa comprobaría los datos y contraseña del encabezado, grabaría en un archivo temporal los datos del archivo original y reproduciría este último archivo.

Esta método también es completamente inseguro, pero por lo menos la cosa se complica un poco más (requiere un mínimo de manipulación del archivo). La solución final de reproducir el original con su correspondiente aplicación es un poco marrullera... desde luego lo ideal sería que la aplicación que reproduzca el contenido fuese la que hiciste en vb, pero eso es mucho nivel (crear tus propios formatos de archivos de imagen u otras historias, compresiones, quebraderos de cabeza varios...) aparte de poco operativo con un lenguaje con las características de vb.

En fin... tu mismo.

Suerte.

353
Visual Basic 6.0 e inferiores / Re: Crear Funcion Para Datareports
« en: Lunes 17 de Mayo de 2004, 10:53 »
¡¡¡¡¡¡¡¡???????!!!!!!!!

Código: Text
  1.  
  2. Private Sub cmd_general_Click()
  3.    Metodo DataReport1
  4. End Sub
  5.  
  6. Private Sub cmd_OtroBoton_Click()
  7.    Metodo DataReport2
  8. End Sub
  9.  
  10. Private Sub cmd_yOtro_Click()
  11.    Metodo DataReport2
  12. End Sub
  13.  
  14. Private Sub Metodo(Byval DtaRpt As DataReport)
  15.    If DtaRpt is Nothing Then exit Sub
  16.    Load DataEnvironment1
  17.    Load DtaRpt
  18.    DtaRpt.Show vbModal
  19.    Unload DtaRpt
  20.    Unload DataEnvironment1
  21. End Sub
  22.  
  23.  
  24.  

Abur.

354
Visual Basic 6.0 e inferiores / Re: Ayuda Con Error Handler
« en: Lunes 17 de Mayo de 2004, 10:46 »
Hola Fernando P.

Supongo que te refieres al manejo y supervisión de errores... Así por encima, ten en cuenta estas cosas:

En un método, mediante la instrucción On Error ... indicarás cúal es la opción a tomar en caso de que se produzca un error y con Resume ... estableces el punto donde continuará la ejecución del código.

Mediante el objeto Err puedes obtener información del error que se ha producido.

La primera de las instrucciones (On Error) seguida de una instrucción GOTO etiqueta indica que en caso de producirse un error la ejecución del código continuará en la etiqueta (o número de línea) indicada. Es en esta etiqueta donde introduces el código necesario según el tratamiento que le quieres dar al error. Mediante las propiedades del objeto Err Number y Description conocerás el número de error producido y el texto del mismo.
Cada vez que utilizas On Error, indicas la forma de controlar los errores.

Con Resume, una vez que has identificado el error y actuado en consecuencia, puedes que hacer que el flujo del programa se dirija a donde tú quieras: utilizando
Resume Next haces que la ejecución continúe en la siguiente instrucción; utilizando Resume Etiqueta, haces que la ejecución continúe en la etiqueta especificada.

Normalmente Cada Error necesita un Resume antes de que pueda producirse el siguiente, y no puede haber un Resume sin Error, sin embargo es posible no utilizar Resume si el tratamiento del error está al final del método, es decir antes de End Sub o End Function.

Se puede utilizar la instrucción On Error de la forma On Error Resume Next, que en la práctica no detendrá la ejecución del código y continuará con la siguiente instrucción. Deberás ser cuidadoso, pues esto puede producir resultados inesperados en la ejecución del programa, o puede causar que entre en algún bucle del que no puede salir provocando que el programa se cuelgue.

Analiza el ejemplo.
Código: Text
  1.  
  2. Private Sub HacerCosas()
  3.  
  4.    On Error Resume Next
  5.    Kill "C:\Ruta\Fichero.ext"  'De esta forma si no exitese
  6.                                          'el archivo el pgm no casca
  7.                                          'y continua.
  8.  
  9.    Dim intCanal As Integer  
  10.  
  11.    On Error Goto Err_1
  12.    intCanal = Freefile
  13.    Open "C:\Ruta\UnArchivo" For Input As intCanal
  14.    .
  15.    .
  16.    .
  17.    Close intCanal
  18.  
  19.    On Error Goto Err_2
  20.    intCanal = Freefile
  21.    Open "C:\Ruta\OtroArchivo" For Input As intCanal
  22.    .
  23.    .
  24.    .
  25.  
  26. Exit_HacerCosas:
  27.    On Error Resume Next   'Si no pongo esto aquí y el canal
  28.                                       'no estuviese abierto se producirá
  29.                                       'un error que provocará un embu-
  30.                                       'clamiento al volver a esta etiqueta
  31.    Close intCanal
  32.  
  33.    Exit Sub             'Para no entrar en el código de control de
  34.                             'errores y se produzca un 'Resume sin error.
  35.  
  36. Err_1:
  37.     MsgBox "Fallo con el archivo 1"
  38.     Resume Exit_HacerCosas:
  39.  
  40. Err_2:
  41.     MsgBox "Fallo con el archivo 1"
  42.     Resume Exit_HacerCosas:
  43.  
  44. End Sub
  45.  
  46.  

Espero que esto sea lo que necesitas, porque después de tanta escritura ya tengo peladas las yemas de los dedos.

Abur.

356
Visual Basic 6.0 e inferiores / Re: Modulo Fracciones
« en: Sábado 15 de Mayo de 2004, 09:07 »
Hola dantrax.

Me refiero a que utilices una estrutura de datos y funciones para realizar operaciones con esas estructuras. Fíjate en el código:
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Public operando1 As Fraccion
  5. Public operando2 As Fraccion
  6. Public resultado As Fraccion
  7.  
  8. Public Type Fraccion
  9.     Numerador As Double
  10.     Denominador As Double
  11. End Type
  12.  
  13. Public Sub Simplificar()
  14.    
  15.     Dim intPrimos(5) As Integer, int1 As Integer
  16.     Dim ind1 As Boolean
  17.    
  18.     intPrimos(0) = 2
  19.     intPrimos(1) = 3
  20.     intPrimos(2) = 5
  21.     intPrimos(3) = 7
  22.     intPrimos(4) = 11
  23.    
  24.     'Se recibe la entrada sin simplificar de operando1
  25.     'y se devuelve simplificada en resultado.
  26.     resultado = operando1
  27.    
  28.     ind1 = True
  29.    
  30.     Do While ind1
  31.        
  32.         ind1 = False
  33.                
  34.         For int1 = 0 To 4
  35.             If resultado.Numerador Mod intPrimos(int1) = 0 _
  36.             And resultado.Denominador Mod intPrimos(int1) = 0 Then
  37.                 resultado.Numerador = resultado.Numerador / intPrimos(int1)
  38.                 resultado.Denominador = resultado.Denominador / intPrimos(int1)
  39.                 ind1 = True
  40.             End If
  41.         Next int1
  42.        
  43.     Loop
  44.    
  45. End Sub
  46.  
  47. Public Sub Sumar(Optional ByVal Simp As Boolean)
  48.  
  49.     Dim den As Double
  50.     den = operando1.Denominador * operando2.Denominador
  51.     operando1.Numerador = operando1.Numerador * operando2.Denominador
  52.     operando2.Numerador = operando2.Numerador * operando1.Denominador
  53.     operando1.Denominador = den
  54.     operando2.Denominador = den
  55.        
  56.     If Not Simp Then
  57.         resultado.Numerador = operando1.Numerador + operando2.Numerador
  58.         resultado.Denominador = den
  59.     Else
  60.         operando1.Numerador = operando1.Numerador + operando2.Numerador
  61.         Simplificar
  62.     End If
  63.    
  64. End Sub
  65.  
  66. Public Sub Restar(Optional ByVal Simp As Boolean)
  67.  
  68.     Dim den As Double
  69.     den = operando1.Denominador * operando2.Denominador
  70.     operando1.Numerador = operando1.Numerador * operando2.Denominador
  71.     operando2.Numerador = operando2.Numerador * operando1.Denominador
  72.     operando1.Denominador = den
  73.     operando2.Denominador = den
  74.        
  75.     If Not Simp Then
  76.         resultado.Numerador = operando1.Numerador - operando2.Numerador
  77.         resultado.Denominador = den
  78.     Else
  79.         operando1.Numerador = operando1.Numerador - operando2.Numerador
  80.         Simplificar
  81.     End If
  82.    
  83. End Sub
  84.  
  85. Public Sub Multiplicar(Optional ByVal Simp As Boolean)
  86.  
  87.     If Not Simp Then
  88.         resultado.Numerador = operando1.Numerador * operando2.Numerador
  89.         resultado.Denominador = operando1.Denominador * operando2.Denominador
  90.     Else
  91.         operando1.Numerador = operando1.Numerador * operando2.Numerador
  92.         operando1.Denominador = operando1.Denominador * operando2.Denominador
  93.         Simplificar
  94.     End If
  95.    
  96. End Sub
  97.  
  98. Public Sub Dividir(Optional ByVal Simp As Boolean)
  99.  
  100.     If Not Simp Then
  101.         resultado.Numerador = operando1.Numerador * operando2.Denominador
  102.         resultado.Denominador = operando1.Denominador * operando2.Numerador
  103.     Else
  104.         operando1.Numerador = operando1.Numerador * operando2.Denominador
  105.         operando1.Denominador = operando1.Denominador * operando2.Numerador
  106.         Simplificar
  107.     End If
  108.    
  109. End Sub
  110.  
  111.  

Suerte.

357
Hola.

Abre la ventana de propiedades del DataGrid y en la pestaña 'General' marca las casillas AllowAddNew y AllowAddUpdate (sobre todo).

Suerte.

358
Visual Basic 6.0 e inferiores / Re: Dialogos Para Abrir, Guardar
« en: Sábado 15 de Mayo de 2004, 08:32 »
Hola Fernando_P.

Échale un vistazo a este tema http://foros.solocodigo.com/index.php?showtopic=4339 al final del mismo tienes un ejemplo de función para abrir un cuadro de diálogo para guardar un archivo. El ejemplo se puede utilizar para un diálogo para abrir cambiando la fn api GetSaveFileName por [/b]GetOpenFilename[/b].

También podrías usar un control CommonDialog pero a mi no me va mucho...

Suerte.

359
Visual Basic 6.0 e inferiores / Re: Una Variable En Addnew
« en: Sábado 15 de Mayo de 2004, 08:28 »
Hola carlosm.

No comprendo muy bien a qué te refieres.

Puedes considerar cada uno de los campos de una tabla como una variable con determinado valor para cada uno de los registros...

Abur.

360
Visual Basic 6.0 e inferiores / Re: Round, Me Falla
« en: Sábado 15 de Mayo de 2004, 08:16 »
Hola Kev.

Round redondea 'hacia abajo', es decir 14,85 lo redondeará como 14,8 y 14,86 como 14,9.

Puedes utilizar la función Format: Format(14.85, "#,##0.0") devolverá 14,9

Imagino que ya lo has tenido en cuenta... el redondeo puede ser causa frecuente de errores en el importe total de por ejemplo una factura: en el caso de los euros, cada línea de factura debe calcularse multiplicando la cantidad por el precio redondeado con 3 decimales (en algunos casos a más) y el importe del total de la factura es la suma del importe de cada una de las líneas redondeada a 2.

Suerte.

361
Visual Basic 6.0 e inferiores / Re: Msgbox
« en: Miércoles 12 de Mayo de 2004, 15:40 »
Qué pasa malagueño.

Veo que sigues dale que te pego... Échale un ojo al adjunto.

Chao.

362
Visual Basic 6.0 e inferiores / Re: Los Grid Enlazados A Ado Tardan
« en: Miércoles 12 de Mayo de 2004, 14:49 »
Hola mcrex.

Pues no sé a que se puede deber esa diferencia (aunque supongo que la diferencia la marca el funcionamiento del grid con el número de filas que carga). De todas formas 150.000 registros de una tabla a mostrar en un grid es un poco para masocas: a ver quién es el usuario que lo maneja...

Lamento no poder ser de más ayuda. Chao.

363
Visual Basic 6.0 e inferiores / Re: Problematica: Richtextbox Con Ortografia
« en: Miércoles 12 de Mayo de 2004, 14:42 »
Ok. Entonces para futuras ocasiones y para las pasadas hay que tener en cuenta que si abres un tema y lo dejas sin cerrar se debe a que la/s soluciones que la basca te aporta no te funcionan. Uno más en ese grupo.

Abur.

364
Visual Basic 6.0 e inferiores / Re: Problematica: Richtextbox Con Ortografia
« en: Miércoles 12 de Mayo de 2004, 12:55 »
Veo que sigues con lo mismo: http://foros.solocodigo.com/index.php?show...t=0&#entry19325 ... A lo mejor si cerraras los temas la cosa iría mejor.

Abur.

365
Visual Basic 6.0 e inferiores / Re: Comprobar Si Existe Un Ocx
« en: Miércoles 12 de Mayo de 2004, 12:47 »
Hola tiquinho.

Supongo que te habrás dado cuenta de los gazapos que tiene el código (cosa de hacer las cosas con prisas y al vuelo). Para que quede más claro y no dé lugar a confusión, aquí lo escribo de nuevo. Me alegra que la solución te sea útil.

Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private miOcx As Object
  5.  
  6. Private Sub Form_Load
  7.    On Error Goto Err_Form_Load
  8.    Set miOcx = Me.Controls.Add("Proyecto.ClaseMiOcx", "NombreDeControl")
  9.    miOcx.Visible = True
  10.    miOcx.PropiedadX = "algún valor..."
  11. '  .
  12. '  .
  13. '  .
  14.    Exit Sub
  15.  
  16. Err_Form_Load
  17.    If Err.Number = 999 Then 'Ahora mismo no sé el nº de error, pero se sabe enseguida provocándolo...
  18.        Msgbox "No cuentas con la funcionalidad de tal ocx..."              
  19.    Else
  20.        MsgBox "(" & Err.Number & ") " & Err.Description
  21.        Unload Me
  22.    End If
  23. End Sub
  24.  
  25. Private Sub Form_Unload(Cancel As Integer)
  26.    Set miOcx = Nothing
  27. End Sub
  28.  
  29.  

Chao.

366
Visual Basic 6.0 e inferiores / Re: Comprobar Si Existe Un Ocx
« en: Martes 11 de Mayo de 2004, 18:29 »
Hola.

Entonces veo dos posibles soluciones, aunque ninguna de las dos acaba de gustarme mucho:

1- Crea dos formularios 'principales' uno con el ocx y otro sin él. Aplica el código de antes pero desde una sub 'Main' que debe ser el inicio de la aplicación. Esta solución es redundante pero efectiva 100%.

2- Puedes intentar añadir dinámicamente el control ocx, pero con unas consideraciones...
Fíjate en este código para un formulario: añade un CommandButton en tiempo de ejecución.
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private WithEvents cmd1 As CommandButton
  5.  
  6. Private Sub Form_Load
  7.     Set cmd1 = Me.Controls.Add("VB.CommandButton", "cmd1")
  8.     cmd1.Visible = True
  9.     cmd1.Caption = "púlsame"
  10. End Sub
  11.  
  12. Private Sub Form_Unload(Cancel As Integer)
  13.     Set cmd1 = Nothing
  14. End Sub
  15.  
  16. Private Sub cmd1_Click()
  17.     MsgBox "Me pulsaste"
  18. End Sub
  19.  
  20.  
Podrías hacer lo mismo sustituyendo el tipo CommandButton por el de tu ocx, pero si el ocx no existe, el programa casca en la declaración de la variable cmd1, con lo que estás en la misma de antes: sólo puedes interceptar este error desde un método que llame al formulario.
Una posible solución a esto podría ser declarar la variable como 'Object' e interceptar el posible error en el evento Load del form. Esta solución sería ideal si no fuera porque no podrás interceptar los eventos del control (una variable 'Object' no se puede declarar 'WithEvents'), sin embargo, si sólo utilizas ciertos métodos del control y no te importan los eventos que puede generar el ocx, estás de suerte, este es la forma que mejor se adapta a tus necesidades... El código quedaría algo asi:
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private miOcx As ClaseMiOcx
  5.  
  6. Private Sub Form_Load
  7.     On Error Goto Err_Form_Load
  8.     Set miOcx = Me.Controls.Add("Proyecto.ClaseMiOcx", "NombreDeControl")
  9.     miOcx.Visible = True
  10.     miOcx.PropiedadX = "algún valor..."
  11.  
  12. Err_Form_Load
  13.     If Err.Number = 999 Then 'Ahora mismo no sé el nº de error, pero se sabe enseguida provocándolo...
  14.         Msgbox "No cuentas con la funcionalidad de tal ocx..."              
  15.     Else
  16.         MsgBox "(" & Err.Number & ") " & Err.Description
  17.         Unload Me
  18.     End If
  19. End Sub
  20.  
  21. Private Sub Form_Unload(Cancel As Integer)
  22.     Set miOcx = Nothing
  23. End Sub
  24.  
  25.  
Luego claro está, en el código deberías habilitar o no ciertas opciones, controlar si la variable miOcx = Nothing y cosas por el estilo


A ver si esto te ayuda algo más. Suerte.

367
Visual Basic 6.0 e inferiores / Re: Comprobar Si Existe Un Ocx
« en: Martes 11 de Mayo de 2004, 15:24 »
Hola tiquinho.

Si es posible que no exista un ocx que usas en un formulario determinado, y no deseas instalar tu ese ocx, debes supervisar el error que se producirá en el momento en que intentes abrir ese formulario (si no me equivoco un error 339). Algo así:

Supongamos que este es el formulario principal desde el que intentas abrir el formulario con el ocx en cuestión (llamémosle Form2, por ejemplo). Supongamos pues que Form2 se abre al pulsar un botón de Form1. Imaginemos también que para el caso de que no exista el ocx, en vez de un formulario Form2, abriremos un formulario Form3 con otra historia...
Código: Text
  1.  
  2. Private Sub Command1_Click()
  3.  
  4.    On Error Goto Err_Command1_Click
  5.  
  6.    Dim frmX As Form, ind1 As Boolean
  7.  
  8.    Set frmX = New Form2
  9.    frmX.Show
  10.    Goto Exit_Command1_Click  
  11.  
  12. Open_Form3:
  13.    Set frmX = New Form3
  14.    FormX.Show
  15.  
  16. Exit_Command1_Click:
  17.    Set frmX = Nothing
  18.    Exit Sub
  19.  
  20. Err_Command1_Click:
  21.    If Err.Number = 339 And Not ind1 Then
  22.        ind1 = True
  23.        Resume Open_Form3
  24.    Else
  25.        MsgBox "(" & Err.Number & ") " & Err.Description, vbCritical, "Command1"
  26.        Resume Exit_Command1_Click
  27.    End If
  28.  
  29. End Sub
  30.  
  31.  

Cuando decía eso de "Cuando instales la aplicación..." se me estaba yendo un poco la olla y estaba en la situación de que tú instalabas la aplicación mediante un programilla de factura propia .Realmente es algo muy sencillo, no sé porque a veces hay tantas historias con los instaladores... obtener el archivo de dependencias con el empaquetador de vb e identificar los archivos que realmente hacen falta (y esto si es que ya no lo sabemos de antemano) y hacer un pequeño programa que cree directorios, copie archivos, registre componentes, etc.

Espero que el ejemplo de ahora sí  te sea de ayuda.

Suerte.

368
Visual Basic 6.0 e inferiores / Re: Modulo Fracciones
« en: Lunes 10 de Mayo de 2004, 18:14 »
Hola dantrax.

Podrías crear una estructura de datos para esas fracciones, de forma que almacenes por un lado el numerador y por otro el denominador. Crea una cuantas funciones para realizar las operaciones básicas con este tipo de datos y otra más para simplificar. El único problema lo encontrarás probablemente si intentas usar como un parámetro una variable de este tipo, pero eso lo puedes solucionar creando un componente o usando un par de variables públicas a nivel de módulo.

Suerte.

369
Visual Basic 6.0 e inferiores / Re: Correo Y Archivos En V.b 6.0
« en: Lunes 10 de Mayo de 2004, 18:01 »
Hola.

El tema de las distintas plataformas no debe preocuparte (¿o acaso cuando envias un email conoces siempre el equipo del destinatario? y sin embargo los mensajes llegan, que para eso están los protocolos).

Empieza por enviar los correos sin más... luego ya comprobarás que los mensajes llegan.

Podrías utilizar controles MAPI (MapiSession y MapiMessage), las funciones del api MAPI32, si dispones de Outlook objetos de sus librerías, o incluso si no quieres adjuntar archivos, el poco ortodoxo 'Mailto: ... ' mediante ShellExecute. En este mismo foro podrás encontrar ejemplos de como enviar correos.

Suerte.

370
Visual Basic 6.0 e inferiores / Re: Procesos Del Sistema Cerrarlos Con Vb
« en: Lunes 10 de Mayo de 2004, 17:56 »
Hola.

Si tienes instanciado un objeto Excel.Application, utiliza su método Quit y listo.

Suerte.

371
Visual Basic 6.0 e inferiores / Re: Comprobar Si Existe Un Ocx
« en: Lunes 10 de Mayo de 2004, 17:52 »
Hola tiquinho.

Puedes hacer algo como lo que te cuento:

Cuando instales la aplicación, comprueba si existen previamente en el path donde vas a instalar los ocx que necesitas. Si están presentes, desregístralos y renombralos si los quieres conservar. Copia tu versión de ocx con la aplicación. Registra los ocx y listo.

Para registrar/desregistrar los componentes usa algo así:
Registrar
Código: Text
  1.  
  2. Shell "Regsvr32 /S C:\Ruta\Archivo.ocx"
  3.  
  4.  

Desregistrar
Código: Text
  1.  
  2. Shell "Regsvr32 /U /S C:\Ruta\Archivo.ocx"
  3.  
  4.  

El modificador /S sirve para registrar de forma silenciosa, es decir, sin que salga el típico mensaje de aviso.

Suerte.

372
Visual Basic 6.0 e inferiores / Re: Traer Datos
« en: Lunes 10 de Mayo de 2004, 17:46 »
Hola juez.

No comprendo muy bien lo que pretendes, pero haz lo siguiente:

Graba una nueva macro con las acciones que pretendes realizar. Ve al editor de Vb y busca en un módulo el código que corresponde a la macro que acabas de grabar, y ahí tienes el código que necesitas.

Suerte.

373
Hola ebolo.

No conozco la causa del error, pero sí me sorprende el texto que muestra. Veo que usas DAO... tal vez te convendría (si no te supone mucho curro, claro) usar ADO con un proveedor OleDb Microsoft jet 4.0 para utilizar bases de datos access 2000.

Suerte.

374
Hola erikmiguel.

Básicamente podrías necesitar un control DriveListBox otro DirListBox y otro FileListBox para gestionar el sistema de archivos (Tal vez podrías optar por usar un diálogo 'Abrir archivo' con un control CommonDialog o con la api GetOpenFileName).

Para abrir un archivo con la aplicación cuya extensión tenga asociada, debes usar la función api ShellExecute. Por ejemplo:
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private Const SW_SHOW = 5
  5. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  6.  
  7. Private Sub Ejecutar()
  8.     ShellExecute 0&, "Open", "C:\Ruta\Archivo.doc", "", "", SW_SHOW
  9. End Sub
  10.  
  11.  

En cuanto a lo de buscar archivos, puedes usar la instrucción de VB Dir o usar las apis FindFirstFile, FindNextFile y FindClose que al fin y al cabo, usadas conjuntamente realizan la misma función que Dir.

Para copiar archivos: FileCopy.
Para borrarlos: Kill.


Suerte.

375
Visual Basic 6.0 e inferiores / Re: Los Grid Enlazados A Ado Tardan
« en: Lunes 10 de Mayo de 2004, 17:24 »
Hola mcrex.

Cuando dices que tarda mucho... ¿cuánto es para ti mucho?, sobre todo considerando estas supuestas cosas:

- Nº de registros de la/s tabla/s que intervienen.

- Campos indexados (enlazando con un reciente tema...).

- Ubicación de la base de datos (local, en un equipo servidor...).

- Sentencia SQL utilizada (si el origen de datos es una SQL, claro).

Chao.

Páginas: 1 ... 13 14 [15] 16 17 ... 43