• Lunes 23 de Diciembre de 2024, 02:13

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 ... 34 35 [36] 37 38 ... 43
876
Visual Basic 6.0 e inferiores / Re: COMO OCULTAR FILAS???!!!
« en: Jueves 18 de Septiembre de 2003, 14:39 »
Lo siento, pero me temo que DataGrid1.RowHeight = 0 no vale para el caso por dos motivos:

La propiedad no admite el valor 0

La propiedad afecta al alto de todas las filas del control.

Animo.

877
Visual Basic 6.0 e inferiores / Re: reserva de asiento
« en: Miércoles 17 de Septiembre de 2003, 21:09 »
Estoy 100 % con Chiaravel en que este tema no es apropiado para realizar una consulta sobre vb.

Observo que a gran número de temas le ocurre esto... Una cosa es consultar una duda o problema con el lenguaje y otra analizar casos que se podrían resolver de innumerables formas y en variados lenguajes de programación.

De todas formas, se podría hacer creando una tabla con tantos registros como asientos. Cuando un asiento es ocupado, se actualiza el registro correspondiente (en la misma tabla o en otra relacionada) con los datos del ocupante. Cuando quieras mostrar el resultado, obtienes en un recordset los registros de asientos que figuran como ocupados. Recorres el recordset registro a registro y pintas el asiento correspondiente con el color y los datos que quieras.

Suerte.

878
Visual Basic 6.0 e inferiores / Re: Codigo para Pasar Items de un Combox a Varios TextBox
« en: Miércoles 17 de Septiembre de 2003, 20:15 »
Hola mexican

Para probar el ejemplo, añade a un formulario un ComboBox llamado Combo1 y un TextBox llamado Text1 al que establecerás la propiedad Index = 0.

Si quieres, para tener datos de prueba, en el evento Load del formulario carga el combo con 11 items:

**************************************
Private Sub Form_Load
Dim int1 As Integer
For int1 = 0 to 10
Combo1.AddItem "Elemento índice " & int1
Next int1
End Sub
**************************************

Ahora, al seleccionar un elemento del combo, este se añade a un nuevo TextBox y se elimina del combo

*******************************************
Private Sub Combo1_Click()
   
    If Combo1.ListIndex < 0 Then Exit Sub
   
    Dim int1 As Integer
    int1 = Text1.UBound
    Dim int2 As Integer, ind1 As Boolean
    For int2 = 0 To int1
        If Len(Text1(int2).Text) = 0 Then
            Text1(int2).Text = Combo1.List(Combo1.ListIndex)
            ind1 = True
            Exit For
        End If
    Next int2
    If Not ind1 Then
        int1 = int1 + 1
        Load Text1(int1)
        Text1(int1).Move Text1(int1 - 1).Left, Text1(int1 - 1).Top + Text1(int1 - 1).Height + 10
        Text1(int1).Text = Combo1.List(Combo1.ListIndex)
        Text1(int1).Visible = True
    End If
   
    Combo1.RemoveItem Combo1.ListIndex
   
End Sub
*******************************************

Ahora sólo tienes que adaptar el código a tus necesidades. No te compliques con lo del Load Text1(n)... La gracia del ejemplo para lo que tú quieres hacer es:

Textn.Text = Combo1.List(Combo1.ListIndex)

Suerte.

879
Visual Basic 6.0 e inferiores / Re: urgente
« en: Miércoles 17 de Septiembre de 2003, 19:39 »
Buffff.

Si la base de datos está en el servidor en un RECURSO COMPARTIDO AL QUE TIENES ACCESO y PRIVILEGIOS, la cosa es tan sencilla como mapear o asignar una unidad de red:
Si usamos tcp/ip y windows, se podría usar la ip/nombre de dominio y la ruta, con ipx y novell el nombre de servidor y la ruta, con SNA el nombre de sistema de los atributos de red y la carpeta compartida, etc. Tal vez necesites usar un GATEWAY...

Si tienes que conectarte a la bd con un puerto http y la única comunicación que tienes con él es a través de internet, entonces la cosa cambia: es el servidor el que debe proporcionarte el acceso a los datos, y esto lo hará mediante código del que parte se ejecutará en el cliente, scripts y activeX fundamentalmente. Si me preguntas cómo, te repito lo de antes, NO SOY NINGÚN EXPERTO en el tema, pero en internet debe haber bastantes ejemplos, o tal vez alguien en este foro (o en alguno de los otros) despeje la duda. Me imagino, que al crear las clases, usarás la conexión como si la db fuera local (que de hecho en el servidor lo es) y el resto será pura interface...

En fin... en este campo poco más os podría ayudar, para mi es un tema demasiado complejo (y/o desconocido) como para tratarlo como tema de un foro.

Suerte.

P.D. Veo que mientras escribía todo este rollo JuanK ya ha respondido al tema, de todas formas, ahí queda la cuestión.

880
Visual Basic 6.0 e inferiores / Re: urgente
« en: Miércoles 17 de Septiembre de 2003, 18:16 »
Vamos a ver...

No soy ningún entendido en internet, pero supongo que nadie va a conectarse directamente a la base de datos con vb mediante el puerto http; puntualizando, eso sí, que desde un html y utilizando los recursos correspondientes (java script, vb script, otros) se podrá crear la correspondiente conexión a la base de datos que sea  e interactuar con ella (no me preguntes cómo, supongo que mediante odbc, jdbc,..., creo que hay bastantes ejemplos por internet, pero este tema no tiene que ver con vb, a no ser que hablemos de algún componente activeX creado con vb).

Si bea tiene la forma de copiar la base de datos al servidor mediante una ruta, entonces la cosa está clara, habrá que utilizar esa ruta y no un puerto http.

Chao.

881
Visual Basic 6.0 e inferiores / Re: urgente
« en: Miércoles 17 de Septiembre de 2003, 18:04 »
Una cosa. No te aseguro que esto que te comentaba funcione en wXp, pero observa lo siguiente:

Prueba a añadir un control data ADO a un formulario. Dale a la página de propiedades y en la pestaña 'General' en la definición del origen de conexión verás que puedes utilizar un archivo de vínculo a datos (*.UDL) que es ni más ni menos que un 'Microsoft Datalink' con, un DSN ODBC (*.DSN), u otro tipo de archivo.

Aún en el caso de que no funcionara el crear un archivo con extensión UDL, se podría obtener la cadena de conexión de todas formas con el control data ADO, viendo la página de propiedades y seleccionando 'Usar cadena de conexión' y pulsando 'Generar' para abrir el asistente.

De todas formas a ver si investigo algo a ver que pasa con wXP.

Abur.

P.D. - Veo que ya probaste mientras escribía esto.

882
Visual Basic 6.0 e inferiores / Re: urgente
« en: Miércoles 17 de Septiembre de 2003, 17:52 »
Yo no he instalado nada especial.

Prueba simplemente a crear un archivo cualquiera y renómbralo con extensión UDL. Luego mira las propiedades del archivo.

Suerte.

883
Visual Basic 6.0 e inferiores / Re: COMO OCULTAR FILAS???!!!
« en: Miércoles 17 de Septiembre de 2003, 15:54 »
Hola Vika.

No encuentro una forma de hacer lo que pretendes estableciendo propiedades para la fila. De todas formas, ahí va una idea por si te puede servir de algo:

Utiliza 2 recordsets como origen de datos para el datagrid. En el primero haces la selección completa y en el segundo filtrando los registros que quieras excluir. Según quieras mostrar todos los registros o el filtro, asigna a la propiedad 'DataSource' del datagrid el recordset que te interese.
De hecho esto mismo lo podrías hacer con un solo recordset, pero como dices que quieres conservar en memoria la selección completa pues...

Suerte.

884
Visual Basic 6.0 e inferiores / Re: Imprimir un informe de access (97 y 2002) con VB
« en: Miércoles 17 de Septiembre de 2003, 15:31 »
Hola Soco1980.

¿Sabes si se puede, y en caso afirmativo cómo, pasar un parámetro a una macro de access?

Chao.

885
Visual Basic 6.0 e inferiores / Re: Utilizar los Informes de Acces
« en: Miércoles 17 de Septiembre de 2003, 15:27 »
Hola de nuevo.

¿Probaste el ejemplo con la bd que tú adjuntaste, o has utilizado otra?

Bueno, realmente 2 preguntas:

¿Que access utilizas?

Deu.

886
Visual Basic 6.0 e inferiores / Re: urgente
« en: Miércoles 17 de Septiembre de 2003, 15:05 »
Hola bea.

He aquí un truco para obtener una cadena de conexión:

Pincha con el botón derecho del ratón sobre el escritorio, selecciona 'Nuevo' en el menú  emergente y a continuación 'Microsoft DataLink'. Esto te creará en el escritorio un archivo con extensión UDL.

Pincha con el botón derecho del ratón sobre el icono recién creado y selecciona 'Propiedades'.
Se te abrirá un formulario asistente con las propiedades de la conexión a los datos. Aquí seleccionarás el proveedor OleDb necesario para acceder a tu base de datos, ubicación de los datos, usuario, permisos, etc. Una vez que has establecido los valores necesarios, selecciona la pestaña 'Todos' y podrás observar la cadena de conexión que debes escribir adaptando el texto de esta forma: Nombre1=Valor1;Nombre2=Valor2;Nombre3=Valor3

Espero que esto te sirva.
Suerte.

887
Visual Basic 6.0 e inferiores / Re: Utilizar los Informes de Acces
« en: Miércoles 17 de Septiembre de 2003, 14:44 »
Supongo que me crees si te digo que a mi me funciona perfectamente... La diferencia puede estar en que yo utilizo Access97. A ver si encontramos el problema...

Chao.

888
Visual Basic 6.0 e inferiores / Re: manejo de archivos en VB
« en: Martes 16 de Septiembre de 2003, 18:32 »
Hola laborante1. Échale un vistazo a este tema, creo que te puede servir http://foros.solocodigo.com/viewthread.php?tid=4723

Por otro lado creo (y si no, por favor me corrijan) que no hay ningún carácter ascii que corresponda a EOF. EOF es una FUNCIÓN que devuelve True cuando se intenta leer en un fichero y se comprueba que se ha alcanzado el final del mismo. En el caso de un archivo abierto en binario, el final del fichero vendrá dado por la longitud del fichero (LOF(número_canal)).

Espero que con esto puedas arreglar.
Suerte.

889
Visual Basic 6.0 e inferiores / Re: concurrencia
« en: Martes 16 de Septiembre de 2003, 17:03 »
Pues yo lo veo así de sencillo sin saber cuales son los motivos de bea, que si leo bien, no los dice (sólo pregunta cómo bloquear la bd que está en internet).

1- Bloqueo base de datos en internet.
2- Actualizo base de datos local.
3- Modifico base de  datos local.
4- Actualizo base de datos internet (en el paso 3, podría hacer las modificaciones en las dos bb.dd. simultáneamente)
5- Desbloqueo base de datos internet.

y ya tengo las dos bases de datos sincronizadas... ¿o no?

También podría seguir esta secuencia:

1- Renombro base de datos en internet.
2- Actualizo base de datos local.
3- Modifico base de  datos local.
4- Copio base de datos local a internet.
5- Elimino base de datos renombrada.

el truco está en ACTUALIZAR tablas y NO SUSTITUIR una base de datos por otra. Evidentemente si intento hacer la sincronización 'pisando' una con otro como Chiaravel dice, es completamente imposible sincronizar nada.

Abur.

890
Visual Basic 6.0 e inferiores / Re: concurrencia
« en: Martes 16 de Septiembre de 2003, 16:30 »
Citar
Originalmente publicado por chiaravel
Cualquier profesional de Sistemas te diria que carece de toda logica, no se puede realizar modificaciones en 2 copias de BD y que la informacion te quede bien..
 


Esto no es nada raro, sobre todo dependiendo del tipo de información que contenga la base de datos; normalmente no se modifica/añade/deletea un mismo registro en las dos bb.dd. Te diré que conozco casos en que las bases de datos están replicadas en varios sitios y las copias perfectamente sincronizadas (otra cosa es que la sincronización sea más o menos instantánea). Por ejemplo, imagina que yo soy una especie de corresponsal que añado eventos a una agenda en una base de datos y que en Pernambuco hay otro corresponsal haciendo lo mismo en otra base de datos, ¿qué problema hay en que en un determinado momento la información de los dos corresponsales se replique complementándose cada una en la misma base de datos?

Independientemente de la mejor o peor lógica o práctica, es perfectamente posible realizar la sincronización de datos entre dos bases de datos mediante bloqueos y actualizaciones... otra cosa es cómo implementarlo y lo complicado o fácil que sea. Utilizando 'triggers' si es posible, programando eventos que se desencadenen en determinado momento y que actualicen las bb.dd, programando actualizaciones, etc.

En fin, todo un mundo...

891
Visual Basic 6.0 e inferiores / Re: concurrencia
« en: Martes 16 de Septiembre de 2003, 15:53 »
Hola bea.

Aparte de la correcta observación que te hace Chiaravel sobre la lógica de tener bases de datos replicadas, por si tienes tus razones, te diré dos posibilidades, aunque no sé si serán válidas en tu caso:

Algunas bases de datos (DB/2 por ejemplo) reconocen sentencias SQL del tipo LOCK TABLE Tabla para bloquear una tabla en modo exclusivo o compartido. Si es tu caso, estás de suerte.

Otra forma, poco ortodoxa pero posiblemente efectiva, puede ser REDENOMINAR la base de datos. Eso sí, tendrías que supervisar los posibles errores que se producirían en los procesos que se encontrasen con que la base de datos tiene otro nombre.

A ver si estos comentarios te son de ayuda.

Suerte.

892
Visual Basic 6.0 e inferiores / Re: ListView
« en: Martes 16 de Septiembre de 2003, 15:42 »
Hola SpeedCad.

Puedes establecer un icono para cada una de las columnas del listview, pero para cada listItem del control, a si de primeras, sólo podrás establecer un icono para la primera columna, el listitem propieamente dicho, ya que el resto de columnas son miembros tipo texto de la colección SubItems del ListItem.

Para establecer un icono para encabezado de columna, utiliza la propiedad ColumnHeaderIcons para asignar una lista de imágenes, luego usa la propiedad Icon de cada ColumnHeader para asignar un icono de la lista.

Para intentar asignar una imagen para cada elemento en las columnas del control, tal vez se podría probar algo con apis, dibujando, literalmente, la imagen deseada en la posición correspondiente al elemento deseado. Esto supongo que es posible, pero así de buenas a primeras, no tengo idea de cómo hacerlo. Sería cuestión de experimentar o de crear tu propio ocx del estilo ListView... si hubiese tiempo...

Suerte.

893
Visual Basic 6.0 e inferiores / Re: Hacer doble click en un DataGrid
« en: Martes 16 de Septiembre de 2003, 15:30 »
Hola javiburgo.

Si estableces la propiedad Locked de las columnas a True podrás usar el evento DblClick del datagrid sin problemas.

A ver si esto te da xeito.
Sorte.

894
Visual Basic 6.0 e inferiores / Re: Graficar datos en 2 ejes
« en: Martes 16 de Septiembre de 2003, 14:51 »
Échale un vistazo a este tema http://foros.solocodigo.com/viewthread.php?tid=4922. Puedes fácilmente adaptar el código del ejemplo a tus necesidades.

Suerte.

895
Visual Basic 6.0 e inferiores / Re: iconos
« en: Martes 16 de Septiembre de 2003, 14:49 »
El icono de la aplicación será el del formulario que aparezca especificado en la pestaña 'Generar' de las propiedades del proyecto, en un cuadro desplegable en el que aparecen todos los formularios del proyecto.

Agur.

896
Visual Basic 6.0 e inferiores / Re: EXE ActiveX y DLL ActiveX
« en: Lunes 15 de Septiembre de 2003, 20:12 »
Hola SpeedCad.

La principal y evidente diferencia es que son tipos de archivos distintos: uno una biblioteca y otro un ejecutable. Bien salvada esta obviedad, tenemos que una DLL activeX es una biblioteca que proporciona componentes que pueden ser creados y reutilizados por otros procesos que cumplan los estándares de tecnología ActiveX, así en un cliente se ejecuta un programa que contiene una referencia a una DLL REGISTRADA en el propio equipo y que le permite crear ciertas clases.
Por otro lado un EXE activeX es un ejecutable pensado para ejecutarse en un servidor y que proporciona y gestiona componentes que pueden crear los posibles procesos clientes (fíjate que en un proyecto EXE activeX se pueden crear clases públicas, en un EXE normal no puedes). Los componentes se registran en los clientes de una forma distinta, usando  CLIREG32.EXE (creo que era así) en vez de REGSVR32.

Bueno, esto así a grandes rasgos...

897
Visual Basic 6.0 e inferiores / Re: ¿Alguien sabe si se puede solucionar este error?
« en: Lunes 15 de Septiembre de 2003, 19:42 »
Veo que usas DAO. Me temo que tendrás que usar una versión superior (4.algo, si no me equivoco, valdría).

Suerte.

Epps!
Veo que Chiaravel ya te ha respondido... pues eso, toma nota.

Suerte x2.

898
Visual Basic 6.0 e inferiores / Re: ¿Que signigica "compactar" una base de datos?
« en: Lunes 15 de Septiembre de 2003, 19:36 »
Eliminas el espacio asignado a objetos que ya no existen, a registros que has eliminado, elimina objetos temporales, etc, etc. El resultado es que la base de datos ocupa menos, Esto lo vas a notar sobre todo si la bd nunca ha sido compactada y cuenta con un elevado número de movimientos en registros.

Suerte.

900
Visual Basic 6.0 e inferiores / Re: comparar campos memo
« en: Lunes 15 de Septiembre de 2003, 15:27 »
Hola agfed.

Por partes:
Sobre un tutorial o similar de SQL creo que no te puedo recomendar ya que no conozco ninguno. Manual los únicos que he visto son de SQL/400 y son manuales de referencia más que de aprendizaje. Mis limitados cononcimientos en SQL provienen de la experiencia. Creo que una buena forma de iniciarse es mediante access: utilizas el generador de consultas que tiene y usas la vista SQL para ver la sentencia equivalente, y así poco a poco... ya verás que al final las sentencias más utilizadas siempre tienen la misma sintaxis. Eso sí, ten en cuenta que esta sintaxis puede variar de unas bases de datos a otras, aunque normalmente son diferencias poco importantes (del tipo usar UPPER en vez de UCASE y cosas por el estilo) según el motor de la base de datos pueden ser diferencias cualitativas (por ejemplo, con bb.dd. DB/2 puedes incluir bloques 'SELECT CASE' dentro de la sentencia SQL).

Sobre la segunda cuestión.
En un principio si usas ADO con el proveedor de acceso a datos de FOXPRO creo que no notarás diferencias con usar otro proveedor OLEDb, excepto posibles diferencias en la sintáxis de las sentencias SQL, como te comentaba antes, o de rendimiento o intrínsecas a la propia base de datos.

En fin... todo un mundo.

Suerte.

Páginas: 1 ... 34 35 [36] 37 38 ... 43