OBJETIVO: El objetivo de este foro es el de divulgar MS Access y ayudar a los usuarios en la solución de dudas y consultas, siempre indicando el camino, para que el usuario aprenda, estudie y consiga caminar con las propias piernas. No espero nada a cambio (quizás tan sólo un gracias, ya que nadie me paga por hacer esto: gastar conexión, interpretar dudas, ubicar respuestas, en sintesis perder tiempo y/o dinero, sólo por la voluntad de ayudar) e intento siempre motivar al usuario a aprender, dando sólo guías o pistas y en algunos casos algún código completo. No soy de aquellos que gusta dar el código desarrollado y comentado, por el simple hecho de que eso lleva tiempo (no me sobra, ya que trabajo) y mi deseo es incentivarte a aprender. El hecho que exista este site gratuíto y que lo mantenga en forma diaria, no me obliga a contestar la dudas de los usuarios, y menos aún la de tener que dedicar mi tiempo a desarrollar códigos completos por la falta de delizadeza o exceso de abuso de algunos. Cómo mencioné anteriormente el objetivo es mostrarte el camino... "No soy favorable de dar pescado (leáse desarrollar código), sino de enseñar a pescar (leáse mostrar cómo desarrollar el código) , ya que así, sí tienes hambre sabrás pescar (leáse voluntad de aprender y crear tus propias aplicaciones) " Si no te gusta nuestra postura, eres libre de irte y no volver, ya que nada perderás (no has pagado nada). En cambio si lo que deseas es aprender y valorar el esfuerzo y tiempo de otros, estás convidado de por vida por acá!!!
 


  << Previous Topic | Next Topic >>Volver Indice  

Ayuda con variable y SQL

January 20 2004 at 3:12 AM
Alextroy  (no login)
de la dirección IP 147.84.254.200

 
Por favor alguien sabe como podria almacenar el resultado de una select en una variable para luego trabajar con ello. La select solo me devuelve un valor.Seria algo parecido a:

dim codigo as String
codigo=SELECT num FROM tabla;

Pero obviamente no es asi.¿Alguien puede escharme una mano? gracias

 
 Respond to this message   
AutorReply

(Acceso 101070)
Forum Owner
200.193.118.12

?

January 21 2004, 6:38 AM 

Alex:

Lo que quieres es que el conjunto de registros ( y sus campos) que surgen de una consulta (Select) sean concatenados en un \unico string??? Al go así como:

01,Zapato,8.45,02,Jeans,7.30... etc???

Para ello deberá abrir el recordset (Select ...)mediante el método OpenRecordset y una vez abierto el mismo recorrer uno a uno los registros concatenado sus valores.

te recomiendo verificar en el F1 dicho método y sus ejemplos

Saludos y Suerte




 
 Respond to this message   

(no login)
147.84.254.200

Ayuda con variable y SQL

January 26 2004, 3:38 PM 



Hola, lo siento pero no era eso lo que yo pretendia. Voy a ver si me puedo explicar mejor.

Tengo un formulario con 3 tablas (pcs, impresoras, monitores). En cada una de las tablas hay un campo llamado "codigo".
Lo que pretendo es hacer en el formulario un campo de texto (llamado "campo_busqueda") y un botón de llamada a un informe de la tabla. Hasta aqui bien.
Lo que yo pretendo es introducir manualmente un numero (que seria el codigo) en el campo de texto, y generar un codigo que me compare ese numero con el campo "codigo" de las tres tablas, para asi saber en que tabla se encuentra y que me llame a un informe de dicha tabla. Para ello quiero hacer una select e introducir el resultado de la select en una variable para poder trabajar con el facilmente (el resultado de la select será un solo código). Voy a poner el código que mas o menos pretendo utilizar.
------------------------------------------------------
dim cod as recordset
cod = ("SELECT codigo FROM pc WHERE codigo = forms! formulario!campo_busqueda")

----[con esto lo que pretendo es almacenar el resultado de la Select en "cod", obviamente asi no es como se hace. Es lo que pretendo averiguar]-----

if cod<>"" then
stDocName = "Lista_pc"
DoCmd.OpenReport stDocName, acPreview
else
cod = ("SELECT codigo FROM monitores WHERE codigo = forms!formulario!campo_busqueda")
en if
if if cod<>"" then
stDocName = "Lista_monitores"
DoCmd.OpenReport stDocName, acPreview
else
cod = ("SELECT codigo FROM impresoras WHERE codigo = forms! formulario!campo_busqueda")
if
if cod<>"" then
stDocName = "Lista_impresoras"
DoCmd.OpenReport stDocName, acPreview
else
msgbox ('Ese codigo no pertenece a ningun recurso')
end if
------------------------------------------------------
No se si esta muy claro, de todas formas resumiendo lo que hago es introducir el resultado de la SELECT en "cod" y luego comprobar si "cod" esta, vacio. Si no lo está me llama al informe correspondiente, es decir, el de la tabla en la que la select si ha devuelto algun valor, y si "cod" está vacio me realiza la misma select pero en otra tabla, y asi repitiendo la operación.

Epero que alguien pueda entender lo que he escrito porque sinceramente no lo entiendo muy bien ni yo. Pero en fin, agradeceria vuesta ayuda. Hasta pronto.

 
 Respond to this message   
R.Roca
(no login)
200.193.118.12

OpenRecordset

January 26 2004, 6:01 PM 

Alex:

Utilizadno le método OpenRecordset puedes abrir esa consulta y mediante el métodos FindFirst ubicas si existe le registro deseados Con NoMatch verifica si hubo o no coinidencia. Si hubio abre el informe , sino pasa al siguiente

+ Fácil te creas 3 consultas con su criterio respectivo y mediante DCount verificas cual devuelve un resultado > 0

Saludos y Suerte


 
 Respond to this message   

(no login)
147.84.254.200

Ayuda con variable y SQL

January 28 2004, 12:50 PM 

Muchas gracias R.Roca pero tendras que explicarmelo un poco mas claro. Yo antes sabia hacerlo con VB6 pero de eso ya hace algún tiempo y tengo que refrescarme la memoria. Ademas creo recordar que cuando manejaba el VB6 no era del todo igual al editor que trae Access ¿o me equivoco?. Bueno, el caso esque no se como crear el Openrecordset, ni el recordset en Access. si me lo pudieses decir de forma clara o con algun ejemplo te lo agradeceria.

Muchas gracias.

 
 Respond to this message   

(no login)
147.84.254.200

Ayuda con variable y SQL

January 28 2004, 12:51 PM 

Muchas gracias R.Roca pero tendras que explicarmelo un poco mas claro. Yo antes sabia hacerlo con VB6 pero de eso ya hace algún tiempo y tengo que refrescarme la memoria. Ademas creo recordar que cuando manejaba el VB6 no era del todo igual al editor que trae Access ¿o me equivoco?. Bueno, el caso esque no se como crear el Openrecordset, ni el recordset en Access. si me lo pudieses decir de forma clara o con algun ejemplo te lo agradeceria.

Muchas gracias.

 
 Respond to this message   

(no login)
147.84.254.200

Ayuda con variable y SQL

January 28 2004, 3:12 PM 

Ok, por fin he conseguido meter el valor de la select en una variable. Ha sido muy facil usando la funcion "Dlookup". Ahora se me presenta otro problema, y esque si el valor de lo que me devuelve el Dlookup es nulo me da un error. Sabriais decirme como solucionarlo??? Esta es la linea que he escrito.

reg = DLookup("[codigo]", "pcs", "[codigo] = forms!formulario_principal!campo_busqueda")

Gracias a todos

 
 Respond to this message   

(Acceso 101070)
Forum Owner
200.180.11.182

Error

February 2 2004, 6:20 AM 

Alex:

Si deseas saber si un recordset tiene registro bastará DCount. Si derseas obetener el valor del campo del registro devuelto usa Dlookup.

Para evitar un error por no existir valor, crea un control de error donde en caso de que dicho valor sea nulo pase a la siugiente línea.

saludos y Suerte

 
 Respond to this message   
Current Topic - Ayuda con variable y SQL
  << Previous Topic | Next Topic >>Volver Indice  
Find more forums on MS Access DatabasesCreate your own forum at Network54
 Copyright © 1999-2009 Network54. All rights reserved.   Terms of Use   Privacy Statement  
"Los mayores best sellers son los Manuales y Archivos de Ayuda, pero ellos son como los libros de Stephen Hawking: muchos compran, pocos leen y muchos menos entienden alguna cosa."