Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Aprendiendo Selec Case..

23 views
Skip to first unread message

PAKO

unread,
Apr 27, 2004, 6:37:34 PM4/27/04
to
Así es, estoy leyendo un libro en el cual hace referencia a la "Instrccion"
Selec case, el resultado es un codigo q segun la opcion de cuadro combinado
"OPCIONES", Abra el formulario correspondiente, Hasta ahi todo va bien lo q
no entiendo (y no lo explica el libro, pues lo da x entendido), es lo
siguiente, en el libro dice: La variable equivale a una clausula WHERE para
el metodo DoCmd.OpenForm q le indicara segun q condiciones debe abrir el
formulario indicado y viene el siguiente codigo.

Select Case OPCIONES
Case "COMPAÑIA"
DoCmd.OpenForm "Resultados x Compañia"
Condiciones
Case "SERIE"
DoCmd.OpenForm "Resultados x Transformador"
Condiciones
Case "PRUEBA"
DoCmd.OpenForm "Resultados X Prueba"
Condiciones
End Select

Alguien puede decirme a q se refiere esto, posiblemente hay + de una
solucion pero esta es la q estoy estudiando. Gracias x ayudarme


Búho

unread,
Apr 27, 2004, 7:02:06 PM4/27/04
to
Hola PAKO

La redaccion del libro no es muy exacta (La verdad que puede liar al lector
que se esta iniciando) , te explico

Lo que quiere decir ahí el autor es lo siguiente: Imaginate que tienes un
cuadro combinado con X entradas. Segun la entrada que escojas debe abrirse
un formulario u otro.
Eso es lo que explica el libro. Pero de clausulas Where nada de nada, no
tiene sentido emplear esa expresion en el ejemplo que plantea el libro.
--

Saludos desde Valladolid
Francisco Javier García Aguado
buho...@mvp-access.com
---
http://www.mvp-access.com/
http://www.mvp-access.com/foro
http://groups.msn.com/Access2000VisualBasic/
---
"PAKO" <redscorpi...@ESTOhotmail.com> escribió en el mensaje
news:uyi%23%23gKLE...@TK2MSFTNGP09.phx.gbl...


---
Mi antivirus te dice que no tengo virus (Al menos conocidos).
Saludos del Buho.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.667 / Virus Database: 429 - Release Date: 23/04/2004


PAKO

unread,
Apr 27, 2004, 7:27:16 PM4/27/04
to
Eso me desconcierta igualmente, pero entonces como podria hacer para q abra
los formularios unicamente con los resultados del cuadro de texto Busqueda,
pues en lugar de Condiciones pienso q va una instruccion q debe hacer lo
siguiente:
Decirle al formulario de resultados q muestre solo los registros q coincidan
con el cuadro de busqueda

Como lo hago? en pocas palabras abrir un formulario de resultados de
busqueda

"Búho" <pacoQU...@nemo.es> wrote in message
news:eprQmuKL...@TK2MSFTNGP11.phx.gbl...

-LoloGC-

unread,
Apr 27, 2004, 8:44:22 PM4/27/04
to
Hola:
Puedes probar a hacer lo siguiente:
Supongamos que tienes un formulario llamado "Seleccion_criterio", con un
cuadro de lista (llamémoslo Cuadro) que devuelve un código, y un botón que
en función de lo que elijas en el cuadro de lista, debe abrir un segundo
formulario (Resultados), mostrando unos registros u otros.
En el evento click del boton prueba a poner lo siguiente
Select Case cuadro
case 1
docmd.openform "Resultados",,,"codigo=1"
case 2
docmd.openform "Resultados",,,"codigo=2"
case 3
docmd.openform "Resultados",,,"codigo=3"
end select

Esto lo que hace es abrirte el formulario Resultados, filtrando por el campo
codigo, aunque no es muy buen ejemplo, ya que esto se puede resumir en una
sola línea.
docmd.openform "Resultados",,,"codigo=forms!Seleccion_criterio!cuadro"

Espero haberte servido de ayuda. De todas formas, si tienes novedades, no
dudes en comentarlas.
Un saludo

"PAKO" <redscor...@QUITAESTOhotmail.com> escribió en el mensaje
news:uex7S4KL...@tk2msftngp13.phx.gbl...

PAKO

unread,
Apr 28, 2004, 11:38:41 AM4/28/04
to
Bien, creo q el problema q me esta stresando es muy facil (para algunos)
pero no para mi, este es el codigo pero no he logrado q tome el valor de
busqueda de "Textobusqueda" y al abrir el formulario solo devuelva los
registros q tengan el mismo valor en el campo "NombreEmpresa", lo q hace con
este codigo es pedirme el valor (con un cuadro de mensaje) y aunq si busca y
devuelve correctamente los registros q le pido, no quiero q el valor lo pida
de esta manera, quiero q lo tome del Cuadro "Textobusqueda", A mi punto de
vista es cuestion de Ordenar los parametros...

Gracias...

Select Case OPCIONES
Case "COMPAÑIA"

DoCmd.OpenForm "Resultados x Compañia", , ,
"NombreEmpresa=Textobusqueda"


Case "SERIE"
DoCmd.OpenForm "Resultados x Transformador"

Case "PRUEBA"
DoCmd.OpenForm "Resultados X Prueba"

End Select
"-LoloGC-" <pan...@mixmail.com> wrote in message
news:uw9p1nLL...@TK2MSFTNGP11.phx.gbl...

-LoloGC-

unread,
Apr 28, 2004, 3:49:17 PM4/28/04
to
Hola:
Prueba a poner la ruta completa de "Textobusqueda"
(forms!NombreFormulario!Textobusqueda), a ver si así funciona, porque cuando
te pide que introduzca el valor para la variable, es que no la localiza.
Tienes que tener en cuenta que para que te funcione correctamente,
textobusqueda tiene que devolverte el nombre de la empresa, y no es código
(o sea, que la propiedad columna dependiente del cuadro combinado ha de ser
la que corresponde con el nombre de la empresa)
Un saludo, y coméntame si te funciona.

"PAKO" <redscorpi...@ESTOhotmail.com> escribió en el mensaje

news:O72yglTL...@TK2MSFTNGP11.phx.gbl...

PAKO

unread,
Apr 28, 2004, 4:07:19 PM4/28/04
to
Si, gracias ya lo he resuelto era eso exactamente, tenia q poner la ruta
completa, ahora sigo con el otro paso (del formulario de busqueda) el cual
se refiere a usar la instruccion LIKE para q no tenga q poner el nombre de
la empresa EXACTAMENTE COMO O CAPTURE y pueda darme coincidencias, Puedes
darme alguna sugerencia del codigo q debo usar... Tu ayuda me fue muy
valiosa Gracias...

"-LoloGC-" <pan...@mixmail.com> wrote in message

news:uqEzsnVL...@TK2MSFTNGP09.phx.gbl...

Victor Delgadillo

unread,
Apr 28, 2004, 4:12:22 PM4/28/04
to
Con like puedes usar dos clases de 'comodines': el asterisco (*) que
reemplaza uno o varios o ningun caracter, y el (?) que reemplaza un
caracter. Asi puedes armar tu Like "*ameri?o" lo que sera equivalente entre
muchos otros a americo, amerizo, camerizo, paramerito, etc.
Like es un criterio en una consulta.

--
Victor Delgadillo [MVP Access]
Miami, Florida

Consultas al grupo, asi todos nos beneficiamos.

_
"PAKO" <redscorpi...@ESTOhotmail.com> wrote in message
news:eYUcmxVL...@tk2msftngp13.phx.gbl...

E. Feijoo

unread,
Apr 28, 2004, 4:28:23 PM4/28/04
to
Observo que estas mas liado que la sandalia de un romano....

Veamos, el Select Case, es una forma de 'tomar decisiones' como lo es el If ... Then... Else...

En el, se evalúa un parámetro y se toma la decisión en función de su valor, se supone que este parámetro no es alterado en el transcurso del proceso, es eficaz y rápido, pues solo se evalúa una vez al principio.

Veamos, tu comentas que el cuadro donde seleccionas el 'valor para el parámetro', (tu combo), se llama 'Textobusqueda' ... y sin embargo evalúas 'OPCIONES' ¿?

Lo natural es que evaluases 'Textobusqueda' y mejor (ya que se encuentra en el propio formulario) lo denominases 'Me.Textobusqueda', visto esto tu Select Case, quedaría así (mas o menos)

Select Case Me.Textobusqueda
Case "COMPAÑIA"
DoCmd.OpenForm "Resultados", .... y según prefieras poner el filtro, actúas de forma adecuada
Case "SERIE"
DoCmd.OpenForm "Resultados", ......
Case .....
...........
Case Else (si no haya coincidencia tomara este ..)
......................
End Select

Observo que comparas un dato que tomas del cuadro combinado (y parece ser un texto) sin indicárselo así al filtro, debería ser así:
"NombreEmpresa= '" & Me.Textobusqueda & "'"
Pues los textos deberían ir encerrados entre comillas simples.
Y ahora una simple pregunta.... ¿es el texto el valor 'real' devuelto por el combo ?.. pudiera ser un ID, y si fuera así, el valor a 'Evaluar', debería ser la columna adecuada del combo .... ==> Me.Textobusqueda.Column (x)

Un saludo E. Feijoo

"PAKO" <redscorpi...@ESTOhotmail.com> escribió en el mensaje news:O72yglTL...@TK2MSFTNGP11.phx.gbl...

PAKO

unread,
Apr 29, 2004, 12:13:00 PM4/29/04
to
Primero q nada, agradezco tu interes...

Aclaro, Evaluo Opciones pues "Opciones" Es un cuadro combinado con las
opciones COMPAÑIA, .....ETC (ya comentadas). Pues mi formulario de busqueda
tendra la opcion de buscar x compañia, Prueba Etc...

De cualquier modo, la opcion CaseElse me interso para poner q si el cuadro
de texto esta en Blanco (Sin ningun valor) envie un mensaje d error..
Gracias

"E. Feijoo" <e.feijoo()retemail.es> wrote in message
news:#Awsb9VL...@TK2MSFTNGP10.phx.gbl...

anon...@discussions.microsoft.com

unread,
May 6, 2004, 11:28:42 AM5/6/04
to
Select Case significa que puedes tener una tabla y cada
elemento de tabla es un resultado diferente. Ejemplo :
si eres "hombre" tratamiento debe ser "Sr."
si eres "mujer" tratamiento debe ser "Srta."
Si eres "otro" tratamiento debe ser "raro."
No se si me he explicado bien.

>-----Mensaje original-----

>.
>

Victor Delgadillo

unread,
May 6, 2004, 1:13:09 PM5/6/04
to
Mas bien en vez de tabla, se trata de 'evaluar' una variable y tomar accion
dependiendo del valor de esta.

Por ejemplo, si la varible [genero] = "hombre", podemos crear un Select Case
asi:

Select Case [genero]
Case "mujer"
strResultado = "Usuario es mujer"
intFactor = 1
Case "chico"
strResultado = "Usuario es chico"
intFactor = .5
Case "hombre"
strResultado = "Usuario es hombre"
intFactor = 2
Case Else
' aqui cualquier otra cosa que no este cubierta arriba
strResultado = "Usuario indeterminado"
intFactor = 0
End Select

Como ves, con el select case puedes valorar varias variables y tomar
decisiones en una forma estructurada.

--
Victor Delgadillo [MVP Access]
Miami, Florida

Consultas al grupo, asi todos nos beneficiamos.

_
<anon...@discussions.microsoft.com> wrote in message
news:95d301c4337e$d02e7d20$a301...@phx.gbl...

PAKO

unread,
May 6, 2004, 6:23:53 PM5/6/04
to
Gracias a ambos x la explicación, me ha quedado claro.


"Victor Delgadillo" <victo...@NOSPAMyahoo.com> wrote in message
news:ObKHp14M...@TK2MSFTNGP12.phx.gbl...

0 new messages