Hola
Como se haria para que cuando yo seleccione una provincia que tengo en un combo, me aparezcan la ciudades que tengo asignadas a ella en otro combo
Saludos
| |||
Respuesta: Datos de combo a combo Hola Depende de donde tengas los datos, si los tienes en una BD, con una consulta SQL en un recordset y luego recorrerla llenando el 2º combo. Si no los tienes guardados en ningún sitio, no te queda mas remedio que con un select case ir añadiéndolos al combo de uno en uno
Código vb:
Ver original --Saludos-- |
| |||
Respuesta: Datos de combo a combo Hola En ese caso es la misma idea pero trabajando con un recordset en el evento click del combo1
Código vb:
Ver original --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Hola Yo lo estaba haciendo asi dado que la base de datos es de acces:
Código vb:
Ver original El combo de ciudad esta vacio cuando se inicia la aplicacion, cuando hago click en una provincia me aparece todas la ciudades que tengo(hay esta echa la mitad), lo k me falta es un Where en la sentencia y no se si algun if pero como ponerlo. saludos pd:he probado el tuyo y lo he adaptado al mio y no me iba no se si sera porque lo puse mal, pero te dejo el mio que es el k yo entiendo mas espero que no te importe. |
| ||||
Respuesta: Datos de combo a combo Una cosa que se me olvido decir no se si tiene importancia o no, pero los campos que tiene ciudad son : idciudad(autonumerico)idprovincia(se asigna automaticamente desde otro form en el que inserto los datos) y ciudad |
| ||||
Respuesta: Datos de combo a combo He echo esto pero me da error:
Código vb:
Ver original Me señala el objeto marcado y dice: No se han espicificado valores para algunos de los parametros requeridos saludos |
| |||
Respuesta: Datos de combo a combo Hola No entiendo que es "Options:=adCmdText", que intentas pasar al recordset?. Además veo que añades los datos al combo1, no sería al combo2? --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Hola es el combo uno porque provincias esta en el combo2 y ciudad en el combo1 el "Options:=adCmd" yo la verdad es que tampoco se muy bien para que sirve pero siempre lo pongo, he mirado un comentario que hay en un libro y dice que abre el conjunto de registros. Si esto no te aclara nada dime como lo harias tu pero con una base de datos de acces y no de sql. Saludos y gracias por estar ayudandome |
| |||
Respuesta: Datos de combo a combo Hola Si provincias esta en combo2, creo que tienes mal la select ya que pones provincias = combo1 y debería de ser combo2. Además quita "Options:=adCmdText" y pruba. P.D.: Que la bd sea access o SQL, en realidad no cambia casi nada, solo la cadena de conexión a la bd y alguna cosilla en las select, lo que ocurre es que hay distintas formas de hacerlo, por ejemplo, para abrir el recordset lo puedes hacer en una sola linea Cita: Es exactamente lo mismo que haces tu en tu código pero de otra forma.rsCiudad2.Open "select ciudad from ciudad2 where provincias = '" & Combo2.Text & "'", cnPrueba, adOpenStatic, adLockOptimistic --Saludos-- --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Me sigue dando error pero ahora (en lo marcado):
Código vb:
Ver original |
| |||
Respuesta: Datos de combo a combo Hola Tienes el recordset bien declarado y la conexión a la bd (cnPrueba) bien declarado y conectado?. El error que te da sigue siendo el mismo? (No se han espicificado valores para algunos de los parametros requeridos) Revisa también si la sentencia SQL es correcta (los campos tienen esos nombres,...) P.D.: Al cambiar el código, y poner todo el recordset en una sola linea, las lineas "With rsCiudad2" y "End With" te sobran --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Si quito el with rsCiudad2 y el end with me da error de referencia no valida y sin clasificar. Ahora he echo esto y me da error: No se encontro el elemento en la coleccion que corresponde con el nombre o el original de pedido y me señala (***):
Código vb:
Ver original He probado cambiando rsCiudad2!ciudad a rsCiudad2!idprovincia o id ciudad y me quita el error pero lo que añade son los id de los que tengo en la base de datos. Cita: Si porque la demas cosas que he echo con esa conexion me van perfectamente te lo pongo aqui para que lo veas:Tienes el recordset bien declarado y la conexión a la bd (cnPrueba) bien declarado y conectado?.
Código vb:
Ver original Saludos Última edición por Sergio18; 28/04/2010 a las 02:10 |
| ||||
Respuesta: Datos de combo a combo Olvidate de lo del error no se porque lo he puesto, he puesto los datos de provincias en ciudad2, la mañana me afecta. Cita: Si tambien acabo de mirar eso y de mede provincias tedrias que ser idprovincia.Revisa también si la sentencia SQL es correcta (los campos tienen esos nombres,...) He puesto esto y me dice : "No se puede utilizar esta conexion para realizar esta operacion.Esta cerrada o no es valida para este contexto"
Código vb:
Ver original Nota: Los campos de ciudad2 son : idciudad,idprovincia y ciudad Saludos |
| ||||
Respuesta: Datos de combo a combo si esta abierta te pongo todo el codigo:
Código vb:
Ver original saludos |
| |||
Respuesta: Datos de combo a combo Hola Creo que la linea de la select no es correcta Cita: Debería de ser:.Open "select ciudad from ciudad2 where idprovincia = '" & Combo2.Text & "', cnPrueba, adOpenDynamic, adLockOptimistic"
Código vb:
Ver original Es decir, después de la comilla simple tienes que poner las dobles comillas, y no después del adLockOptimistic P.D.: Casi me quedo ciego revisando el código, espero que sea de esto --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Jjajaja yo creo que tambien estoy a punto de quedarme ciego, la comilla se me pusieron solas hay, ya lo he cambiado poniendo tu codigo pero me da otro error diferente: "No coinciden los tipos de datos en la expresion de criterios" y me señala el codigo del ".open "Select...." Siento molestarte tanto pero te lo agradezco mucho Saludos |
| |||
Respuesta: Datos de combo a combo Hola Creo que puede ser un error en el concepto de la SQL, que tipo de datos guardas en idprovincia, porque si guardas valores numéricos la sentencia SQL tiene que ir sin comillas simples, es decir: - Valores texto --> entre comillas simples - Numeros --> Sin nada - Fechas entre almohadillas Cita: Pero luego viene el problema de la que tienes en el combo2 que si es texto, no lo puedes comparar con número.idprovincia = " & Combo2.Text , cnPrueba, adOpenDynamic, adLockOptimistic --Saludos-- |
| ||||
Respuesta: Datos de combo a combo El id es numerico y proviene de unos datos que inserto yo en otro form que he puesto en este foro se llama 'insertar y añadir' (a lo mejor te sirve de algo), y en el combo efectivamente es numerico. Yo estoy echo un lio Saludos |
| |||
Respuesta: Datos de combo a combo Si los dos valores son numéricos (el de la tabla y el del combo) no hay ningún problema, la select sería sin las comillas simples Cita: CONSEJO: Si tienes dudas con la select, lo mejor es guardar la select en una variable de texto, poner un punto de interrupción y ver el valor que toma, luego copias esa consulta en access y la ejecutas..Open "select ciudad from ciudad2 where idprovincia = " & Combo2.Text, cnPrueba, adOpenDynamic, adLockOptimistic --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Creo que te referias a esto no estoy muy seguro te pongo lo que he añadido:
Código vb:
Ver original El seguno select le he puesto una interrupcion y me ha dado valor 0 y me ha saltado un error : "El valor EOF es true o el actual registro se elimino, la operacion solicitada requiere un registro actual" Saludos |
| |||
Respuesta: Datos de combo a combo Ahora si que me he perdido del todo !!!, no entiendo nada del nuevo código, en la 1ª select comparas ciudad con el valor del combo2, cuando creía que lo que necesitas es llenar el combo con ciudades, no entiendo para nada lo que haces con el bucle ese Cita: De donde a salido la variable idprovincia?, el bucle no tiene sentido, no avanzas registros del recordset, y si avanzase estarías machacando continuamente la misma variable, la segunda select también me pierdo,...Do Until rsCiudad2.EOF() idprovincia = rsCiudad2.Fields(0) Loop En serio, creo que lo estamos haciendo más difícil de lo que realmente es. |
| ||||
Respuesta: Datos de combo a combo He declarado una variable como bien has visto, y la relleno con el select. Cita: Esto esta mal es asi: Do Until rsCiudad2.EOF() idprovincia = rsCiudad2.Fields(0) Loop Cita: Es que me acaba de dar una pista un compañero del trabajo y me dijo que era parecido a lo que yo hice en "insertar y añadir" y lo he puesto mas o menos asi, si no lo entiendes ponme tu un codigo o algo de como lo harias porque es que me estoy estresando y creo que tu tambien xd.If Not rsCiudad2.EOF() Then idprovincia = rsCiudad2.Fields(0) End If Bueno y ahora te pongo el codigo de como lo llevo, ahora mismo esta 1/5 echo porque si pongo la provincia "Madrid" me sale una ciudad pero solo una, y si selecciono otra (aunque tenga datos) me marca el error (***): El valor EOF es true o el actual registro se elimino, la operacion solicitada requiere un registro actual"
Código vb:
Ver original saludos y perdon por estresarte pd: Una cosa a los comentarios si ves que no coinciden no les hagas caso porque se me olvidan borrarlos y hasta que lo termino no pongo los nuevo Última edición por Sergio18; 28/04/2010 a las 05:41 |
| |||
Respuesta: Datos de combo a combo Hola Dime que tablas estas utilizando en access y un ejemplo de los datos que contienen y si puedo, a la tarde intento crear un ejemplo. --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Las tablas son: Provincias: idprovincias,provincias Ciudad2: idciudad,idprovincias,ciudad Las otras dos que tengo no hay que utilizarlas, en provincias tengo todas las provincias de España y en ciudad2 la Idprovincia que la obtengo desde otro form , haciendo que yo ponga la ciudad (en un text) y la provincia (en un combo cargado de la tabla provincias)y desde un msflexgrid me añade la ID de la provincias de mede el nombre, y ahora lo que tengo que hacer. (Te lo digo por si te sirve, tambien te pongo el codigo que utilizo para hacerlo a lo mejor asi te da una idea)
Código vb:
saludos Ver original |
| |||
Respuesta: Datos de combo a combo Hola Bueno ya esta !!!, creo que he tardado menos haciendo el ejemplo que todo lo que llevamos escrito aquí. El código completo es el siguiente:
Código vb:
Ver original Añado el ejemplo comprimido por si lo quieres ver en: http://www.megaupload.com/?d=PECP4E3G Si tienes alguna duda (no he añadido comentarios) me lo dices, aunque creo que esta muy reducido y claro. Puede que tuvieses el problema con la sentencia SQL, revisa el manual de las sentencias Select con dos tablas o más (inner join) --Saludos-- |
| ||||
Respuesta: Datos de combo a combo Hola He adaptado tu codigo para que se adapte al mio, la sentencia sql no me iba y la he cambiado 2 cosas y lo que hace es añadir las provincias de mede las ciudades, y he estado probando, otra combinaciones y o me salen las provincias o me da errores. Te pongo el codigo:
Código vb:
Ver original Saludos y no sabes cuanto te agradezco que me ayudes tanto |
| ||||
Respuesta: Datos de combo a combo Otra cosa que me acabo de dar cuenta, el codigo del form no hace falta porque lo que hace es añadir provincias al combo1 y he probado cambiar el "select provincias from provincias" por "select ciudad por ciudad2" y no hace nada, el codigo que vale es el del combo click saludos |
| ||||
Respuesta: Datos de combo a combo Acabo de hacer esto en el form y no se porque solo me sale Alcorcon como ciudad te lo dejo aqui
Código vb:
Ver original saludos |
Etiquetas: |