Concatenar/descontar en horizontal casillas sudoku |
Responder |
Autor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Tema: Concatenar/descontar en horizontal casillas sudoku Enviado: 01/Abril/2020 a las 20:47 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Buenas noches a todos.
Me explico más ampliamente. Se me ocurre ponerme a crear un programa de sudokus. Del estilo 9 x 9. (81 casillas) Uso 9 registros y tengo 9 campos (n1,n2...,..,n9) Hago un formulario continuo y en el pie del informe le pongo 9 (casillas/controles de texto) para que me "concatene" los números que ya existen (así lo pongo en el origen del control del control de texto): =Nz(n1) & Nz(nn2).... & Nz(n9). Con esto saco las sumas verticales de los número que ya existen puestos (lógicamente no aparecen los que no existen en las casillas en blanco. Las no ocupadas de números). Hasta aquí ningún problema, todo perfecto, pero.... claro, quiero mas... y sigo. Con código, ya consigo que además, en otras 9 casillas, (también colocadas en el pie del informe), muy simple tengo una varialbe NumPendPoner="123456789", a la que con Replace y dentro de un For, le voy quitando los números que existen en las Casillas anteriores, al final se me queda una variable NumPendPoner (dependiendo de las casillas ocupadas) de los números que aún no están puestos en esa columna. Esa variable se la asigno a las (casillas/controles de texto) correspondientes y listo. Bien llegado hasta aquí, si os fijáis en el título del asunto, puse: Concatenar/descontar...., es por la razón de que no se (no lo he encontrado) si existe la posibilidad o la función, para hacerlo también automáticamente al igual que en las primeras (casillas/controles de texto), las que concatenan los números que ya están. Pero, claro, todavía quiero mas... y digo, si me los concatena perfectamente abajo en el pie del informe, voy a ponerle una casilla/control de texto, en las horizontales.... (¿cómo he dicho?), no puedo ponerle nada mas que una (casilla/control de texto) por fila, bueno, conociéndome, voy y pongo una casilla/control de texto, para que concatene también y.... las concatena, igualmente sin problema. Puesta una casilla y obtenidos 9 resultados. Ya os imagináis, ¿no?, cuando he puesto otra mas al lado para que me las "descontase" de las otras, tan solo actúa en la primera horizontal (en el primer registro, para hablar en Access). Bueno, aquí me he encayado.... Ojo sí tengo que decir que también he encontrado la solución para esta última cuestión, es la de utilizar en el pie del informe otros tantos controles de texto y hacer lo mismo que con el otro For anterior, un nuevo For para que me quite las horizontales existentes. Repito, ignoro si hay otra manera de hacerlo y es por eso que he expuesto lo mas explicado posible el problema. Lo mismo y existe, pero lo desconozco. Si alguien tiene alguna idea, la probaré. Gracias por vuestra paciencia al leer el tocho que he puesto. Saludos. Editado por VIMIPAS - 01/Abril/2020 a las 20:51 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pitxiku
Colaborador Unido: 27/Septiembre/2017 Localización: En mi casa Estado: Sin conexión Puntos: 1510 |
Enviado: 01/Abril/2020 a las 22:32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Has probado a colocar esos cuadros de texto como campos en una consulta que sirva de origen al formulario continuo? Lo que tengas ahora te puede servir de base como una función pública para calcular el campo, y luego usas un Requery para actualizar datos.
Otra posibilidad es tener ese campo en la tabla, y actualizar registros. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 01/Abril/2020 a las 23:56 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola buenas noches. Pitxiku, aquí dejo mi prueba:
SELECT sudokuCOPIADO.N1, sudokuCOPIADO.N2, sudokuCOPIADO.N3, sudokuCOPIADO.N4, sudokuCOPIADO.N5, sudokuCOPIADO.N6, sudokuCOPIADO.N7, sudokuCOPIADO.N8, sudokuCOPIADO.N9, sudokuCOPIADO.id_sudoku, sudokuCOPIADO.id, sudokuCOPIADO.Qdificultad, [n1] & [n2] & [n3] & [n4] & [n5] & [n6] & [n7] & [n8] & [n9] AS SIhay1, IIf(NZ([N1])>0,Replace("123456789",nz([n1]),"")) AS Expr1, IIf(NZ([N9])>0,Replace([EXPR1],nz([n9]),"")) AS EXPR2 FROM sudokuCOPIADO; Tan solo la he probado con el primer registro que es donde hay dos números, en N1 y N9. La extensión de la SQL es tremenda, ya que para esos dos números he debido poner el primer Replace en Expr1 y luego sobre Expr1 actuar de nuevo con un nuevo Replace en Expr2. Es decir que Expr1 tiene todos los que faltan menos n1 y Expr2 los que tenía Expr1 menos n9. Funcionar funciona, pero debo poner todos los Replaces (9) en los n1…n9 con su Nz para evitar errores. La idea es correcta, no había caído en ella, que por eso he abierto el hilo. De todas formas sigo abierto a si alguien sabe/quiere aportar algo más. Gracias Pitxiku. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 02/Abril/2020 a las 14:03 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola de nuevo.
Prueba terminada de Pitxiku:
No necesita el IIf: SELECT sudokuCOPIADO.N1, sudokuCOPIADO.N2, sudokuCOPIADO.N3, sudokuCOPIADO.N4, sudokuCOPIADO.N5, sudokuCOPIADO.N6, sudokuCOPIADO.N7, sudokuCOPIADO.N8, sudokuCOPIADO.N9, sudokuCOPIADO.id_sudoku, sudokuCOPIADO.id, sudokuCOPIADO.Qdificultad, [n1] & [n2] & [n3] & [n4] & [n5] & [n6] & [n7] & [n8] & [n9] AS Ptos, Replace("123456789",nz([n1]),"") AS Expr1, Replace(NZ([EXPR1]),nz([n2]),"") AS EXPR2, Replace([EXPR2],nz([n3]),"") AS Expr3, Replace([EXPR3],nz([n4]),"") AS Expr4, Replace([EXPR4],nz([n5]),"") AS Expr5, Replace([EXPR5],nz([n6]),"") AS Expr6, Replace([EXPR6],nz([n7]),"") AS Expr7, Replace([EXPR7],nz([n8]),"") AS Expr8, Replace([EXPR8],nz([n9]),"") AS PdPon FROM sudokuCOPIADO; Y lo que he hecho, puesto que no me permite desmarcar para que no se vean los Expr1... Expr8, es hacer otra consulta, sobre esta misma consulta, sin elegir los Expr1. Al final queda así:
SELECT Consulta1.N1, Consulta1.N2, Consulta1.N3, Consulta1.N4, Consulta1.N5, Consulta1.N6, Consulta1.N7, Consulta1.N8, Consulta1.N9, Consulta1.Ptos, Consulta1.PdPon FROM Consulta1; Por mi, satisfactorio. Gracias Pitxiku, por algo dicen que ven cuatro ojos más que dos. De todas formas lo voy a dejar abierto, un poco de tiempo, por si alguien tuviera alguna idea más. Saludos.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 02/Abril/2020 a las 17:34 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un Saludo.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 02/Abril/2020 a las 22:00 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Buenas noches.
Gracias Mounir.... para los que no saben como/porque/con que comerse la cabeza, como.... yo, por ejemplo. Una página Web a tener en cuenta. Saludos.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3849 |
Enviado: 03/Abril/2020 a las 14:25 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pues yo hice un sudoku en su día, pero en lugar de tantas complicaciones, me definí una matriz en memoria de 9x9 y lo hice todo ahí, en la pantalla solo capturaba/mostraba datos.
Creo que esa forma es mucho más fácil. Si lo encuentro lo publico.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
El Búho es un pajarraco
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 03/Abril/2020 a las 18:42 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola Luis.
En realidad fue mi primera idea, de hecho en mi programa de búsquedas donde se presentan búsquedas probables a lo que se esté buscando (dentro de funciones favoritas lo tengo colgado), utilizo una matriz para comparar si la palabra tecleada tiene alguna otra palabra próxima (en un rango del al 0 al 1, -el resto hacia arriba, 2..., etc. son descartadas-), en la base de datos... y es así como consigo la proximidad para presentarlas. No obstante, y este es mi punto débil (lo reconozco), me costó Dios y ayuda conseguir el programa para esas búsquedas por aproximación, pues no soy nada más que un simple aficionado y las cosas complejas (que por cierto, son por las que más me intereso), como digo, me cuestan y mucho. Es por eso que empecé con, para los sudokus, con un formulario en blanco y le coloqué las 81 casillas (ni formulario continuo, ni nada de nada), a pelo y sobre la propia pantalla, viendo (número a número, fila a fila, etc.) como lo iba montando (Msgbox para cada duda, etc.) y donde tenía los errores lo iba desmenuzando, como digo, poco a poco. Siguiente paso, ahora que ya mas/menos se como se hace, con registros. Ten por seguro que el otro siguiente paso será con matriz. Es por ello que te agradezco, Luis, que tengas a bien colocar aquí tu exposición, si la encuentras -como dices-. De hecho no he pedido que cierren el hilo precisamente por esto, que exista alguien que considere oportuno exponer cualquier método, como es tu caso. Nuevamente gracias. Por último: ¿Y si tras ver lo que tu expongas, Luis, me salto el paso intermedio = los registros? Saludos.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VIMIPAS
Colaborador Unido: 06/Enero/2006 Localización: ESPAÑA Estado: Sin conexión Puntos: 5462 |
Enviado: 27/Abril/2020 a las 23:43 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bueno, yo doy por concluido el asunto.
Tan solo me queda agradecer a todos los intervinientes su atención. Gracias aquí mismo a todos ellos. Por favor, pueden cerrar este hilo. Saludos |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gracias
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |