sentencia read table entre tablas internas
buenas tardes,

estoy usando un read table y un loop entre dos tablas internas y tengo entendido que con el sy-subrc puedo sacar lo que “concuerda” entre las dos tablas para mostrarlo pero…como hago para que me muestre solamente lo que no concuerde entre las dos tablas internas, por ejemplo.

tabla …
el for all entries es una sentencia que se utiliza para obtener la data de una tabla (en este caso vbfa) usando como parametros de entrada todos los registros de una tabla en particular (en este caso t\_vbak), en otras palabras en la sentencia se buscan todas las facturas generadas (se obtienen de la…
El reporte usa los datos de una tabla abierta para imprimir; la información que muestras en el grid también obtiene datos de una tabla, ya sea que sea un Select - SQL o una tala filtrada, por lo tanto puedes hacer el Reporte perfectamente con los datos del grid; solo tienes que hacer referencia a la misma tabla o cursor que tengas activo.

1. Seleccionas la tabla o cursor que tengas activo.

2. Usas Report Form <NombreDelReporte>

Ten presente que el Reporte si se refiere a los datos de la tabla (por ej. así: Tabla. Campo) y tu Cursor o Tabla (del grid) tiene un nombre diferente te dará error. Funcionaria con la fórmula concatenar, pero así la estas usando mal.  
Tendrías que en la columna c, concatenar a y b, y luego en otra celda:  
la formula =CONTAR.SI(C:C;"A0").  
La otra, para no concatenar en la columna C, seria hacer una fórmula personalizada.  
Si te interesa así, te digo como hacerla, si no sabes claro.  
Carlos Leal Tienes que usar la función BUSCARV para que en función de un valor busques en la primera columna de tu otra tabla, e indicándole el número de columna consigas el dato deseado.

Otra opción es usar las funciones INDICE e COINCIDIR.

En Internet y Youtube hay muchos tutoriales, el propio Excel tiene también ejemplos.

Desafortunadamente con la información que proporcionas no veo como orientarte de manera más específica. básicamente, se crea una función de interfaz:public interface func { public out apply(in in); } y, a continuación, pasar una subclase anónima a través de su método.su método se podría aplicar la función a cada elemento en el lugar:public static void applytolistinplace(list list, func f) { listiterator itr = list.listiterator(); while (itr.hasnext()) { t output = f.apply(itr.next()); itr.set(output); } } // ... list mylist = ...; applytolistinplace(mylist, new func() { public string apply(string in) { return in.tolowercase(); } }); o crear un nuevo list (básicamente la creación de una asignación de la lista de entrada a la de salida de la lista):public static list map(list in, func f) { list out = new arraylist(in.size()); for (in inobj : in) { out.add(f.apply(inobj)); } return out; } // ... list mylist = ...; list lowercased = map(mylist, new func() { public string apply(string in) { return in.tolowercase(); } }); que uno es preferible depende de su caso de uso. si la lista es muy grande, en lugar de la solución puede ser la única solución viable; si usted desea aplicar a muchas funciones diferentes a la misma lista original para hacer muchas otras listas, usted va a querer la map versión. Como te va, te recomendaría que hagas la consulta de la siguiente manera para ver si es lo que estas necesitando:  
select campo1, campo2, campo3  
from tabla  
where campo1 like ('%expresion%') and campo1 like ('%expresion1%')   
Si esto no te resulta, dime que intentamos algún camino alternativo,  
Sin más,  
Leandro Si quieres unir dos consultas has de hacer una consulta UNION, sólo disponible en Access en vista SQL, la manera más coómda es la siguiente:  
1.- Haz la primera, en vista diseño, o vista SQL, "SELECT ..." (cadenaSQL1)  
2.- Haz una segunda, en vista diseño, o vista SQL. La pones en vista SQL y copias en el portapapeles la cadena SQL (CadenaSQL2).  
3.- Vuelves a la primera consulta, y en vista SQL, escribes UNION y pegas a continuación el SQL de la segunda, guardala con el nombre que quieras, y ya está.  
Te ha de quedar algo así:  
CadenaSQL1 UNION CadenaSQL2  
Según las contultas que pones en el ejemplo, algo así:  
SELECT Count([Preguntas].[pregunta1]) AS [Porcentaje Antes pregunta 1] FROM preguntas WHERE (((preguntas.pregunta1)="Antes"))  
UNION SELECT COUNT(*) FROM preguntas  
Has de tener en cuenta algunas cosas tales como que  
- La estructura de campos de ambas consultas ha de ser igual  
- Usando el AS mantiene el nombre de campo del primer SQL  
- Que elimina valores duplicados al estilo del GROUP BY  
- Aunque sueloe ser necesario, te recomiendo quitar los ; al final de cada SQL, deja sólo el último o se lo pone Access solo. Es más intuitivo al leerlo, y puede dar algún problema según las versiones e instalaciones de Acess. Si te explicas, el problema es que la función se tendría que aplicar a cada ciertos rangos y dependiendo de los datos en las celdas se podrá o no sumar.  
No entiendo por qué pones datos en esta forma, lo siento un poco desordenado. Para cuestiones de análisis es mejor que los datos estén continuos. Si lo que tienes son grupos de datos puedes utilizar la función =Sumar. Si() o =Contar. Si().  
Cualquier cosa me mandas un ejemplo de tu archivo y trato de orientarte. si vas al panel de control y buscas icono común del escritorio la búsqueda se reducirá a un elemento de la pantalla: mostrar u ocultar iconos comunes en el escritorio. desde ahí puedes elegir mostrar u ocultar la papelera de reciclaje, este pc, etc. si quieres tocar uno para que el otro toque la misma nota, soamente conecta el cable midi de la salida midi out a la entrada midi in del otro. el que tocas se llama master y el que recibe la señal slave.

ambas salidas de audio mándalas al mixer y listo.

pero esta configuración sólo te da un sonido de dos teclados al mismo tiempo. si quieres escuchar todo el poder midi consigue un programa secuenciador como cubase sx y una interface usb-midi. el xp10 es un multitimbral, esto significa que puede operar en modo multi sin problemas. podrías destinarle 8 canales midi independientes para que haga bajo, guitarra, percusión, cuerdas, trompetas o los sonidos que escojas, el canal 8 o 9 lo reservaría para caja de ritmos y los demás para el yamaha. con dos teclados un ordenador y la interface puedes tener tu orquesta electrónica.

la musica se escribe en cada track del secuenciador, la única diferencia es que debes canalizar cada sonido de cada teclado, midi usa 16 canales pero pueden ser expandidos por secuenciadores para que tengas 64 o más.

la salida de la interface va a midi in del xp10 y luego saca uno desde thru al midi in del yamaha. thru es una repetición de la señal que llega del secuenciador sin ser afectada por el circuito midi del primer esclavo. si la sacas desde out puede tener algún tipo de distorsión o ausencia de mensajes. Bueno amigos es muy simple fijate que tu Sd (no la micro) al costado izquierdo tiene una perilla donde de un lado dice lock.. correlo para el lado contrario...