Los foros del Guille

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 55308 - Hola, muy buenas
IDAsuntoFechaNick 
55308 Hola, muy buenas28/05/11 19:00bohemio   
Hola a todos, que tal andamos? No se que decir, he escrito un mensaje hace un momentin y no le veo por ningun lado. No se si es que he hecho algo mal o es que primero pasa por el moderador y luego se cuelga. El caso es que por si acaso, si ya esta escrito y lo estoy repitiendo pido disculpas, pero soy todavia muy nuevo.

Mi pregunta, duda es la siguiente.

A nivel de formulario declaro dos arrays de controles
Public etiquetas() as Label
Public texto(<img src='imagenes/smiles/rielagrima.png' border='0' alt='rielagrima' />
     as TextBox

En el form1_load declaro un evento para un boton
AddHandler boton.Click,AddressOf subconexion

En el metodo subconexion
Dim btn as Button=DirectCast (Sender,Button)
realizo la conexion
hago la consulta
ReDim etiquetas (ds.Tables(0).Columns.Count)
ReDim texto (ds.Tables(0).Rows.Count,ds.Tables(0).Columns.Count)
if btn.Tag="conectar" then
se crean los controles label y TextBox sin problemas
else no se borran los controles
Sin embargo si lo hago de la siguiente manera si me funciona perfectamente
A nivel de formulario
Public etiqueta (7) as Label
Public texto (50,7) as TextBox
En el form1_load declaro un evento para un boton
AddHandler boton.Click,AddressOf subconexion
En el metodo subconexion
Dim btn as Button=DirectCast (Sender,Button)
realizo la conexion
hago la consulta
if btn.Tag="conectar" then
se crean los controles label y TextBox sin problemas
else se borran los controles
Parece como si cuando redimensiono los arrays de controles, no reconociera los controles y no los borra. Estoy haciendo algo mal?

No se si me he explicado.

Repito mis disculpas si es que he escrito dos veces el mensaje. Agradezco de antemano toda la atencion que me puedan prestar.

Hasta prontisimo
IDAsuntoFechaNick 
55319 Re: Hola, muy buenas (Resp: 55308)30/05/11 00:30evegalle   
Bueno, no soy moderador. Pero debes, en tu asunto, indicar sobre que trata tu consulta, lo mas descriptivo posible. Norma del Foro. Bye

Alien .Net


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
55320 Re: Hola, muy buenas (Resp: 55308)30/05/11 02:05bohemio   
Holas de nuevo, que tal seguimos? Bueno, me di cuenta de que no era muy explicito, pero es que no estaba seguro de si el otro mensaje se habia mandado o no, y en ese si estaba mas explicado el problema. Luego, cuando lo mande, pensando, me di cuenta de que era posible que no se hubiera mandado, pero ya no habia remedio. En fin hiper mega cosmico de sorrys.

Bueno, aqui va el resumen de lo que estoy haciendo. Lo primero decir que llevo no mas de 4 meses metido con visual basic, por supuesto tengo conocimientos en otros lenguajes de programacion asi que, lo basico lo tengo. Pues al lio. Estoy haciendo lo que en un futuro sera una aplicacion de gestion para una libreria. Estoy en los comienzos. Esta duda seria sobre el modulo que podria pertenecer a las busquedas de libros, editoriales, etc.

Pues bien, lo quiero hacer todo en tiempo de ejecucion y lo que se ve cuando ejecutas el form es:
cinco radio button con varias opciones de busqueda y un boton que le llamo conectar.
Obviamente, cuando introduces la busqueda, das al boton conectar y te sale el resultado. Ese resultado quiero que sean: etiquetas para las cabeceras de los campos y textbox para cada uno de los campos de la respuesta. Pues bien, ahora mismo, para que me funcione, lo tengo de la siguiente manera:

A nivel de formulario ( es decir, fuera de todo pero no del todo ) declaro muchas cosas, pero sobre todo, dos arrays de controles

Public etiqueta(7) as Label 
Public texto (50,7) as TextBox

En el form1_load Ademas de muchas otras cosas capturo el evento click del boton conectar

AddHandler boton.Click, AddressOf subnavegar

Y en el metodo subnavegar, por supuesto, ademas de mas cosas esto

Dim btn as Button=DirectCast (Sender,Button)
realizo la conexion con el conector OLEDB (todo sale correcto)
creo la consulta y la mando correctamente
if btn.Tag="conectar" Then
creo las etiquetas y los textbox sin problemas
cambio el tag del boton a desconectar
else
se borran los controles correctamente

Pues bien. Si lo hago de esta forma que voy a exponer a continuacion. Repito, que todo lo que digo que declaro, etc, etc, no me da ningun error, solo es en este punto lo que no funciona correctamente pero no da errores ni nada. sencillamente no hace nada. Pues lo hago de la siguiente manera

A nivel de formulario ( fuera de todo pero no del todo) ademas de muchas cosas esto

Public etiqueta () as Label
Public texto PARENTESIS,PARENTESIS as TextBox

En el form1_load capturo el evento del raton

AddHandler boton.Click,AddressOf subnavegar

En el metodo subnavegar

Dim btn as button=DirectCast (Sender,Button)
hago la conexion a la base de datos correctamente
lanzo la consulta correctamente
ReDim etiqueta (ds.Tables(0).Columns.Count)
ReDim texto (ds.Tables(0).Rows.Count,ds.Tables(0).Columns.Count)
if btn.Tag="conectar" Then
creo las etiquetas y los textbox correctamente
cambio el tag del boton a desconectar
else
NO SE BORRA NADA

Repito, que si declaro elementos en los arrays de controles al principio del todo. Todo funciona, se crean y se destruyen. Si redimensiono el array es como si no reconociera los elementos. El caso es que los crea correctamente. Estoy seguro que es por ese redimensionamiento dinamico. Agradeceria cualquier solucion.

Espero haberme explicado mas o menos claramente. Agradezco la atencion prestada.

Hasta prontisimo.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
55346 Re: Hola, muy buenas (Resp: 55308)01/06/11 10:59bohemio   
Hola gentes, que tal lo llevamos? Bueno, pues ya solucione el problema que tenia. Lo he solucionado utilizando la palabra clave ReDim Preserve. Lo explico resumidamente.

A nivel de modulo declaro los dos arrays de controles

Public etiquetas () as Label
Public texto PARENTESIS,PARENTESIS as TextBox

En el form1_load capturo el evento del raton

AddHandler boton.Click,AddressOf subnavegar

En el metodo subnavegar

Dim btn as Button=DirectCast (sender,Button)
me conecto a la base
     de datos como sea, yo en este caso he utilizado mysql server (tanto local como remoto),
     sql server y oledb, en los tres casos funciona. Por supuesto no los tres a la vez.
Lanzo la consulta correctamente
Y AQUI ESTA LA MADRE DEL CORDERO
ReDim Preserve etiquetas (ds.Tables(0).Columns.Count)
ReDim Preserve texto (ds.Tables(0).Rows.Count,ds.Tables(0).Columns.Count)
If btn.Tag="conectar" Then
creo las etiquetas y los textbox guays del paraguays
cambio el tag del boton a desconectar
Else
y se me borra todo YipiyaiJiiiiiiiiiiiiiiiiiiiiiiii

Pues eso es todo. Para los que no sepan que es la palabreja Preserve y lo que hace. Cuando creas un array con elementos o sin elementos si utilizas la palabra clave ReDim lo que haces es redimensionar el array, pero pones todos los elementos que hubiera en su interior al valor por defecto. Es decir, como si borrases todos los datos que tuvieras, no los borras del todo pero si los datos en si. Al utilizar la palabra ReDim Preserve conservas los datos del interior. Eso es todo. Espero que a alguien le sirva la solucion.

Hasta prontisimo


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 12/06/2026 07:56:40 GMT